From duke at openjdk.org Thu May 2 19:17:05 2024 From: duke at openjdk.org (duke) Date: Thu, 2 May 2024 19:17:05 GMT Subject: git: openjdk/loom: fibers: 56 new changesets Message-ID: <490cdd90-3318-44ef-84d5-0e8ea6123ce4@openjdk.org> Changeset: 4e5c25ee Author: Joe Darcy Date: 2024-04-28 22:55:44 +0000 URL: https://git.openjdk.org/loom/commit/4e5c25ee43d4ec31ed5160fd93a2fd15e35182f8 8331108: Unused Math.abs call in java.lang.FdLibm.Expm1#compute Reviewed-by: naoto, bpb, rgiulietti ! src/java.base/share/classes/java/lang/FdLibm.java Changeset: fb63cbad Author: Adam Sotona Date: 2024-04-29 07:12:46 +0000 URL: https://git.openjdk.org/loom/commit/fb63cbadb419f1de91acae9fc66be258e1d3d214 8330684: ClassFile API runs into StackOverflowError while parsing certain class' bytes Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: c615c18e Author: Roland Westrelin Date: 2024-04-29 07:36:14 +0000 URL: https://git.openjdk.org/loom/commit/c615c18e9f92dc9fdc2db512fbd47fd255f7fe86 8330158: C2: Loop strip mining uses ABS with min int Reviewed-by: shade, kvn, dlong, mbalao ! src/hotspot/share/opto/loopnode.cpp Changeset: 4edac349 Author: Matthias Baesken Date: 2024-04-29 07:58:18 +0000 URL: https://git.openjdk.org/loom/commit/4edac349a5d695ce7923344ad5ad0400842241eb 8331167: UBSan enabled build fails in adlc on macOS Reviewed-by: stuefe, lucy ! src/hotspot/share/adlc/adlparse.cpp Changeset: 766d0b0f Author: Guoxiong Li Date: 2024-04-29 08:16:12 +0000 URL: https://git.openjdk.org/loom/commit/766d0b0fa0809a0bf500f1883592f5074482f168 8330960: Serial: Remove SerialFullGC::_total_invocations Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialFullGC.hpp Changeset: 76cda7b8 Author: Albert Mingkun Yang Date: 2024-04-29 08:41:49 +0000 URL: https://git.openjdk.org/loom/commit/76cda7b8955b934716136092e25de19b3b4dc6c3 8331118: Remove Serial includes from space.hpp Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/epsilon/epsilonMemoryPool.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 549bc6a0 Author: Roberto Casta?eda Lozano Date: 2024-04-29 08:41:59 +0000 URL: https://git.openjdk.org/loom/commit/549bc6a0398906df3cc08679c751eb0c633ef0be 8330685: ZGC: share barrier spilling logic Reviewed-by: eosterlund, mdoerr, fyang, aboldtch ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.hpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.hpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 70d3f22b Author: Albert Mingkun Yang Date: 2024-04-29 08:42:09 +0000 URL: https://git.openjdk.org/loom/commit/70d3f22b70521011027748f8cd078bd2ab9be730 8331175: Parallel: Remove VerifyRememberedSets Reviewed-by: tschatzl, gli ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java Changeset: 72729390 Author: Albert Mingkun Yang Date: 2024-04-29 08:43:12 +0000 URL: https://git.openjdk.org/loom/commit/727293906430cfd95c0e2b2bd7a9df658f6fe94d 8331200: Serial: Remove unused methods in SerialHeap Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: 151ef5d4 Author: Thomas Stuefe Date: 2024-04-29 10:58:07 +0000 URL: https://git.openjdk.org/loom/commit/151ef5d4d261c9fc740d3ccd64a70d3b9ccc1ab5 8330677: Add Per-Compilation memory usage to JFR Reviewed-by: kvn, mbaesken ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/compilerEvent.cpp ! src/hotspot/share/compiler/compilerEvent.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! test/jdk/jdk/jfr/event/compiler/TestCompilerCompile.java Changeset: 8b8fb642 Author: Liming Liu Committer: Thomas Stuefe Date: 2024-04-29 15:14:37 +0000 URL: https://git.openjdk.org/loom/commit/8b8fb6427e3cbc16b818ddcbd6a971f3d2370f94 8324776: runtime/os/TestTransparentHugePageUsage.java fails with The usage of THP is not enough Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/runtime/os/TestTransparentHugePageUsage.java Changeset: bdcc2400 Author: Vladimir Kozlov Date: 2024-04-29 15:58:03 +0000 URL: https://git.openjdk.org/loom/commit/bdcc2400db63e604d76f9b5bd3c876271743f69f 8331087: Move immutable nmethod data from CodeCache Reviewed-by: thartmann, dlong, dnsimon ! 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/NMethod.java ! test/hotspot/jtreg/compiler/c1/TestLinearScanOrderMain.java Changeset: 4e422943 Author: Harshitha Onkar Date: 2024-04-29 16:27:54 +0000 URL: https://git.openjdk.org/loom/commit/4e4229438ad2e8ac59ac675465e4d3d4e13bf156 8329004: Update Libpng to 1.6.43 Reviewed-by: prr, dnguyen ! 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/UPDATING.txt ! 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/pnglibconf.h ! 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/pngtrans.c Changeset: 9b423a85 Author: Axel Boldt-Christmas Date: 2024-04-29 17:14:09 +0000 URL: https://git.openjdk.org/loom/commit/9b423a8509d6bf8a76297d74aaaea40613f5f2ae 8330253: Remove verify_consistent_lock_order Co-authored-by: Patricio Chilano Mateo Reviewed-by: dcubed, pchilanomate, dnsimon ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/lockStack.cpp ! src/hotspot/share/runtime/lockStack.hpp Changeset: eb88343f Author: SendaoYan Committer: Aleksey Shipilev Date: 2024-04-29 17:50:39 +0000 URL: https://git.openjdk.org/loom/commit/eb88343fb763ee89010b7a9879638152decc6892 8331164: createJMHBundle.sh download jars fail when url needed to be redirected Reviewed-by: erikj, shade ! make/devkit/createJMHBundle.sh Changeset: 819f3d6f Author: Brian Burkhalter Date: 2024-04-29 17:54:13 +0000 URL: https://git.openjdk.org/loom/commit/819f3d6fc70ff6fe54ac5f9033c17c3dd4326aa5 8330748: ByteArrayOutputStream.writeTo(OutputStream) pins carrier Reviewed-by: alanb ! src/java.base/share/classes/java/io/ByteArrayOutputStream.java + test/jdk/java/io/ByteArrayOutputStream/WriteToReleasesCarrier.java Changeset: 8c1fae0e Author: Alan Bateman Date: 2024-04-29 19:51:14 +0000 URL: https://git.openjdk.org/loom/commit/8c1fae0ed93b1436e5942c7713cb383d452b24e1 Merge ! src/hotspot/share/compiler/compilerEvent.cpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/share/compiler/compilerEvent.cpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/lockStack.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 754dcdc5 Author: Alan Bateman Date: 2024-04-29 19:51:49 +0000 URL: https://git.openjdk.org/loom/commit/754dcdc555d33a57c890401a713d9762207b3f3e Undo JDK-8330748 ! src/java.base/share/classes/java/io/ByteArrayOutputStream.java Changeset: b128bd7b Author: David Holmes Date: 2024-04-30 06:53:16 +0000 URL: https://git.openjdk.org/loom/commit/b128bd7b5a1dcf3e7a55d3e3b0c4a9998bde963e 8331021: Deprecate and then obsolete the DontYieldALot flag Reviewed-by: coleenp, stuefe, shade ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 60b61e58 Author: Matthias Baesken Date: 2024-04-30 07:31:29 +0000 URL: https://git.openjdk.org/loom/commit/60b61e588c1252b4b1fbc64d0f818a85670f7146 8331298: avoid alignment checks in UBSAN enabled build Reviewed-by: erikj, mdoerr ! make/autoconf/jdk-options.m4 Changeset: 0630bb02 Author: Claes Redestad Date: 2024-04-30 08:27:38 +0000 URL: https://git.openjdk.org/loom/commit/0630bb02eb760081ddd612ccb1b12d57d43aab5e 8331264: Reduce java.lang.constant initialization overhead Reviewed-by: liach, mchung ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java Changeset: cff841f1 Author: Aleksey Shipilev Date: 2024-04-30 09:13:12 +0000 URL: https://git.openjdk.org/loom/commit/cff841f1de41c911ec1b642b998c074e13e75554 8328934: Assert that ABS input and output are legal Reviewed-by: aph, dlong ! src/hotspot/share/utilities/globalDefinitions.hpp + test/hotspot/gtest/utilities/test_abs.cpp Changeset: ef4ec2d3 Author: Albert Mingkun Yang Date: 2024-04-30 10:37:33 +0000 URL: https://git.openjdk.org/loom/commit/ef4ec2d3b061c0eeea1aba88135e8d0e272b3bea 8331284: Inline methods in softRefPolicy.cpp Reviewed-by: gli, tschatzl - src/hotspot/share/gc/shared/softRefPolicy.cpp ! src/hotspot/share/gc/shared/softRefPolicy.hpp Changeset: 22a1c617 Author: Patricio Chilano Mateo Date: 2024-04-30 13:08:35 +0000 URL: https://git.openjdk.org/loom/commit/22a1c617dbe771d8f5cea52af0e2a630af34b35b 8330817: jdk/internal/vm/Continuation/OSRTest.java times out on libgraal Reviewed-by: dnsimon, dlong ! test/jdk/jdk/internal/vm/Continuation/OSRTest.java Changeset: 33e81229 Author: Albert Mingkun Yang Date: 2024-04-30 13:52:08 +0000 URL: https://git.openjdk.org/loom/commit/33e81229bd1b4b28cf2e35f0f8f0a42a04d59c3d 8331410: Remove unused MemAllocator::mem_allocate_inside_tlab Reviewed-by: tschatzl, gli ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp Changeset: 2cc8eccb Author: Viktor Klang Date: 2024-04-30 15:11:04 +0000 URL: https://git.openjdk.org/loom/commit/2cc8eccb360848f3ddf3259f1d943552f86234b9 8331346: Update PreviewFeature of STREAM_GATHERERS to JEP-473 Reviewed-by: pminborg, alanb ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java Changeset: f4caac8d Author: Tim Prinzing Committer: Alan Bateman Date: 2024-04-30 15:39:23 +0000 URL: https://git.openjdk.org/loom/commit/f4caac8dea1c95234743712386cb28a1ecb11197 8329138: Convert JFR FileForceEvent to static mirror event Reviewed-by: alanb, egahlin + src/java.base/share/classes/jdk/internal/event/FileForceEvent.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/java.base/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/jdk.jfr/share/classes/jdk/jfr/events/EventConfigurations.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileForceEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileChannelImplInstrumentor.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java + test/jdk/jdk/jfr/event/io/TestAsynchronousFileChannelEvents.java Changeset: 130f71ca Author: Evgeny Nikitin Committer: Christian Hagedorn Date: 2024-04-30 15:48:09 +0000 URL: https://git.openjdk.org/loom/commit/130f71cadca5b46d9bf589708dcea03ad51e8de0 8326742: Change compiler tests without additional VM flags from @run driver to @run main Reviewed-by: kvn, thartmann, chagedorn ! test/hotspot/jtreg/compiler/ccp/TestShiftConvertAndNotification.java Changeset: 9ce21d13 Author: Matias Saavedra Silva Date: 2024-04-30 16:02:55 +0000 URL: https://git.openjdk.org/loom/commit/9ce21d1382a4f5ad601a7ee610bab64a9c575302 8327647: Occasional SIGSEGV in markWord::displaced_mark_helper() for SPECjvm2008 sunflow Reviewed-by: coleenp, fyang, dlong ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 3d11692b Author: Emanuel Peter Date: 2024-04-30 16:15:07 +0000 URL: https://git.openjdk.org/loom/commit/3d11692bf369af951867209962e8bf5886d1655f 8331252: C2: MergeStores: handle negative shift values Reviewed-by: kvn, shade ! src/hotspot/share/opto/memnode.cpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java Changeset: aca1e836 Author: Zhengyu Gu Date: 2024-04-30 16:20:10 +0000 URL: https://git.openjdk.org/loom/commit/aca1e8365bf0f64bf18caf798bbca1d25b3c4117 8329223: Parallel: Parallel GC resizes heap even if -Xms = -Xmx Reviewed-by: ayang, gli ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: a863ef5d Author: Justin Lu Date: 2024-04-30 16:50:01 +0000 URL: https://git.openjdk.org/loom/commit/a863ef5d74e9001a143af4638422348ee946c939 8331207: Misleading example in DateFormat#parse docs Reviewed-by: naoto ! src/java.base/share/classes/java/text/DateFormat.java Changeset: 63807648 Author: Alan Bateman Date: 2024-04-30 18:05:45 +0000 URL: https://git.openjdk.org/loom/commit/63807648644e13262ab7c575eda41e8b81e3e1e0 Merge ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java Changeset: 8816883e Author: Alan Bateman Date: 2024-05-01 07:33:54 +0000 URL: https://git.openjdk.org/loom/commit/8816883eb092e9faa6295734d0e1105002a8774e Drop confinement check from ThreadFlock.shutdown ! src/java.base/share/classes/jdk/internal/misc/ThreadFlock.java ! test/jdk/jdk/internal/misc/ThreadFlock/ThreadFlockTest.java Changeset: b96b38c2 Author: Tom Rodriguez Date: 2024-04-30 17:33:23 +0000 URL: https://git.openjdk.org/loom/commit/b96b38c2c9a310d5fe49b2eda3e113a71223c7d1 8318682: SA decoding of scalar replaced objects is broken Reviewed-by: cjplummer, cslucas ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/MarkerValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ObjectMergeValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ObjectValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ScopeValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! test/hotspot/jtreg/ProblemList-generational-zgc.txt ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java + test/hotspot/jtreg/serviceability/sa/ClhsdbTestAllocationMerge.java + test/hotspot/jtreg/serviceability/sa/LingeredAppWithAllocationMerge.java + test/hotspot/jtreg/serviceability/sa/TestDebugInfoDecode.java Changeset: a1ab5490 Author: Alan Bateman Date: 2024-05-01 07:34:20 +0000 URL: https://git.openjdk.org/loom/commit/a1ab549006283aec26527d213e9c69b8f3acc1aa Merge Changeset: a23dca81 Author: Alan Bateman Date: 2024-05-01 20:37:08 +0000 URL: https://git.openjdk.org/loom/commit/a23dca81da6404c105ed85140061665a59e5f9af Drop confinment check from wakeup ! src/java.base/share/classes/jdk/internal/misc/ThreadFlock.java ! test/jdk/jdk/internal/misc/ThreadFlock/ThreadFlockTest.java Changeset: f215899a Author: Robbin Ehn Date: 2024-05-01 08:09:53 +0000 URL: https://git.openjdk.org/loom/commit/f215899a088d1abe86adccf0e65a073189272ddd 8331393: AArch64: u32 _partial_subtype_ctr loaded/stored as 64 Reviewed-by: aph, fyang ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 663acd2e Author: Serguei Spitsyn Date: 2024-05-01 08:40:48 +0000 URL: https://git.openjdk.org/loom/commit/663acd2e173114fec7c2f50084af9ec56150d394 8330969: scalability issue with loaded JVMTI agent Reviewed-by: amenkov, cjplummer ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp Changeset: b2fb5ea1 Author: Alexey Ivanov Date: 2024-05-01 11:53:28 +0000 URL: https://git.openjdk.org/loom/commit/b2fb5ea13ba5087411410519213fc953ecc44618 8331142: Add test for number of loader threads in BasicDirectoryModel Reviewed-by: serb, tr + test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 44dc8500 Author: Jan Lahoda Date: 2024-05-01 12:19:11 +0000 URL: https://git.openjdk.org/loom/commit/44dc85001d8c17a12efebd1a69d52e0b7e4e95e4 8331212: Error recovery for broken switch expressions could be improved Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/recovery/FlowRecovery.java Changeset: 4f529f8c Author: Pavel Rappo Date: 2024-05-01 12:23:13 +0000 URL: https://git.openjdk.org/loom/commit/4f529f8c232b4082aa4aa39766bcf42b09885ee4 8331427: Rename confusingly named ArraysSupport.signedHashCode Reviewed-by: redestad ! src/java.base/share/classes/jdk/internal/util/ArraysSupport.java Changeset: e833bfc8 Author: Alexey Semenyuk Date: 2024-05-01 15:26:57 +0000 URL: https://git.openjdk.org/loom/commit/e833bfc8ac6104522d037e7eb300f5aa112688bb 8331222: Malformed text in the jpackage doc page Reviewed-by: almatvee ! src/jdk.jpackage/share/man/jpackage.1 Changeset: 2a95cd47 Author: Alexey Ivanov Date: 2024-05-01 16:38:25 +0000 URL: https://git.openjdk.org/loom/commit/2a95cd473aaefcacd976d1c17aa2badf330a6c32 8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only Reviewed-by: prr ! test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 62d5d1e9 Author: Jan Trukenm?ller Committer: Phil Race Date: 2024-05-01 16:45:42 +0000 URL: https://git.openjdk.org/loom/commit/62d5d1e99c118b6ed26e79a2f7247308f8c23310 8319598: SMFParser misinterprets interrupted running status Reviewed-by: prr, serb ! src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileReader.java + test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java Changeset: 0a24daec Author: Alex Menkov Date: 2024-05-01 18:02:47 +0000 URL: https://git.openjdk.org/loom/commit/0a24daecebd90eb46a813923bb2d5672514197ce 8322043: HeapDumper should use parallel dump by default Reviewed-by: yyang, sspitsyn, dholmes ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumper.hpp Changeset: d07fa77a Author: Alan Bateman Date: 2024-05-01 20:37:37 +0000 URL: https://git.openjdk.org/loom/commit/d07fa77ac5002b801b7928c94676cefbb7d36ff7 Merge ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp Changeset: 19e46eed Author: Sonia Zaldana Calles Committer: Dean Long Date: 2024-05-02 01:41:09 +0000 URL: https://git.openjdk.org/loom/commit/19e46eed580339a61fd1309c2cc7040e8c83597d 8331088: Incorrect TraceLoopPredicate output Reviewed-by: chagedorn, dlong ! src/hotspot/share/opto/loopPredicate.cpp Changeset: 5ab8713b Author: Robbin Ehn Date: 2024-05-02 06:29:46 +0000 URL: https://git.openjdk.org/loom/commit/5ab8713b3fcdf8a1e9d44fc71190845f32449fce 8331360: RISCV: u32 _partial_subtype_ctr loaded/stored as 64 Reviewed-by: fyang, mli, tonyp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 9108091f Author: Matthias Baesken Date: 2024-05-02 07:06:25 +0000 URL: https://git.openjdk.org/loom/commit/9108091f0ce21a52c3b8b22a52485ee5594eb185 8330989: unify os::create_binary_file across platforms Reviewed-by: dholmes, kbarrett ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.cpp Changeset: 4036d7d8 Author: Afshin Zafari Date: 2024-05-02 07:19:56 +0000 URL: https://git.openjdk.org/loom/commit/4036d7d8246da0550adf8543848606c777da20a1 8330076: NMT: add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API Reviewed-by: stefank, jsjolen, stuefe ! src/hotspot/cpu/aarch64/compressedKlass_aarch64.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/gc/x/xPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/objectStartArray.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/x/xMarkStackAllocator.cpp ! src/hotspot/share/gc/x/xPhysicalMemory.cpp ! src/hotspot/share/gc/x/xVirtualMemory.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_stressCommitUncommit.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: d3bf5262 Author: Tobias Hartmann Date: 2024-05-02 07:49:12 +0000 URL: https://git.openjdk.org/loom/commit/d3bf52628efb79e1b98749d628c4b6d035e1d511 8331518: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dholmes ! test/hotspot/jtreg/compiler/c2/TestUninitializedKlassField.java ! test/hotspot/jtreg/compiler/codegen/TestConvertImplicitNullCheck.java ! test/hotspot/jtreg/compiler/loopopts/TestPartialPeelingAtSingleInputRegion.java ! test/micro/org/openjdk/bench/java/lang/foreign/libToJavaString.c ! test/micro/org/openjdk/bench/vm/compiler/MergeStores.java Changeset: dd906ffd Author: Robbin Ehn Date: 2024-05-02 08:10:59 +0000 URL: https://git.openjdk.org/loom/commit/dd906ffdcb7d965cd4798cb7eebd9c1b71b3c136 8331399: RISC-V: Don't us mv instead of la Reviewed-by: fyang, mli, tonyp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp Changeset: c4fe5bf9 Author: Aleksey Shipilev Date: 2024-05-02 08:26:09 +0000 URL: https://git.openjdk.org/loom/commit/c4fe5bf90c2d368c29714de63a90eca444fb3ece 8331405: Shenandoah: Optimize ShenandoahLock with TTAS Reviewed-by: zgu, ysr ! src/hotspot/share/gc/shenandoah/shenandoahLock.cpp Changeset: 06ba144f Author: Alan Bateman Date: 2024-05-02 13:47:18 +0000 URL: https://git.openjdk.org/loom/commit/06ba144fc3fe336d572657901f2403fb8dd6db74 Merge Changeset: fe36a410 Author: Alan Bateman Date: 2024-05-02 16:37:25 +0000 URL: https://git.openjdk.org/loom/commit/fe36a41002fde81b8eaf8b5e1f550efaa2771f5a 8331546: Build failure after 8330076 ! src/hotspot/share/memory/virtualspace.cpp From duke at openjdk.org Thu May 2 19:19:49 2024 From: duke at openjdk.org (duke) Date: Thu, 2 May 2024 19:19:49 GMT Subject: git: openjdk/loom: master: 47 new changesets Message-ID: <87d4d073-55f4-4993-8629-a4ecff2bc995@openjdk.org> Changeset: 4e5c25ee Author: Joe Darcy Date: 2024-04-28 22:55:44 +0000 URL: https://git.openjdk.org/loom/commit/4e5c25ee43d4ec31ed5160fd93a2fd15e35182f8 8331108: Unused Math.abs call in java.lang.FdLibm.Expm1#compute Reviewed-by: naoto, bpb, rgiulietti ! src/java.base/share/classes/java/lang/FdLibm.java Changeset: fb63cbad Author: Adam Sotona Date: 2024-04-29 07:12:46 +0000 URL: https://git.openjdk.org/loom/commit/fb63cbadb419f1de91acae9fc66be258e1d3d214 8330684: ClassFile API runs into StackOverflowError while parsing certain class' bytes Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: c615c18e Author: Roland Westrelin Date: 2024-04-29 07:36:14 +0000 URL: https://git.openjdk.org/loom/commit/c615c18e9f92dc9fdc2db512fbd47fd255f7fe86 8330158: C2: Loop strip mining uses ABS with min int Reviewed-by: shade, kvn, dlong, mbalao ! src/hotspot/share/opto/loopnode.cpp Changeset: 4edac349 Author: Matthias Baesken Date: 2024-04-29 07:58:18 +0000 URL: https://git.openjdk.org/loom/commit/4edac349a5d695ce7923344ad5ad0400842241eb 8331167: UBSan enabled build fails in adlc on macOS Reviewed-by: stuefe, lucy ! src/hotspot/share/adlc/adlparse.cpp Changeset: 766d0b0f Author: Guoxiong Li Date: 2024-04-29 08:16:12 +0000 URL: https://git.openjdk.org/loom/commit/766d0b0fa0809a0bf500f1883592f5074482f168 8330960: Serial: Remove SerialFullGC::_total_invocations Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialFullGC.hpp Changeset: 76cda7b8 Author: Albert Mingkun Yang Date: 2024-04-29 08:41:49 +0000 URL: https://git.openjdk.org/loom/commit/76cda7b8955b934716136092e25de19b3b4dc6c3 8331118: Remove Serial includes from space.hpp Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/epsilon/epsilonMemoryPool.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp ! src/hotspot/share/gc/shared/space.hpp Changeset: 549bc6a0 Author: Roberto Casta?eda Lozano Date: 2024-04-29 08:41:59 +0000 URL: https://git.openjdk.org/loom/commit/549bc6a0398906df3cc08679c751eb0c633ef0be 8330685: ZGC: share barrier spilling logic Reviewed-by: eosterlund, mdoerr, fyang, aboldtch ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.hpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.hpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 70d3f22b Author: Albert Mingkun Yang Date: 2024-04-29 08:42:09 +0000 URL: https://git.openjdk.org/loom/commit/70d3f22b70521011027748f8cd078bd2ab9be730 8331175: Parallel: Remove VerifyRememberedSets Reviewed-by: tschatzl, gli ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java Changeset: 72729390 Author: Albert Mingkun Yang Date: 2024-04-29 08:43:12 +0000 URL: https://git.openjdk.org/loom/commit/727293906430cfd95c0e2b2bd7a9df658f6fe94d 8331200: Serial: Remove unused methods in SerialHeap Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/serial/serialHeap.hpp Changeset: 151ef5d4 Author: Thomas Stuefe Date: 2024-04-29 10:58:07 +0000 URL: https://git.openjdk.org/loom/commit/151ef5d4d261c9fc740d3ccd64a70d3b9ccc1ab5 8330677: Add Per-Compilation memory usage to JFR Reviewed-by: kvn, mbaesken ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/compilerEvent.cpp ! src/hotspot/share/compiler/compilerEvent.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! test/jdk/jdk/jfr/event/compiler/TestCompilerCompile.java Changeset: 8b8fb642 Author: Liming Liu Committer: Thomas Stuefe Date: 2024-04-29 15:14:37 +0000 URL: https://git.openjdk.org/loom/commit/8b8fb6427e3cbc16b818ddcbd6a971f3d2370f94 8324776: runtime/os/TestTransparentHugePageUsage.java fails with The usage of THP is not enough Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/runtime/os/TestTransparentHugePageUsage.java Changeset: bdcc2400 Author: Vladimir Kozlov Date: 2024-04-29 15:58:03 +0000 URL: https://git.openjdk.org/loom/commit/bdcc2400db63e604d76f9b5bd3c876271743f69f 8331087: Move immutable nmethod data from CodeCache Reviewed-by: thartmann, dlong, dnsimon ! 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/NMethod.java ! test/hotspot/jtreg/compiler/c1/TestLinearScanOrderMain.java Changeset: 4e422943 Author: Harshitha Onkar Date: 2024-04-29 16:27:54 +0000 URL: https://git.openjdk.org/loom/commit/4e4229438ad2e8ac59ac675465e4d3d4e13bf156 8329004: Update Libpng to 1.6.43 Reviewed-by: prr, dnguyen ! 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/UPDATING.txt ! 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/pnglibconf.h ! 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/pngtrans.c Changeset: 9b423a85 Author: Axel Boldt-Christmas Date: 2024-04-29 17:14:09 +0000 URL: https://git.openjdk.org/loom/commit/9b423a8509d6bf8a76297d74aaaea40613f5f2ae 8330253: Remove verify_consistent_lock_order Co-authored-by: Patricio Chilano Mateo Reviewed-by: dcubed, pchilanomate, dnsimon ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/lockStack.cpp ! src/hotspot/share/runtime/lockStack.hpp Changeset: eb88343f Author: SendaoYan Committer: Aleksey Shipilev Date: 2024-04-29 17:50:39 +0000 URL: https://git.openjdk.org/loom/commit/eb88343fb763ee89010b7a9879638152decc6892 8331164: createJMHBundle.sh download jars fail when url needed to be redirected Reviewed-by: erikj, shade ! make/devkit/createJMHBundle.sh Changeset: 819f3d6f Author: Brian Burkhalter Date: 2024-04-29 17:54:13 +0000 URL: https://git.openjdk.org/loom/commit/819f3d6fc70ff6fe54ac5f9033c17c3dd4326aa5 8330748: ByteArrayOutputStream.writeTo(OutputStream) pins carrier Reviewed-by: alanb ! src/java.base/share/classes/java/io/ByteArrayOutputStream.java + test/jdk/java/io/ByteArrayOutputStream/WriteToReleasesCarrier.java Changeset: b128bd7b Author: David Holmes Date: 2024-04-30 06:53:16 +0000 URL: https://git.openjdk.org/loom/commit/b128bd7b5a1dcf3e7a55d3e3b0c4a9998bde963e 8331021: Deprecate and then obsolete the DontYieldALot flag Reviewed-by: coleenp, stuefe, shade ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 60b61e58 Author: Matthias Baesken Date: 2024-04-30 07:31:29 +0000 URL: https://git.openjdk.org/loom/commit/60b61e588c1252b4b1fbc64d0f818a85670f7146 8331298: avoid alignment checks in UBSAN enabled build Reviewed-by: erikj, mdoerr ! make/autoconf/jdk-options.m4 Changeset: 0630bb02 Author: Claes Redestad Date: 2024-04-30 08:27:38 +0000 URL: https://git.openjdk.org/loom/commit/0630bb02eb760081ddd612ccb1b12d57d43aab5e 8331264: Reduce java.lang.constant initialization overhead Reviewed-by: liach, mchung ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java ! src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java Changeset: cff841f1 Author: Aleksey Shipilev Date: 2024-04-30 09:13:12 +0000 URL: https://git.openjdk.org/loom/commit/cff841f1de41c911ec1b642b998c074e13e75554 8328934: Assert that ABS input and output are legal Reviewed-by: aph, dlong ! src/hotspot/share/utilities/globalDefinitions.hpp + test/hotspot/gtest/utilities/test_abs.cpp Changeset: ef4ec2d3 Author: Albert Mingkun Yang Date: 2024-04-30 10:37:33 +0000 URL: https://git.openjdk.org/loom/commit/ef4ec2d3b061c0eeea1aba88135e8d0e272b3bea 8331284: Inline methods in softRefPolicy.cpp Reviewed-by: gli, tschatzl - src/hotspot/share/gc/shared/softRefPolicy.cpp ! src/hotspot/share/gc/shared/softRefPolicy.hpp Changeset: 22a1c617 Author: Patricio Chilano Mateo Date: 2024-04-30 13:08:35 +0000 URL: https://git.openjdk.org/loom/commit/22a1c617dbe771d8f5cea52af0e2a630af34b35b 8330817: jdk/internal/vm/Continuation/OSRTest.java times out on libgraal Reviewed-by: dnsimon, dlong ! test/jdk/jdk/internal/vm/Continuation/OSRTest.java Changeset: 33e81229 Author: Albert Mingkun Yang Date: 2024-04-30 13:52:08 +0000 URL: https://git.openjdk.org/loom/commit/33e81229bd1b4b28cf2e35f0f8f0a42a04d59c3d 8331410: Remove unused MemAllocator::mem_allocate_inside_tlab Reviewed-by: tschatzl, gli ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp Changeset: 2cc8eccb Author: Viktor Klang Date: 2024-04-30 15:11:04 +0000 URL: https://git.openjdk.org/loom/commit/2cc8eccb360848f3ddf3259f1d943552f86234b9 8331346: Update PreviewFeature of STREAM_GATHERERS to JEP-473 Reviewed-by: pminborg, alanb ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java Changeset: f4caac8d Author: Tim Prinzing Committer: Alan Bateman Date: 2024-04-30 15:39:23 +0000 URL: https://git.openjdk.org/loom/commit/f4caac8dea1c95234743712386cb28a1ecb11197 8329138: Convert JFR FileForceEvent to static mirror event Reviewed-by: alanb, egahlin + src/java.base/share/classes/jdk/internal/event/FileForceEvent.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! src/java.base/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/java.base/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/jdk.jfr/share/classes/jdk/jfr/events/EventConfigurations.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileForceEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileChannelImplInstrumentor.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java + test/jdk/jdk/jfr/event/io/TestAsynchronousFileChannelEvents.java Changeset: 130f71ca Author: Evgeny Nikitin Committer: Christian Hagedorn Date: 2024-04-30 15:48:09 +0000 URL: https://git.openjdk.org/loom/commit/130f71cadca5b46d9bf589708dcea03ad51e8de0 8326742: Change compiler tests without additional VM flags from @run driver to @run main Reviewed-by: kvn, thartmann, chagedorn ! test/hotspot/jtreg/compiler/ccp/TestShiftConvertAndNotification.java Changeset: 9ce21d13 Author: Matias Saavedra Silva Date: 2024-04-30 16:02:55 +0000 URL: https://git.openjdk.org/loom/commit/9ce21d1382a4f5ad601a7ee610bab64a9c575302 8327647: Occasional SIGSEGV in markWord::displaced_mark_helper() for SPECjvm2008 sunflow Reviewed-by: coleenp, fyang, dlong ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/riscv/interp_masm_riscv.cpp ! src/hotspot/cpu/riscv/templateTable_riscv.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 3d11692b Author: Emanuel Peter Date: 2024-04-30 16:15:07 +0000 URL: https://git.openjdk.org/loom/commit/3d11692bf369af951867209962e8bf5886d1655f 8331252: C2: MergeStores: handle negative shift values Reviewed-by: kvn, shade ! src/hotspot/share/opto/memnode.cpp ! test/hotspot/jtreg/compiler/c2/TestMergeStores.java Changeset: aca1e836 Author: Zhengyu Gu Date: 2024-04-30 16:20:10 +0000 URL: https://git.openjdk.org/loom/commit/aca1e8365bf0f64bf18caf798bbca1d25b3c4117 8329223: Parallel: Parallel GC resizes heap even if -Xms = -Xmx Reviewed-by: ayang, gli ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: a863ef5d Author: Justin Lu Date: 2024-04-30 16:50:01 +0000 URL: https://git.openjdk.org/loom/commit/a863ef5d74e9001a143af4638422348ee946c939 8331207: Misleading example in DateFormat#parse docs Reviewed-by: naoto ! src/java.base/share/classes/java/text/DateFormat.java Changeset: b96b38c2 Author: Tom Rodriguez Date: 2024-04-30 17:33:23 +0000 URL: https://git.openjdk.org/loom/commit/b96b38c2c9a310d5fe49b2eda3e113a71223c7d1 8318682: SA decoding of scalar replaced objects is broken Reviewed-by: cjplummer, cslucas ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/MarkerValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ObjectMergeValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ObjectValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/ScopeValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! test/hotspot/jtreg/ProblemList-generational-zgc.txt ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java + test/hotspot/jtreg/serviceability/sa/ClhsdbTestAllocationMerge.java + test/hotspot/jtreg/serviceability/sa/LingeredAppWithAllocationMerge.java + test/hotspot/jtreg/serviceability/sa/TestDebugInfoDecode.java Changeset: f215899a Author: Robbin Ehn Date: 2024-05-01 08:09:53 +0000 URL: https://git.openjdk.org/loom/commit/f215899a088d1abe86adccf0e65a073189272ddd 8331393: AArch64: u32 _partial_subtype_ctr loaded/stored as 64 Reviewed-by: aph, fyang ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp Changeset: 663acd2e Author: Serguei Spitsyn Date: 2024-05-01 08:40:48 +0000 URL: https://git.openjdk.org/loom/commit/663acd2e173114fec7c2f50084af9ec56150d394 8330969: scalability issue with loaded JVMTI agent Reviewed-by: amenkov, cjplummer ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/prims/jvmtiThreadState.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp Changeset: b2fb5ea1 Author: Alexey Ivanov Date: 2024-05-01 11:53:28 +0000 URL: https://git.openjdk.org/loom/commit/b2fb5ea13ba5087411410519213fc953ecc44618 8331142: Add test for number of loader threads in BasicDirectoryModel Reviewed-by: serb, tr + test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 44dc8500 Author: Jan Lahoda Date: 2024-05-01 12:19:11 +0000 URL: https://git.openjdk.org/loom/commit/44dc85001d8c17a12efebd1a69d52e0b7e4e95e4 8331212: Error recovery for broken switch expressions could be improved Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java + test/langtools/tools/javac/recovery/FlowRecovery.java Changeset: 4f529f8c Author: Pavel Rappo Date: 2024-05-01 12:23:13 +0000 URL: https://git.openjdk.org/loom/commit/4f529f8c232b4082aa4aa39766bcf42b09885ee4 8331427: Rename confusingly named ArraysSupport.signedHashCode Reviewed-by: redestad ! src/java.base/share/classes/jdk/internal/util/ArraysSupport.java Changeset: e833bfc8 Author: Alexey Semenyuk Date: 2024-05-01 15:26:57 +0000 URL: https://git.openjdk.org/loom/commit/e833bfc8ac6104522d037e7eb300f5aa112688bb 8331222: Malformed text in the jpackage doc page Reviewed-by: almatvee ! src/jdk.jpackage/share/man/jpackage.1 Changeset: 2a95cd47 Author: Alexey Ivanov Date: 2024-05-01 16:38:25 +0000 URL: https://git.openjdk.org/loom/commit/2a95cd473aaefcacd976d1c17aa2badf330a6c32 8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only Reviewed-by: prr ! test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 62d5d1e9 Author: Jan Trukenm?ller Committer: Phil Race Date: 2024-05-01 16:45:42 +0000 URL: https://git.openjdk.org/loom/commit/62d5d1e99c118b6ed26e79a2f7247308f8c23310 8319598: SMFParser misinterprets interrupted running status Reviewed-by: prr, serb ! src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileReader.java + test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java Changeset: 0a24daec Author: Alex Menkov Date: 2024-05-01 18:02:47 +0000 URL: https://git.openjdk.org/loom/commit/0a24daecebd90eb46a813923bb2d5672514197ce 8322043: HeapDumper should use parallel dump by default Reviewed-by: yyang, sspitsyn, dholmes ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumper.hpp Changeset: 19e46eed Author: Sonia Zaldana Calles Committer: Dean Long Date: 2024-05-02 01:41:09 +0000 URL: https://git.openjdk.org/loom/commit/19e46eed580339a61fd1309c2cc7040e8c83597d 8331088: Incorrect TraceLoopPredicate output Reviewed-by: chagedorn, dlong ! src/hotspot/share/opto/loopPredicate.cpp Changeset: 5ab8713b Author: Robbin Ehn Date: 2024-05-02 06:29:46 +0000 URL: https://git.openjdk.org/loom/commit/5ab8713b3fcdf8a1e9d44fc71190845f32449fce 8331360: RISCV: u32 _partial_subtype_ctr loaded/stored as 64 Reviewed-by: fyang, mli, tonyp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp Changeset: 9108091f Author: Matthias Baesken Date: 2024-05-02 07:06:25 +0000 URL: https://git.openjdk.org/loom/commit/9108091f0ce21a52c3b8b22a52485ee5594eb185 8330989: unify os::create_binary_file across platforms Reviewed-by: dholmes, kbarrett ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.cpp Changeset: 4036d7d8 Author: Afshin Zafari Date: 2024-05-02 07:19:56 +0000 URL: https://git.openjdk.org/loom/commit/4036d7d8246da0550adf8543848606c777da20a1 8330076: NMT: add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API Reviewed-by: stefank, jsjolen, stuefe ! src/hotspot/cpu/aarch64/compressedKlass_aarch64.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/gc/x/xPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/objectStartArray.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/x/xMarkStackAllocator.cpp ! src/hotspot/share/gc/x/xPhysicalMemory.cpp ! src/hotspot/share/gc/x/xVirtualMemory.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_stressCommitUncommit.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: d3bf5262 Author: Tobias Hartmann Date: 2024-05-02 07:49:12 +0000 URL: https://git.openjdk.org/loom/commit/d3bf52628efb79e1b98749d628c4b6d035e1d511 8331518: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dholmes ! test/hotspot/jtreg/compiler/c2/TestUninitializedKlassField.java ! test/hotspot/jtreg/compiler/codegen/TestConvertImplicitNullCheck.java ! test/hotspot/jtreg/compiler/loopopts/TestPartialPeelingAtSingleInputRegion.java ! test/micro/org/openjdk/bench/java/lang/foreign/libToJavaString.c ! test/micro/org/openjdk/bench/vm/compiler/MergeStores.java Changeset: dd906ffd Author: Robbin Ehn Date: 2024-05-02 08:10:59 +0000 URL: https://git.openjdk.org/loom/commit/dd906ffdcb7d965cd4798cb7eebd9c1b71b3c136 8331399: RISC-V: Don't us mv instead of la Reviewed-by: fyang, mli, tonyp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp Changeset: c4fe5bf9 Author: Aleksey Shipilev Date: 2024-05-02 08:26:09 +0000 URL: https://git.openjdk.org/loom/commit/c4fe5bf90c2d368c29714de63a90eca444fb3ece 8331405: Shenandoah: Optimize ShenandoahLock with TTAS Reviewed-by: zgu, ysr ! src/hotspot/share/gc/shenandoah/shenandoahLock.cpp From duke at openjdk.org Fri May 3 17:42:41 2024 From: duke at openjdk.org (duke) Date: Fri, 3 May 2024 17:42:41 GMT Subject: git: openjdk/loom: fibers: 37 new changesets Message-ID: <8c309e83-82e5-4122-af4b-fb57274f68df@openjdk.org> Changeset: 27623b79 Author: Alan Bateman Date: 2024-05-03 12:01:26 +0000 URL: https://git.openjdk.org/loom/commit/27623b79b1fefd74cc637a54ab7f33a683ce0887 Exclude java/foreign/TestStringEncoding.java until JDK-8331033 is fixed ! test/jdk/ProblemList-Virtual.txt Changeset: 8bcd2e61 Author: Erik ?sterlund Date: 2024-05-02 08:31:49 +0000 URL: https://git.openjdk.org/loom/commit/8bcd2e61aec51f7c5b09ae162f8cca85a8bbf105 8329088: Stack chunk thawing races with concurrent GC stack iteration Reviewed-by: stefank, pchilanomate ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/stackChunkOop.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/continuationJavaClasses.cpp ! src/hotspot/share/runtime/continuationJavaClasses.hpp ! src/hotspot/share/runtime/continuationJavaClasses.inline.hpp ! src/java.base/share/classes/jdk/internal/vm/StackChunk.java Changeset: 33243d44 Author: Thomas Schatzl Date: 2024-05-02 08:42:38 +0000 URL: https://git.openjdk.org/loom/commit/33243d44a96bf47066e19bb743c076cbd4ba48ed 8331394: G1: Remove SKIP_RETIRED_FULL_REGIONS define in G1HRPrinter Reviewed-by: gli, iwalulya ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: fe23068d Author: Thomas Schatzl Date: 2024-05-02 08:43:57 +0000 URL: https://git.openjdk.org/loom/commit/fe23068d946181b0346e470d3172c5d29cc2e05c 8331392: G1: Make HRPrinter distinguish between different types of reclamation Reviewed-by: ayang, iwalulya, gli ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 286cbf83 Author: Robbin Ehn Date: 2024-05-02 09:58:32 +0000 URL: https://git.openjdk.org/loom/commit/286cbf831c2eb76e31bd69b4a93cd5ae9a821493 8331546: Build failure after 8330076 Reviewed-by: mdoerr, tschatzl, shade ! src/hotspot/share/memory/virtualspace.cpp Changeset: ae82405f Author: Adam Sotona Date: 2024-05-02 10:08:29 +0000 URL: https://git.openjdk.org/loom/commit/ae82405ff7a48bc6e61b1d05bf74839b7ed50c11 8323058: Revisit j.l.classfile.CodeBuilder API surface Reviewed-by: briangoetz, psandoz ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/java/lang/classfile/package-info.java ! src/java.base/share/classes/java/lang/classfile/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CatchBuilderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeLocalsShifterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeRelabelerImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java ! test/jdk/java/io/Serializable/records/ProhibitedMethods.java ! test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java ! test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java ! test/jdk/java/lang/instrument/RetransformAgent.java ! test/jdk/java/lang/instrument/asmlib/Instrumentor.java ! test/jdk/java/lang/invoke/MethodHandleProxies/WrapperHiddenClassTest.java ! test/jdk/java/lang/invoke/MethodHandles/classData/ClassDataTest.java ! test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java ! test/jdk/java/lang/invoke/condy/CondyNestedTest.java ! test/jdk/java/lang/invoke/lookup/SpecialStatic.java ! test/jdk/java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java ! test/jdk/jdk/classfile/AdaptCodeTest.java ! test/jdk/jdk/classfile/BSMTest.java ! test/jdk/jdk/classfile/BuilderBlockTest.java ! test/jdk/jdk/classfile/BuilderTryCatchTest.java ! test/jdk/jdk/classfile/DiscontinuedInstructionsTest.java ! test/jdk/jdk/classfile/LDCTest.java ! test/jdk/jdk/classfile/LowAdaptTest.java ! test/jdk/jdk/classfile/LvtTest.java ! test/jdk/jdk/classfile/OneToOneTest.java ! test/jdk/jdk/classfile/OpcodesValidationTest.java ! test/jdk/jdk/classfile/PrimitiveClassConstantTest.java ! test/jdk/jdk/classfile/ShortJumpsFixTest.java ! test/jdk/jdk/classfile/StackMapsTest.java ! test/jdk/jdk/classfile/StackTrackerTest.java ! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java ! test/jdk/jdk/classfile/TransformTests.java ! test/jdk/jdk/classfile/Utf8EntryTest.java ! test/jdk/jdk/classfile/WriteTest.java ! test/jdk/jdk/classfile/examples/ExampleGallery.java ! test/jdk/jdk/classfile/helpers/InstructionModelToCodeBuilder.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/jdk/jdk/classfile/helpers/Transforms.java ! test/jdk/jdk/lambda/separate/ClassToInterfaceConverter.java ! test/micro/org/openjdk/bench/java/lang/invoke/LazyStaticColdStart.java ! test/micro/org/openjdk/bench/jdk/classfile/RebuildMethodBodies.java ! test/micro/org/openjdk/bench/jdk/classfile/Transforms.java ! test/micro/org/openjdk/bench/jdk/classfile/Write.java Changeset: beebce04 Author: Martin Doerr Date: 2024-05-02 10:21:21 +0000 URL: https://git.openjdk.org/loom/commit/beebce044db97e50a7aea3f83d70e134b2128d0a 8331421: ubsan: vmreg.cpp checking error member call on misaligned address Reviewed-by: mbaesken, lucy ! src/hotspot/share/code/vmreg.cpp ! src/hotspot/share/code/vmreg.hpp Changeset: c9255f3f Author: Jaikiran Pai Date: 2024-05-02 10:46:29 +0000 URL: https://git.openjdk.org/loom/commit/c9255f3f5d3b826b9502e21aa953f0cf9f9abdec 8331514: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/JspawnhelperWarnings.java Changeset: 20569687 Author: Jaikiran Pai Date: 2024-05-02 10:46:41 +0000 URL: https://git.openjdk.org/loom/commit/2056968777f3c8e3f783a8d52ff8a537c52fa8b1 8331513: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/RedirectTimeoutTest.java ! test/jdk/java/net/httpclient/http2/ExpectContinueResetTest.java Changeset: 4a78906d Author: Christian Stein Date: 2024-05-02 11:13:41 +0000 URL: https://git.openjdk.org/loom/commit/4a78906db1ebb56a759b43c2dfa909215491d4c0 8331537: Test code should not use the "Classpath" exception clause Reviewed-by: jpai ! test/langtools/tools/javac/launcher/BasicSourceLauncherTests.java ! test/langtools/tools/javac/launcher/ModuleSourceLauncherTests.java ! test/langtools/tools/javac/launcher/MultiFileSourceLauncherTests.java ! test/langtools/tools/javac/launcher/ProgramDescriptorTests.java ! test/langtools/tools/javac/launcher/Run.java ! test/langtools/tools/javac/launcher/src/p/q/CLTest.java Changeset: cccc9535 Author: Tobias Hartmann Date: 2024-05-02 11:38:00 +0000 URL: https://git.openjdk.org/loom/commit/cccc95358d5c38cbcabc7f79abc53674deb1e6d8 8329258: TailCall should not use frame pointer register for jump target Co-authored-by: Fei Yang Reviewed-by: rcastanedalo, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad + test/hotspot/jtreg/compiler/arraycopy/TestTailCallInArrayCopyStub.java Changeset: c21672d8 Author: Weibing Xiao Committer: Sean Coffey Date: 2024-05-02 11:48:41 +0000 URL: https://git.openjdk.org/loom/commit/c21672d8c94da6aa613174744ceaa945ca2a474a 8331077: nroff man page update for jar tool Reviewed-by: jjg, coffeys ! src/jdk.jartool/share/man/jar.1 Changeset: 257a07d5 Author: Adam Sotona Date: 2024-05-02 12:20:07 +0000 URL: https://git.openjdk.org/loom/commit/257a07d5ca4d876f7f79a5f2598054ca261777ee 8331511: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: jpai ! test/jdk/jdk/classfile/OptionsTest.java Changeset: 9912abf5 Author: Alexander Zvegintsev Date: 2024-05-02 12:20:18 +0000 URL: https://git.openjdk.org/loom/commit/9912abf586f4e0f76591639ae18d5c074edaa2c5 8331011: [XWayland] TokenStorage fails under Security Manager Reviewed-by: prr, honkar, serb ! src/java.desktop/unix/classes/sun/awt/screencast/TokenStorage.java Changeset: a024eed7 Author: Erik Gahlin Date: 2024-05-02 12:42:59 +0000 URL: https://git.openjdk.org/loom/commit/a024eed7384828643e302f021a253717f53e3778 8331478: JFR: Rename printHelp methods for jdk.jfr.internal.dcmd classes Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdConfigure.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.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/DCmdStop.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdView.java Changeset: 389f6fe9 Author: Thomas Stuefe Date: 2024-05-02 13:41:29 +0000 URL: https://git.openjdk.org/loom/commit/389f6fe97c348e28d8573fe4754138d2a0bd6c0d 8331344: No compiler replay file with CompilerCommand MemLimit Reviewed-by: kvn, asmehra ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilationMemoryStatistic.hpp ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java Changeset: dd0b6418 Author: Thomas Stuefe Date: 2024-05-02 13:48:36 +0000 URL: https://git.openjdk.org/loom/commit/dd0b6418191c765a92bfd03ec4d4206e0da7ee45 8330813: Don't call methods from Compressed(Oops|Klass) if the associated mode is inactive Reviewed-by: stefank, asmehra ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp Changeset: 553d45b1 Author: Fredrik Bredberg Date: 2024-05-02 13:53:45 +0000 URL: https://git.openjdk.org/loom/commit/553d45b11460a794613651373f34c8379c11729b 8323724: Remove potential re-inflation from FastHashCode under LM_LIGHTWEIGHT Reviewed-by: aboldtch, coleenp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 8771015d Author: Jan Lahoda Date: 2024-05-02 14:32:03 +0000 URL: https://git.openjdk.org/loom/commit/8771015d7e3c4349ad58b58150a49217b1ffb902 8331027: JDK's ct.sym file packs corrupted module-info classes Reviewed-by: asotona ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java + test/langtools/tools/javac/platform/VerifyCTSymClassFiles.java ! test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTest.java ! test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java Changeset: 3383ad63 Author: Vladimir Kozlov Date: 2024-05-02 14:41:30 +0000 URL: https://git.openjdk.org/loom/commit/3383ad6397d5a2d8fb232ffd3e29a54e0b37b686 8331253: 16 bits is not enough for nmethod::_skipped_instructions_size field Reviewed-by: dlong, thartmann ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/opto/output.cpp Changeset: 7a41a525 Author: Albert Mingkun Yang Date: 2024-05-02 15:03:48 +0000 URL: https://git.openjdk.org/loom/commit/7a41a525deb796396ade1456f1d0a101ac705014 8331549: Inline MemAllocator::mem_allocate_slow Reviewed-by: stefank, gli ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp Changeset: 6969a9e0 Author: Alisen Chung Date: 2024-05-02 15:36:10 +0000 URL: https://git.openjdk.org/loom/commit/6969a9e0b2143eee5a7cfa02460a8ab6dfa08cda 8328999: Update GIFlib to 5.2.2 Reviewed-by: tr, dnguyen, prr ! src/java.desktop/share/legal/giflib.md ! src/java.desktop/share/native/libsplashscreen/giflib/dgif_lib.c ! src/java.desktop/share/native/libsplashscreen/giflib/gif_err.c ! src/java.desktop/share/native/libsplashscreen/giflib/gif_hash.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib_private.h ! src/java.desktop/share/native/libsplashscreen/giflib/gifalloc.c ! src/java.desktop/share/native/libsplashscreen/giflib/openbsd-reallocarray.c Changeset: 6f98d8f5 Author: Harshitha Onkar Date: 2024-05-02 16:10:55 +0000 URL: https://git.openjdk.org/loom/commit/6f98d8f58f98827ae454c7ce4839de4071d95767 8329692: Add more details to FrameStateTest.java test instructions Reviewed-by: tr, azvegint ! test/jdk/java/awt/Frame/FrameStateTest/FrameStateTest.java Changeset: e2c0cfef Author: Adam Sotona Date: 2024-05-02 18:07:42 +0000 URL: https://git.openjdk.org/loom/commit/e2c0cfef1468e1081d1e68f74caae71266815cb6 8331320: ClassFile API OutOfMemoryError with certain class files Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 73cdc9a0 Author: Swati Sharma Committer: Sandhya Viswanathan Date: 2024-05-02 18:28:50 +0000 URL: https://git.openjdk.org/loom/commit/73cdc9a070249791f7d228a93fe5b9335c5f72bd 8326421: Add jtreg test for large arrayCopy disjoint case. Co-authored-by: Steve Dohrmann Reviewed-by: kvn, sviswanathan + test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjointLarge.java Changeset: cd3a6075 Author: Ben Perez Committer: Weijun Wang Date: 2024-05-02 18:50:38 +0000 URL: https://git.openjdk.org/loom/commit/cd3a607576bede17f48c3d5ebde2bf05f3b615ba 8328864: NullPointerException in sun.security.jca.ProviderList.getService() Reviewed-by: weijun ! src/java.base/share/classes/sun/security/jca/ProviderList.java + test/jdk/sun/security/jca/NullPreferredList.java + test/jdk/sun/security/jca/app-security.properties Changeset: 99654ec3 Author: Phil Race Date: 2024-05-02 20:18:16 +0000 URL: https://git.openjdk.org/loom/commit/99654ec3fb2c2e7c8d5bf5965aaf45aeb4b88c61 8331516: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: iris, serb ! test/jdk/java/awt/font/GlyphVector/LayoutCompatTest.java Changeset: f6cdcc6f Author: Alexander Zvegintsev Date: 2024-05-02 20:18:25 +0000 URL: https://git.openjdk.org/loom/commit/f6cdcc6f65f2a436906541bb8266e69ded17e2e3 8280988: [XWayland] Click on title to request focus test failures Reviewed-by: honkar, serb ! test/jdk/java/awt/Focus/6981400/Test1.java ! test/jdk/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java ! test/jdk/java/awt/Focus/ModalDialogInFocusEventTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/lib/jdk/test/lib/Platform.java Changeset: 04271dfe Author: SendaoYan Committer: Magnus Ihse Bursie Date: 2024-05-02 21:19:16 +0000 URL: https://git.openjdk.org/loom/commit/04271dfe7a262379944e2a2cf83a98a3a1b78a74 8331331: :tier1 target explanation in doc/testing.md is incorrect Reviewed-by: erikj, dholmes, ihse ! doc/testing.html ! doc/testing.md Changeset: 01125fa2 Author: Alexander Zvegintsev Date: 2024-05-02 21:29:27 +0000 URL: https://git.openjdk.org/loom/commit/01125fa21b733199d4fe670ecf38b82cd917e242 8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure Reviewed-by: prr ! test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java Changeset: 6bef0474 Author: Zhengyu Gu Date: 2024-05-03 00:28:18 +0000 URL: https://git.openjdk.org/loom/commit/6bef0474c8b8773d0d20c0f25c36a2ce9cdbd7e8 8272364: Parallel GC adaptive size policy may shrink the heap below MinHeapSize Reviewed-by: ayang, rkennke ! src/hotspot/share/gc/shared/genArguments.cpp + test/hotspot/jtreg/gc/arguments/TestParallelGCErgo.java Changeset: 7c1fad4f Author: Prasanta Sadhukhan Date: 2024-05-03 05:11:52 +0000 URL: https://git.openjdk.org/loom/commit/7c1fad4fb6c387bbfb72b3f96b610e7cbc2ef312 8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected Reviewed-by: abhiscxk, honkar, dnguyen ! test/jdk/javax/swing/JFrame/bug4419914.java Changeset: 8bc641eb Author: Christian Hagedorn Date: 2024-05-03 05:49:39 +0000 URL: https://git.openjdk.org/loom/commit/8bc641ebe75ba4c975a99a8646b89ed10a7029f5 8331404: IGV: Show line numbers for callees in properties Reviewed-by: tholenstein, thartmann ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/idealGraphPrinter.hpp Changeset: a10845b5 Author: Joachim Kern Committer: Martin Doerr Date: 2024-05-03 08:31:42 +0000 URL: https://git.openjdk.org/loom/commit/a10845b553fc6fe7e06a0f37ce73fe5f704dc7c4 8330539: Use #include instead of -Dalloca'(size)'=__builtin_alloca'(size)' for AIX Reviewed-by: jwaters, mdoerr, kbarrett, ihse ! make/autoconf/flags-cflags.m4 ! src/hotspot/share/utilities/globalDefinitions_gcc.hpp Changeset: f665e07a Author: Afshin Zafari Date: 2024-05-03 10:17:11 +0000 URL: https://git.openjdk.org/loom/commit/f665e07ab223bdabb6cf3f653f799913d874bc55 8331540: [BACKOUT] NMT: add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API Reviewed-by: jwilhelm ! src/hotspot/cpu/aarch64/compressedKlass_aarch64.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/gc/x/xPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/objectStartArray.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/x/xMarkStackAllocator.cpp ! src/hotspot/share/gc/x/xPhysicalMemory.cpp ! src/hotspot/share/gc/x/xVirtualMemory.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_stressCommitUncommit.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: f78fa055 Author: Afshin Zafari Date: 2024-05-03 10:17:23 +0000 URL: https://git.openjdk.org/loom/commit/f78fa0556d93d8ec98f403694e067611e4501fd4 8331636: [BACKOUT] Build failure after 8330076 Reviewed-by: jwilhelm ! src/hotspot/share/memory/virtualspace.cpp Changeset: d86d7b54 Author: Alan Bateman Date: 2024-05-03 15:53:55 +0000 URL: https://git.openjdk.org/loom/commit/d86d7b549c761ab75468bebecba78167c51aeb56 Merge ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/oops/stackChunkOop.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/continuationJavaClasses.cpp ! src/hotspot/share/runtime/continuationJavaClasses.hpp ! src/hotspot/share/runtime/continuationJavaClasses.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/oops/stackChunkOop.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/continuationJavaClasses.cpp ! src/hotspot/share/runtime/continuationJavaClasses.hpp ! src/hotspot/share/runtime/continuationJavaClasses.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp From duke at openjdk.org Fri May 3 17:44:38 2024 From: duke at openjdk.org (duke) Date: Fri, 3 May 2024 17:44:38 GMT Subject: git: openjdk/loom: master: 35 new changesets Message-ID: Changeset: 8bcd2e61 Author: Erik ?sterlund Date: 2024-05-02 08:31:49 +0000 URL: https://git.openjdk.org/loom/commit/8bcd2e61aec51f7c5b09ae162f8cca85a8bbf105 8329088: Stack chunk thawing races with concurrent GC stack iteration Reviewed-by: stefank, pchilanomate ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/instanceStackChunkKlass.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oop.inline.hpp ! src/hotspot/share/oops/stackChunkOop.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/continuationJavaClasses.cpp ! src/hotspot/share/runtime/continuationJavaClasses.hpp ! src/hotspot/share/runtime/continuationJavaClasses.inline.hpp ! src/java.base/share/classes/jdk/internal/vm/StackChunk.java Changeset: 33243d44 Author: Thomas Schatzl Date: 2024-05-02 08:42:38 +0000 URL: https://git.openjdk.org/loom/commit/33243d44a96bf47066e19bb743c076cbd4ba48ed 8331394: G1: Remove SKIP_RETIRED_FULL_REGIONS define in G1HRPrinter Reviewed-by: gli, iwalulya ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: fe23068d Author: Thomas Schatzl Date: 2024-05-02 08:43:57 +0000 URL: https://git.openjdk.org/loom/commit/fe23068d946181b0346e470d3172c5d29cc2e05c 8331392: G1: Make HRPrinter distinguish between different types of reclamation Reviewed-by: ayang, iwalulya, gli ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 286cbf83 Author: Robbin Ehn Date: 2024-05-02 09:58:32 +0000 URL: https://git.openjdk.org/loom/commit/286cbf831c2eb76e31bd69b4a93cd5ae9a821493 8331546: Build failure after 8330076 Reviewed-by: mdoerr, tschatzl, shade ! src/hotspot/share/memory/virtualspace.cpp Changeset: ae82405f Author: Adam Sotona Date: 2024-05-02 10:08:29 +0000 URL: https://git.openjdk.org/loom/commit/ae82405ff7a48bc6e61b1d05bf74839b7ed50c11 8323058: Revisit j.l.classfile.CodeBuilder API surface Reviewed-by: briangoetz, psandoz ! src/java.base/share/classes/java/lang/classfile/CodeBuilder.java ! src/java.base/share/classes/java/lang/classfile/package-info.java ! src/java.base/share/classes/java/lang/classfile/snippet-files/PackageSnippets.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CatchBuilderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeLocalsShifterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeRelabelerImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/VersionPropsPlugin.java ! test/jdk/java/io/Serializable/records/ProhibitedMethods.java ! test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java ! test/jdk/java/lang/instrument/NativeMethodPrefixAgent.java ! test/jdk/java/lang/instrument/RetransformAgent.java ! test/jdk/java/lang/instrument/asmlib/Instrumentor.java ! test/jdk/java/lang/invoke/MethodHandleProxies/WrapperHiddenClassTest.java ! test/jdk/java/lang/invoke/MethodHandles/classData/ClassDataTest.java ! test/jdk/java/lang/invoke/common/test/java/lang/invoke/lib/InstructionHelper.java ! test/jdk/java/lang/invoke/condy/CondyNestedTest.java ! test/jdk/java/lang/invoke/lookup/SpecialStatic.java ! test/jdk/java/lang/reflect/Method/invoke/TestPrivateInterfaceMethodReflect.java ! test/jdk/jdk/classfile/AdaptCodeTest.java ! test/jdk/jdk/classfile/BSMTest.java ! test/jdk/jdk/classfile/BuilderBlockTest.java ! test/jdk/jdk/classfile/BuilderTryCatchTest.java ! test/jdk/jdk/classfile/DiscontinuedInstructionsTest.java ! test/jdk/jdk/classfile/LDCTest.java ! test/jdk/jdk/classfile/LowAdaptTest.java ! test/jdk/jdk/classfile/LvtTest.java ! test/jdk/jdk/classfile/OneToOneTest.java ! test/jdk/jdk/classfile/OpcodesValidationTest.java ! test/jdk/jdk/classfile/PrimitiveClassConstantTest.java ! test/jdk/jdk/classfile/ShortJumpsFixTest.java ! test/jdk/jdk/classfile/StackMapsTest.java ! test/jdk/jdk/classfile/StackTrackerTest.java ! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java ! test/jdk/jdk/classfile/TransformTests.java ! test/jdk/jdk/classfile/Utf8EntryTest.java ! test/jdk/jdk/classfile/WriteTest.java ! test/jdk/jdk/classfile/examples/ExampleGallery.java ! test/jdk/jdk/classfile/helpers/InstructionModelToCodeBuilder.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/jdk/jdk/classfile/helpers/Transforms.java ! test/jdk/jdk/lambda/separate/ClassToInterfaceConverter.java ! test/micro/org/openjdk/bench/java/lang/invoke/LazyStaticColdStart.java ! test/micro/org/openjdk/bench/jdk/classfile/RebuildMethodBodies.java ! test/micro/org/openjdk/bench/jdk/classfile/Transforms.java ! test/micro/org/openjdk/bench/jdk/classfile/Write.java Changeset: beebce04 Author: Martin Doerr Date: 2024-05-02 10:21:21 +0000 URL: https://git.openjdk.org/loom/commit/beebce044db97e50a7aea3f83d70e134b2128d0a 8331421: ubsan: vmreg.cpp checking error member call on misaligned address Reviewed-by: mbaesken, lucy ! src/hotspot/share/code/vmreg.cpp ! src/hotspot/share/code/vmreg.hpp Changeset: c9255f3f Author: Jaikiran Pai Date: 2024-05-02 10:46:29 +0000 URL: https://git.openjdk.org/loom/commit/c9255f3f5d3b826b9502e21aa953f0cf9f9abdec 8331514: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/JspawnhelperWarnings.java Changeset: 20569687 Author: Jaikiran Pai Date: 2024-05-02 10:46:41 +0000 URL: https://git.openjdk.org/loom/commit/2056968777f3c8e3f783a8d52ff8a537c52fa8b1 8331513: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/RedirectTimeoutTest.java ! test/jdk/java/net/httpclient/http2/ExpectContinueResetTest.java Changeset: 4a78906d Author: Christian Stein Date: 2024-05-02 11:13:41 +0000 URL: https://git.openjdk.org/loom/commit/4a78906db1ebb56a759b43c2dfa909215491d4c0 8331537: Test code should not use the "Classpath" exception clause Reviewed-by: jpai ! test/langtools/tools/javac/launcher/BasicSourceLauncherTests.java ! test/langtools/tools/javac/launcher/ModuleSourceLauncherTests.java ! test/langtools/tools/javac/launcher/MultiFileSourceLauncherTests.java ! test/langtools/tools/javac/launcher/ProgramDescriptorTests.java ! test/langtools/tools/javac/launcher/Run.java ! test/langtools/tools/javac/launcher/src/p/q/CLTest.java Changeset: cccc9535 Author: Tobias Hartmann Date: 2024-05-02 11:38:00 +0000 URL: https://git.openjdk.org/loom/commit/cccc95358d5c38cbcabc7f79abc53674deb1e6d8 8329258: TailCall should not use frame pointer register for jump target Co-authored-by: Fei Yang Reviewed-by: rcastanedalo, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad + test/hotspot/jtreg/compiler/arraycopy/TestTailCallInArrayCopyStub.java Changeset: c21672d8 Author: Weibing Xiao Committer: Sean Coffey Date: 2024-05-02 11:48:41 +0000 URL: https://git.openjdk.org/loom/commit/c21672d8c94da6aa613174744ceaa945ca2a474a 8331077: nroff man page update for jar tool Reviewed-by: jjg, coffeys ! src/jdk.jartool/share/man/jar.1 Changeset: 257a07d5 Author: Adam Sotona Date: 2024-05-02 12:20:07 +0000 URL: https://git.openjdk.org/loom/commit/257a07d5ca4d876f7f79a5f2598054ca261777ee 8331511: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: jpai ! test/jdk/jdk/classfile/OptionsTest.java Changeset: 9912abf5 Author: Alexander Zvegintsev Date: 2024-05-02 12:20:18 +0000 URL: https://git.openjdk.org/loom/commit/9912abf586f4e0f76591639ae18d5c074edaa2c5 8331011: [XWayland] TokenStorage fails under Security Manager Reviewed-by: prr, honkar, serb ! src/java.desktop/unix/classes/sun/awt/screencast/TokenStorage.java Changeset: a024eed7 Author: Erik Gahlin Date: 2024-05-02 12:42:59 +0000 URL: https://git.openjdk.org/loom/commit/a024eed7384828643e302f021a253717f53e3778 8331478: JFR: Rename printHelp methods for jdk.jfr.internal.dcmd classes Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdConfigure.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.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/DCmdStop.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdView.java Changeset: 389f6fe9 Author: Thomas Stuefe Date: 2024-05-02 13:41:29 +0000 URL: https://git.openjdk.org/loom/commit/389f6fe97c348e28d8573fe4754138d2a0bd6c0d 8331344: No compiler replay file with CompilerCommand MemLimit Reviewed-by: kvn, asmehra ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilationMemoryStatistic.hpp ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java Changeset: dd0b6418 Author: Thomas Stuefe Date: 2024-05-02 13:48:36 +0000 URL: https://git.openjdk.org/loom/commit/dd0b6418191c765a92bfd03ec4d4206e0da7ee45 8330813: Don't call methods from Compressed(Oops|Klass) if the associated mode is inactive Reviewed-by: stefank, asmehra ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp Changeset: 553d45b1 Author: Fredrik Bredberg Date: 2024-05-02 13:53:45 +0000 URL: https://git.openjdk.org/loom/commit/553d45b11460a794613651373f34c8379c11729b 8323724: Remove potential re-inflation from FastHashCode under LM_LIGHTWEIGHT Reviewed-by: aboldtch, coleenp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 8771015d Author: Jan Lahoda Date: 2024-05-02 14:32:03 +0000 URL: https://git.openjdk.org/loom/commit/8771015d7e3c4349ad58b58150a49217b1ffb902 8331027: JDK's ct.sym file packs corrupted module-info classes Reviewed-by: asotona ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java + test/langtools/tools/javac/platform/VerifyCTSymClassFiles.java ! test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTest.java ! test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java Changeset: 3383ad63 Author: Vladimir Kozlov Date: 2024-05-02 14:41:30 +0000 URL: https://git.openjdk.org/loom/commit/3383ad6397d5a2d8fb232ffd3e29a54e0b37b686 8331253: 16 bits is not enough for nmethod::_skipped_instructions_size field Reviewed-by: dlong, thartmann ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/asm/codeBuffer.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/opto/output.cpp Changeset: 7a41a525 Author: Albert Mingkun Yang Date: 2024-05-02 15:03:48 +0000 URL: https://git.openjdk.org/loom/commit/7a41a525deb796396ade1456f1d0a101ac705014 8331549: Inline MemAllocator::mem_allocate_slow Reviewed-by: stefank, gli ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp Changeset: 6969a9e0 Author: Alisen Chung Date: 2024-05-02 15:36:10 +0000 URL: https://git.openjdk.org/loom/commit/6969a9e0b2143eee5a7cfa02460a8ab6dfa08cda 8328999: Update GIFlib to 5.2.2 Reviewed-by: tr, dnguyen, prr ! src/java.desktop/share/legal/giflib.md ! src/java.desktop/share/native/libsplashscreen/giflib/dgif_lib.c ! src/java.desktop/share/native/libsplashscreen/giflib/gif_err.c ! src/java.desktop/share/native/libsplashscreen/giflib/gif_hash.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib_private.h ! src/java.desktop/share/native/libsplashscreen/giflib/gifalloc.c ! src/java.desktop/share/native/libsplashscreen/giflib/openbsd-reallocarray.c Changeset: 6f98d8f5 Author: Harshitha Onkar Date: 2024-05-02 16:10:55 +0000 URL: https://git.openjdk.org/loom/commit/6f98d8f58f98827ae454c7ce4839de4071d95767 8329692: Add more details to FrameStateTest.java test instructions Reviewed-by: tr, azvegint ! test/jdk/java/awt/Frame/FrameStateTest/FrameStateTest.java Changeset: e2c0cfef Author: Adam Sotona Date: 2024-05-02 18:07:42 +0000 URL: https://git.openjdk.org/loom/commit/e2c0cfef1468e1081d1e68f74caae71266815cb6 8331320: ClassFile API OutOfMemoryError with certain class files Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 73cdc9a0 Author: Swati Sharma Committer: Sandhya Viswanathan Date: 2024-05-02 18:28:50 +0000 URL: https://git.openjdk.org/loom/commit/73cdc9a070249791f7d228a93fe5b9335c5f72bd 8326421: Add jtreg test for large arrayCopy disjoint case. Co-authored-by: Steve Dohrmann Reviewed-by: kvn, sviswanathan + test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjointLarge.java Changeset: cd3a6075 Author: Ben Perez Committer: Weijun Wang Date: 2024-05-02 18:50:38 +0000 URL: https://git.openjdk.org/loom/commit/cd3a607576bede17f48c3d5ebde2bf05f3b615ba 8328864: NullPointerException in sun.security.jca.ProviderList.getService() Reviewed-by: weijun ! src/java.base/share/classes/sun/security/jca/ProviderList.java + test/jdk/sun/security/jca/NullPreferredList.java + test/jdk/sun/security/jca/app-security.properties Changeset: 99654ec3 Author: Phil Race Date: 2024-05-02 20:18:16 +0000 URL: https://git.openjdk.org/loom/commit/99654ec3fb2c2e7c8d5bf5965aaf45aeb4b88c61 8331516: Tests should not use the "Classpath" exception form of the legal header Reviewed-by: iris, serb ! test/jdk/java/awt/font/GlyphVector/LayoutCompatTest.java Changeset: f6cdcc6f Author: Alexander Zvegintsev Date: 2024-05-02 20:18:25 +0000 URL: https://git.openjdk.org/loom/commit/f6cdcc6f65f2a436906541bb8266e69ded17e2e3 8280988: [XWayland] Click on title to request focus test failures Reviewed-by: honkar, serb ! test/jdk/java/awt/Focus/6981400/Test1.java ! test/jdk/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java ! test/jdk/java/awt/Focus/ModalDialogInFocusEventTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/lib/jdk/test/lib/Platform.java Changeset: 04271dfe Author: SendaoYan Committer: Magnus Ihse Bursie Date: 2024-05-02 21:19:16 +0000 URL: https://git.openjdk.org/loom/commit/04271dfe7a262379944e2a2cf83a98a3a1b78a74 8331331: :tier1 target explanation in doc/testing.md is incorrect Reviewed-by: erikj, dholmes, ihse ! doc/testing.html ! doc/testing.md Changeset: 01125fa2 Author: Alexander Zvegintsev Date: 2024-05-02 21:29:27 +0000 URL: https://git.openjdk.org/loom/commit/01125fa21b733199d4fe670ecf38b82cd917e242 8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure Reviewed-by: prr ! test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java Changeset: 6bef0474 Author: Zhengyu Gu Date: 2024-05-03 00:28:18 +0000 URL: https://git.openjdk.org/loom/commit/6bef0474c8b8773d0d20c0f25c36a2ce9cdbd7e8 8272364: Parallel GC adaptive size policy may shrink the heap below MinHeapSize Reviewed-by: ayang, rkennke ! src/hotspot/share/gc/shared/genArguments.cpp + test/hotspot/jtreg/gc/arguments/TestParallelGCErgo.java Changeset: 7c1fad4f Author: Prasanta Sadhukhan Date: 2024-05-03 05:11:52 +0000 URL: https://git.openjdk.org/loom/commit/7c1fad4fb6c387bbfb72b3f96b610e7cbc2ef312 8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected Reviewed-by: abhiscxk, honkar, dnguyen ! test/jdk/javax/swing/JFrame/bug4419914.java Changeset: 8bc641eb Author: Christian Hagedorn Date: 2024-05-03 05:49:39 +0000 URL: https://git.openjdk.org/loom/commit/8bc641ebe75ba4c975a99a8646b89ed10a7029f5 8331404: IGV: Show line numbers for callees in properties Reviewed-by: tholenstein, thartmann ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/idealGraphPrinter.hpp Changeset: a10845b5 Author: Joachim Kern Committer: Martin Doerr Date: 2024-05-03 08:31:42 +0000 URL: https://git.openjdk.org/loom/commit/a10845b553fc6fe7e06a0f37ce73fe5f704dc7c4 8330539: Use #include instead of -Dalloca'(size)'=__builtin_alloca'(size)' for AIX Reviewed-by: jwaters, mdoerr, kbarrett, ihse ! make/autoconf/flags-cflags.m4 ! src/hotspot/share/utilities/globalDefinitions_gcc.hpp Changeset: f665e07a Author: Afshin Zafari Date: 2024-05-03 10:17:11 +0000 URL: https://git.openjdk.org/loom/commit/f665e07ab223bdabb6cf3f653f799913d874bc55 8331540: [BACKOUT] NMT: add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API Reviewed-by: jwilhelm ! src/hotspot/cpu/aarch64/compressedKlass_aarch64.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/gc/x/xPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/perfMemory_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/objectStartArray.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psVirtualspace.cpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/x/xMarkStackAllocator.cpp ! src/hotspot/share/gc/x/xPhysicalMemory.cpp ! src/hotspot/share/gc/x/xVirtualMemory.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/nmt/memTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp ! src/hotspot/share/nmt/virtualMemoryTracker.hpp ! src/hotspot/share/oops/compressedKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/utilities/debug.cpp ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_stressCommitUncommit.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp ! test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp ! test/hotspot/gtest/runtime/test_os.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_reserve_between.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp Changeset: f78fa055 Author: Afshin Zafari Date: 2024-05-03 10:17:23 +0000 URL: https://git.openjdk.org/loom/commit/f78fa0556d93d8ec98f403694e067611e4501fd4 8331636: [BACKOUT] Build failure after 8330076 Reviewed-by: jwilhelm ! src/hotspot/share/memory/virtualspace.cpp From duke at openjdk.org Tue May 7 13:07:42 2024 From: duke at openjdk.org (duke) Date: Tue, 7 May 2024 13:07:42 GMT Subject: git: openjdk/loom: fibers: 36 new changesets Message-ID: Changeset: c60474b1 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-03 11:08:33 +0000 URL: https://git.openjdk.org/loom/commit/c60474b1229b67265acbd709f6ba081303329be4 8323707: Adjust Classfile API's type arg model to better represent the embodied type Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/Signature.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SignaturesImpl.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java ! test/jdk/jdk/classfile/SignaturesTest.java ! test/langtools/tools/javap/classfile/6888367/T6888367.java Changeset: 1f6d38f7 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-03 11:57:10 +0000 URL: https://git.openjdk.org/loom/commit/1f6d38f7a63c6cb429953c5e9bb0b9f365bfcabe 8294978: Convert 5 test/jdk/jdk/jfr tests from ASM library to Classfile API Reviewed-by: asotona ! test/jdk/jdk/jfr/event/compiler/TestCompilerInlining.java ! test/jdk/jdk/jfr/event/io/TestInstrumentation.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java ! test/jdk/jdk/jfr/jvm/TestLargeJavaEvent512k.java ! test/jdk/jdk/jfr/jvm/TestLargeJavaEvent64k.java Changeset: 8ed31902 Author: Thomas Schatzl Date: 2024-05-03 12:03:28 +0000 URL: https://git.openjdk.org/loom/commit/8ed319023e921a980ea197fbffe417f35fc59b94 8331401: G1: Make G1HRPrinter AllStatic Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 3c77dad0 Author: Erik Gahlin Date: 2024-05-03 12:06:11 +0000 URL: https://git.openjdk.org/loom/commit/3c77dad007df2329eb653264cb8e0273f09fabfe 8331507: JFR: Improve example usage in -XX:StartFlightRecording:help Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java Changeset: 58ef9e48 Author: Thomas Schatzl Date: 2024-05-03 12:33:41 +0000 URL: https://git.openjdk.org/loom/commit/58ef9e4805c0cc78935eb5a1c82ae10411d52e85 8331402: G1: Remove is_active() calls in G1HRPrinter logging Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: ce73fec8 Author: Ivan Walulya Date: 2024-05-03 12:35:58 +0000 URL: https://git.openjdk.org/loom/commit/ce73fec882357d749619576a3219516b7391fb3f 8331048: G1: Prune rebuild candidates based on G1HeapWastePercent early 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/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp Changeset: 9697bc38 Author: Matthias Baesken Date: 2024-05-03 13:02:37 +0000 URL: https://git.openjdk.org/loom/commit/9697bc38586059d9bb020d3ca44a1c6cd7de315c 8331428: ubsan: JVM flag checking complains about MaxTenuringThresholdConstraintFunc, InitialTenuringThresholdConstraintFunc and AllocatePrefetchStepSizeConstraintFunc Reviewed-by: stefank, aboldtch, tschatzl ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp Changeset: 1d083eb1 Author: Thomas Schatzl Date: 2024-05-03 13:10:00 +0000 URL: https://git.openjdk.org/loom/commit/1d083eb15a653dbfbd262de76c1312207192bda7 8331562: G1: Remove API to force allocation of new regions Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp ! 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 ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: 37c24695 Author: Albert Mingkun Yang Date: 2024-05-03 13:27:58 +0000 URL: https://git.openjdk.org/loom/commit/37c24695390e409aae6df9f7d2ecc86724dd051d 8331633: Use MIN2 in bound_minus_alignment Reviewed-by: zgu ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: 87bb66ce Author: Thomas Schatzl Date: 2024-05-03 13:39:48 +0000 URL: https://git.openjdk.org/loom/commit/87bb66cea1b6b70fc4929e7a6e3788883f87e02d 8331569: G1: Rename G1HRPrinter to G1HeapRegionPrinter Reviewed-by: gli, ayang ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp - src/hotspot/share/gc/g1/g1HRPrinter.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp + src/hotspot/share/gc/g1/g1HeapRegionPrinter.cpp = src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 77b71222 Author: Sean Coffey Date: 2024-05-03 15:18:38 +0000 URL: https://git.openjdk.org/loom/commit/77b71222a05a5ef3875a71eda26e31b25548cba2 8312104: Update java man pages to include new security category in -XshowSettings Reviewed-by: lancea ! src/java.base/share/man/java.1 Changeset: cf2c80e4 Author: Naoto Sato Date: 2024-05-03 16:14:24 +0000 URL: https://git.openjdk.org/loom/commit/cf2c80e4fcd74b9d1d60e2358e7883bdd8a4ac80 8331582: Incorrect default Console provider comment Reviewed-by: joehw, jlahoda, jlu, prappo ! src/java.base/share/classes/java/io/Console.java Changeset: b33096f8 Author: Justin Lu Date: 2024-05-03 16:58:59 +0000 URL: https://git.openjdk.org/loom/commit/b33096f887108c3d7e1f4e62689c2b10401234fa 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory Reviewed-by: lancea, naoto ! test/jdk/java/util/Base64/TestEncodingDecodingLength.java Changeset: 36c9607f Author: Phil Race Date: 2024-05-03 19:06:13 +0000 URL: https://git.openjdk.org/loom/commit/36c9607f66f91a0c46342543b30b57ac1cf106ec 8331591: sun.font.CharSequenceCodePointIterator is buggy and unused Reviewed-by: angorya, honkar ! src/java.desktop/share/classes/sun/font/CodePointIterator.java Changeset: c1a16452 Author: Adam Sotona Date: 2024-05-03 19:15:12 +0000 URL: https://git.openjdk.org/loom/commit/c1a164528a538d5de78f99c4c92291b1906703f5 8331655: ClassFile API ClassCastException with verbose output of certain class files Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: b20fa7b4 Author: Doug Simon Date: 2024-05-03 19:51:37 +0000 URL: https://git.openjdk.org/loom/commit/b20fa7b48b0f0a64c0760f26188d4c11c3233b61 8329982: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java failed assert(oopDesc::is_oop_or_null(val)) failed: bad oop found Reviewed-by: never ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp - test/hotspot/jtreg/compiler/jvmci/compilerToVM/InvalidateInstalledCodeTest.java - test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.config - test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/CodeInstallationTest.java + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/RuntimeStubAllocFailTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/TestAssembler.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/TestHotSpotVMConfig.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/aarch64/AArch64TestAssembler.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/amd64/AMD64TestAssembler.java Changeset: 9347bb7d Author: Cesar Soares Lucas Committer: Vladimir Kozlov Date: 2024-05-03 23:41:12 +0000 URL: https://git.openjdk.org/loom/commit/9347bb7df845ee465c378c6f511ef8a6caea18ea 8330247: C2: CTW fail with assert(adr_t->is_known_instance_field()) failed: instance required Reviewed-by: kvn ! src/hotspot/share/opto/macro.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNonExactAllocate.java Changeset: f2c4a413 Author: Jan Lahoda Date: 2024-05-06 05:49:28 +0000 URL: https://git.openjdk.org/loom/commit/f2c4a41304d4fe984b79792cb3be460d7026e812 8328481: Implement JEP 476: Module Import Declarations (Preview) Co-authored-by: Jim Laskey Reviewed-by: mcimadamore, vromero ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Startup.java ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java + src/jdk.jshell/share/classes/jdk/jshell/tool/resources/PREVIEW_DEFAULT.jsh ! test/langtools/jdk/jshell/ImportTest.java ! test/langtools/jdk/jshell/KullaTesting.java ! test/langtools/jdk/jshell/StartOptionTest.java ! test/langtools/jdk/jshell/ToolProviderTest.java + test/langtools/tools/javac/ImportModule.java + test/langtools/tools/javac/diags/examples/ImportModule.java + test/langtools/tools/javac/diags/examples/ImportModuleDoesNotRead/module-info.java = test/langtools/tools/javac/diags/examples/ImportModuleDoesNotRead/test/Test.java + test/langtools/tools/javac/diags/examples/ImportModuleDoesNotReadUnnamed.java + test/langtools/tools/javac/diags/examples/ImportModuleNotFound.java + test/langtools/tools/javac/tree/Imports.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java ! test/langtools/tools/lib/toolbox/ToolBox.java Changeset: f1509e00 Author: Jan Lahoda Date: 2024-05-06 06:01:42 +0000 URL: https://git.openjdk.org/loom/commit/f1509e007d1538acfb1749f7fafc56be2affd2e6 8330998: System.console() writes to stderr when stdout is redirected Reviewed-by: naoto ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/TerminalBuilder.java + test/jdk/jdk/internal/jline/RedirectedStdOut.java Changeset: 4bbd972c Author: Christian Hagedorn Date: 2024-05-06 07:48:22 +0000 URL: https://git.openjdk.org/loom/commit/4bbd972cbb114b99e856aa7904c0240049052b6a 8305638: Renaming and small clean-ups around predicates Reviewed-by: roland, epeter ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 15862a2f Author: Jan Lahoda Date: 2024-05-06 08:48:46 +0000 URL: https://git.openjdk.org/loom/commit/15862a2f116331b7f439619c3aa1b5965e737044 8331708: jdk/internal/jline/RedirectedStdOut.java times-out on macosx-aarch64 Reviewed-by: asotona ! test/jdk/jdk/internal/jline/RedirectedStdOut.java Changeset: 6c776411 Author: Roberto Casta?eda Lozano Date: 2024-05-06 09:26:53 +0000 URL: https://git.openjdk.org/loom/commit/6c7764118ef1a684edddb302a4eaff36d80c783f 8331418: ZGC: generalize barrier liveness logic Reviewed-by: mdoerr, aboldtch, fyang, eosterlund ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 9b0bb033 Author: Albert Mingkun Yang Date: 2024-05-06 09:41:07 +0000 URL: https://git.openjdk.org/loom/commit/9b0bb03366642dd787b02809b3759ed714da9b81 8331285: Deprecate and obsolete OldSize Reviewed-by: dholmes, eosterlund ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: e8a2d566 Author: Erik Gahlin Date: 2024-05-06 11:01:55 +0000 URL: https://git.openjdk.org/loom/commit/e8a2d5669cda59d0f9a10e5a8035c20b8678d3d8 8331653: JFR: Improve logging for jdk/jfr/api/consumer/recordingstream;TestStop.java Reviewed-by: mgronlun ! test/jdk/jdk/jfr/api/consumer/recordingstream/TestStop.java Changeset: 1eec30a6 Author: Aleksey Shipilev Date: 2024-05-06 11:17:39 +0000 URL: https://git.openjdk.org/loom/commit/1eec30a6c03b7f4028405dc9bdb4d2a663b3987d 8331573: Rename CollectedHeap::is_gc_active to be explicitly about STW GCs Reviewed-by: stefank, zgu, tschatzl, gli ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/isGCActiveMark.cpp ! src/hotspot/share/gc/shared/isGCActiveMark.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/x/xDriver.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zVerify.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/prims/forte.cpp ! src/hotspot/share/runtime/jniHandles.cpp Changeset: a8e62af7 Author: Tobias Hartmann Date: 2024-05-06 11:43:07 +0000 URL: https://git.openjdk.org/loom/commit/a8e62af733cb1acc1370561c9dd374b3f9c2c294 8331389: runtime/ErrorHandling/TestDwarf.java fails with "Crash JVM should not exit gracefully" Reviewed-by: chagedorn ! test/hotspot/jtreg/runtime/ErrorHandling/TestDwarf.java Changeset: fa02667d Author: Vladimir Ivanov Date: 2024-05-06 12:21:15 +0000 URL: https://git.openjdk.org/loom/commit/fa02667d838f08cac7d41dfb4c3e8056ae6165cc 8322726: C2: Unloaded signature class kills argument value Reviewed-by: kvn, dlong, thartmann ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp + test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloaded.java + test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloadedHelper.java Changeset: 7a35f922 Author: Zhengyu Gu Date: 2024-05-06 13:25:36 +0000 URL: https://git.openjdk.org/loom/commit/7a35f922f06c4649f9ea8a1fb1782b2a670311ce 8331660: Parallel: Cleanup includes in parallelScavangeHeap files Reviewed-by: gli, ayang ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/psVMOperations.cpp Changeset: ae60d845 Author: Nizar Benalla Committer: Weijun Wang Date: 2024-05-06 15:54:40 +0000 URL: https://git.openjdk.org/loom/commit/ae60d845007c7137895e3a5f86623d0731fee81f 8328501: Incorrect `@since` tags for java security interfaces Reviewed-by: mullan ! src/java.base/share/classes/java/security/interfaces/DSAPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/DSAPublicKey.java ! src/java.base/share/classes/java/security/interfaces/ECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/ECPublicKey.java ! src/java.base/share/classes/java/security/interfaces/EdECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/EdECPublicKey.java ! src/java.base/share/classes/java/security/interfaces/RSAPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/RSAPublicKey.java ! src/java.base/share/classes/java/security/interfaces/XECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/XECPublicKey.java ! src/java.base/share/classes/javax/crypto/interfaces/DHPrivateKey.java ! src/java.base/share/classes/javax/crypto/interfaces/DHPublicKey.java Changeset: a8b3f194 Author: Fabian Meumertzheim Committer: Brian Burkhalter Date: 2024-05-06 17:01:11 +0000 URL: https://git.openjdk.org/loom/commit/a8b3f194e811eed6b20bce71c752705c7cd50d24 8330077: Allow max number of events to be buffered to be configurable to avoid OVERFLOW_EVENT Reviewed-by: bpb, alanb ! src/java.base/share/classes/java/nio/file/WatchService.java ! src/java.base/share/classes/sun/nio/fs/AbstractWatchKey.java + test/jdk/java/nio/file/WatchService/LotsOfEntries.java Changeset: f308e107 Author: Bhavana Kilambi Committer: Eric Liu Date: 2024-05-06 22:59:14 +0000 URL: https://git.openjdk.org/loom/commit/f308e107ce8b993641ee3d0a0d5d52bf5cd3b94e 8331400: AArch64: Sync aarch64_vector.ad with aarch64_vector_ad.m4 Reviewed-by: aph, kvn, eliu ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 Changeset: 3b8227ba Author: Nizar Benalla Committer: Adam Sotona Date: 2024-05-07 05:28:45 +0000 URL: https://git.openjdk.org/loom/commit/3b8227ba24c7bc05a8ea23801e3816e8fc80de4e 8326836: Incorrect `@since` tags for ClassSignature methods Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassSignature.java Changeset: df1ff056 Author: Emanuel Peter Date: 2024-05-07 07:08:32 +0000 URL: https://git.openjdk.org/loom/commit/df1ff056f19ce569e05b0b87584e289840fc5d5c 8331085: Crash in MergePrimitiveArrayStores::is_compatible_store() Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/c2/TestMergeStoresNullAdrType.java Changeset: a2584a83 Author: Aleksey Shipilev Date: 2024-05-07 08:30:26 +0000 URL: https://git.openjdk.org/loom/commit/a2584a8341b2dc9c102abd373a890b2108d3f57e 8331714: Make OopMapCache installation lock-free Reviewed-by: zgu, coleenp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 23a72a1f Author: Martin Doerr Date: 2024-05-07 08:32:48 +0000 URL: https://git.openjdk.org/loom/commit/23a72a1f2f651d5e8e9a0eb1e75e2b44572a13da 8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer Reviewed-by: mbaesken, stefank ! src/hotspot/share/prims/unsafe.cpp Changeset: bad48498 Author: Alan Bateman Date: 2024-05-07 11:17:39 +0000 URL: https://git.openjdk.org/loom/commit/bad484981057e9592a7a58fe2bc802a62828ba90 Merge ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.cpp From duke at openjdk.org Tue May 7 13:09:42 2024 From: duke at openjdk.org (duke) Date: Tue, 7 May 2024 13:09:42 GMT Subject: git: openjdk/loom: master: 35 new changesets Message-ID: Changeset: c60474b1 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-03 11:08:33 +0000 URL: https://git.openjdk.org/loom/commit/c60474b1229b67265acbd709f6ba081303329be4 8323707: Adjust Classfile API's type arg model to better represent the embodied type Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/Signature.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SignaturesImpl.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java ! test/jdk/jdk/classfile/SignaturesTest.java ! test/langtools/tools/javap/classfile/6888367/T6888367.java Changeset: 1f6d38f7 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-03 11:57:10 +0000 URL: https://git.openjdk.org/loom/commit/1f6d38f7a63c6cb429953c5e9bb0b9f365bfcabe 8294978: Convert 5 test/jdk/jdk/jfr tests from ASM library to Classfile API Reviewed-by: asotona ! test/jdk/jdk/jfr/event/compiler/TestCompilerInlining.java ! test/jdk/jdk/jfr/event/io/TestInstrumentation.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java ! test/jdk/jdk/jfr/jvm/TestLargeJavaEvent512k.java ! test/jdk/jdk/jfr/jvm/TestLargeJavaEvent64k.java Changeset: 8ed31902 Author: Thomas Schatzl Date: 2024-05-03 12:03:28 +0000 URL: https://git.openjdk.org/loom/commit/8ed319023e921a980ea197fbffe417f35fc59b94 8331401: G1: Make G1HRPrinter AllStatic Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1HRPrinter.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 3c77dad0 Author: Erik Gahlin Date: 2024-05-03 12:06:11 +0000 URL: https://git.openjdk.org/loom/commit/3c77dad007df2329eb653264cb8e0273f09fabfe 8331507: JFR: Improve example usage in -XX:StartFlightRecording:help Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java Changeset: 58ef9e48 Author: Thomas Schatzl Date: 2024-05-03 12:33:41 +0000 URL: https://git.openjdk.org/loom/commit/58ef9e4805c0cc78935eb5a1c82ae10411d52e85 8331402: G1: Remove is_active() calls in G1HRPrinter logging Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: ce73fec8 Author: Ivan Walulya Date: 2024-05-03 12:35:58 +0000 URL: https://git.openjdk.org/loom/commit/ce73fec882357d749619576a3219516b7391fb3f 8331048: G1: Prune rebuild candidates based on G1HeapWastePercent early 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/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp Changeset: 9697bc38 Author: Matthias Baesken Date: 2024-05-03 13:02:37 +0000 URL: https://git.openjdk.org/loom/commit/9697bc38586059d9bb020d3ca44a1c6cd7de315c 8331428: ubsan: JVM flag checking complains about MaxTenuringThresholdConstraintFunc, InitialTenuringThresholdConstraintFunc and AllocatePrefetchStepSizeConstraintFunc Reviewed-by: stefank, aboldtch, tschatzl ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp Changeset: 1d083eb1 Author: Thomas Schatzl Date: 2024-05-03 13:10:00 +0000 URL: https://git.openjdk.org/loom/commit/1d083eb15a653dbfbd262de76c1312207192bda7 8331562: G1: Remove API to force allocation of new regions Reviewed-by: iwalulya, ayang, gli ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp ! 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 ! src/hotspot/share/gc/g1/g1HRPrinter.hpp Changeset: 37c24695 Author: Albert Mingkun Yang Date: 2024-05-03 13:27:58 +0000 URL: https://git.openjdk.org/loom/commit/37c24695390e409aae6df9f7d2ecc86724dd051d 8331633: Use MIN2 in bound_minus_alignment Reviewed-by: zgu ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: 87bb66ce Author: Thomas Schatzl Date: 2024-05-03 13:39:48 +0000 URL: https://git.openjdk.org/loom/commit/87bb66cea1b6b70fc4929e7a6e3788883f87e02d 8331569: G1: Rename G1HRPrinter to G1HeapRegionPrinter Reviewed-by: gli, ayang ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp - src/hotspot/share/gc/g1/g1HRPrinter.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp + src/hotspot/share/gc/g1/g1HeapRegionPrinter.cpp = src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 77b71222 Author: Sean Coffey Date: 2024-05-03 15:18:38 +0000 URL: https://git.openjdk.org/loom/commit/77b71222a05a5ef3875a71eda26e31b25548cba2 8312104: Update java man pages to include new security category in -XshowSettings Reviewed-by: lancea ! src/java.base/share/man/java.1 Changeset: cf2c80e4 Author: Naoto Sato Date: 2024-05-03 16:14:24 +0000 URL: https://git.openjdk.org/loom/commit/cf2c80e4fcd74b9d1d60e2358e7883bdd8a4ac80 8331582: Incorrect default Console provider comment Reviewed-by: joehw, jlahoda, jlu, prappo ! src/java.base/share/classes/java/io/Console.java Changeset: b33096f8 Author: Justin Lu Date: 2024-05-03 16:58:59 +0000 URL: https://git.openjdk.org/loom/commit/b33096f887108c3d7e1f4e62689c2b10401234fa 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory Reviewed-by: lancea, naoto ! test/jdk/java/util/Base64/TestEncodingDecodingLength.java Changeset: 36c9607f Author: Phil Race Date: 2024-05-03 19:06:13 +0000 URL: https://git.openjdk.org/loom/commit/36c9607f66f91a0c46342543b30b57ac1cf106ec 8331591: sun.font.CharSequenceCodePointIterator is buggy and unused Reviewed-by: angorya, honkar ! src/java.desktop/share/classes/sun/font/CodePointIterator.java Changeset: c1a16452 Author: Adam Sotona Date: 2024-05-03 19:15:12 +0000 URL: https://git.openjdk.org/loom/commit/c1a164528a538d5de78f99c4c92291b1906703f5 8331655: ClassFile API ClassCastException with verbose output of certain class files Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: b20fa7b4 Author: Doug Simon Date: 2024-05-03 19:51:37 +0000 URL: https://git.openjdk.org/loom/commit/b20fa7b48b0f0a64c0760f26188d4c11c3233b61 8329982: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java failed assert(oopDesc::is_oop_or_null(val)) failed: bad oop found Reviewed-by: never ! src/hotspot/share/gc/shared/barrierSetNMethod.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp - test/hotspot/jtreg/compiler/jvmci/compilerToVM/InvalidateInstalledCodeTest.java - test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.config - test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/CodeInstallationTest.java + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/RuntimeStubAllocFailTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/TestAssembler.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/TestHotSpotVMConfig.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/aarch64/AArch64TestAssembler.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/amd64/AMD64TestAssembler.java Changeset: 9347bb7d Author: Cesar Soares Lucas Committer: Vladimir Kozlov Date: 2024-05-03 23:41:12 +0000 URL: https://git.openjdk.org/loom/commit/9347bb7df845ee465c378c6f511ef8a6caea18ea 8330247: C2: CTW fail with assert(adr_t->is_known_instance_field()) failed: instance required Reviewed-by: kvn ! src/hotspot/share/opto/macro.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNonExactAllocate.java Changeset: f2c4a413 Author: Jan Lahoda Date: 2024-05-06 05:49:28 +0000 URL: https://git.openjdk.org/loom/commit/f2c4a41304d4fe984b79792cb3be460d7026e812 8328481: Implement JEP 476: Module Import Declarations (Preview) Co-authored-by: Jim Laskey Reviewed-by: mcimadamore, vromero ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Startup.java ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java + src/jdk.jshell/share/classes/jdk/jshell/tool/resources/PREVIEW_DEFAULT.jsh ! test/langtools/jdk/jshell/ImportTest.java ! test/langtools/jdk/jshell/KullaTesting.java ! test/langtools/jdk/jshell/StartOptionTest.java ! test/langtools/jdk/jshell/ToolProviderTest.java + test/langtools/tools/javac/ImportModule.java + test/langtools/tools/javac/diags/examples/ImportModule.java + test/langtools/tools/javac/diags/examples/ImportModuleDoesNotRead/module-info.java = test/langtools/tools/javac/diags/examples/ImportModuleDoesNotRead/test/Test.java + test/langtools/tools/javac/diags/examples/ImportModuleDoesNotReadUnnamed.java + test/langtools/tools/javac/diags/examples/ImportModuleNotFound.java + test/langtools/tools/javac/tree/Imports.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java ! test/langtools/tools/lib/toolbox/ToolBox.java Changeset: f1509e00 Author: Jan Lahoda Date: 2024-05-06 06:01:42 +0000 URL: https://git.openjdk.org/loom/commit/f1509e007d1538acfb1749f7fafc56be2affd2e6 8330998: System.console() writes to stderr when stdout is redirected Reviewed-by: naoto ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/TerminalBuilder.java + test/jdk/jdk/internal/jline/RedirectedStdOut.java Changeset: 4bbd972c Author: Christian Hagedorn Date: 2024-05-06 07:48:22 +0000 URL: https://git.openjdk.org/loom/commit/4bbd972cbb114b99e856aa7904c0240049052b6a 8305638: Renaming and small clean-ups around predicates Reviewed-by: roland, epeter ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 15862a2f Author: Jan Lahoda Date: 2024-05-06 08:48:46 +0000 URL: https://git.openjdk.org/loom/commit/15862a2f116331b7f439619c3aa1b5965e737044 8331708: jdk/internal/jline/RedirectedStdOut.java times-out on macosx-aarch64 Reviewed-by: asotona ! test/jdk/jdk/internal/jline/RedirectedStdOut.java Changeset: 6c776411 Author: Roberto Casta?eda Lozano Date: 2024-05-06 09:26:53 +0000 URL: https://git.openjdk.org/loom/commit/6c7764118ef1a684edddb302a4eaff36d80c783f 8331418: ZGC: generalize barrier liveness logic Reviewed-by: mdoerr, aboldtch, fyang, eosterlund ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 9b0bb033 Author: Albert Mingkun Yang Date: 2024-05-06 09:41:07 +0000 URL: https://git.openjdk.org/loom/commit/9b0bb03366642dd787b02809b3759ed714da9b81 8331285: Deprecate and obsolete OldSize Reviewed-by: dholmes, eosterlund ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: e8a2d566 Author: Erik Gahlin Date: 2024-05-06 11:01:55 +0000 URL: https://git.openjdk.org/loom/commit/e8a2d5669cda59d0f9a10e5a8035c20b8678d3d8 8331653: JFR: Improve logging for jdk/jfr/api/consumer/recordingstream;TestStop.java Reviewed-by: mgronlun ! test/jdk/jdk/jfr/api/consumer/recordingstream/TestStop.java Changeset: 1eec30a6 Author: Aleksey Shipilev Date: 2024-05-06 11:17:39 +0000 URL: https://git.openjdk.org/loom/commit/1eec30a6c03b7f4028405dc9bdb4d2a663b3987d 8331573: Rename CollectedHeap::is_gc_active to be explicitly about STW GCs Reviewed-by: stefank, zgu, tschatzl, gli ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/isGCActiveMark.cpp ! src/hotspot/share/gc/shared/isGCActiveMark.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/x/xDriver.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/gc/z/zVerify.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/prims/forte.cpp ! src/hotspot/share/runtime/jniHandles.cpp Changeset: a8e62af7 Author: Tobias Hartmann Date: 2024-05-06 11:43:07 +0000 URL: https://git.openjdk.org/loom/commit/a8e62af733cb1acc1370561c9dd374b3f9c2c294 8331389: runtime/ErrorHandling/TestDwarf.java fails with "Crash JVM should not exit gracefully" Reviewed-by: chagedorn ! test/hotspot/jtreg/runtime/ErrorHandling/TestDwarf.java Changeset: fa02667d Author: Vladimir Ivanov Date: 2024-05-06 12:21:15 +0000 URL: https://git.openjdk.org/loom/commit/fa02667d838f08cac7d41dfb4c3e8056ae6165cc 8322726: C2: Unloaded signature class kills argument value Reviewed-by: kvn, dlong, thartmann ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp + test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloaded.java + test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloadedHelper.java Changeset: 7a35f922 Author: Zhengyu Gu Date: 2024-05-06 13:25:36 +0000 URL: https://git.openjdk.org/loom/commit/7a35f922f06c4649f9ea8a1fb1782b2a670311ce 8331660: Parallel: Cleanup includes in parallelScavangeHeap files Reviewed-by: gli, ayang ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psScavenge.hpp ! src/hotspot/share/gc/parallel/psVMOperations.cpp Changeset: ae60d845 Author: Nizar Benalla Committer: Weijun Wang Date: 2024-05-06 15:54:40 +0000 URL: https://git.openjdk.org/loom/commit/ae60d845007c7137895e3a5f86623d0731fee81f 8328501: Incorrect `@since` tags for java security interfaces Reviewed-by: mullan ! src/java.base/share/classes/java/security/interfaces/DSAPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/DSAPublicKey.java ! src/java.base/share/classes/java/security/interfaces/ECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/ECPublicKey.java ! src/java.base/share/classes/java/security/interfaces/EdECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/EdECPublicKey.java ! src/java.base/share/classes/java/security/interfaces/RSAPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/RSAPublicKey.java ! src/java.base/share/classes/java/security/interfaces/XECPrivateKey.java ! src/java.base/share/classes/java/security/interfaces/XECPublicKey.java ! src/java.base/share/classes/javax/crypto/interfaces/DHPrivateKey.java ! src/java.base/share/classes/javax/crypto/interfaces/DHPublicKey.java Changeset: a8b3f194 Author: Fabian Meumertzheim Committer: Brian Burkhalter Date: 2024-05-06 17:01:11 +0000 URL: https://git.openjdk.org/loom/commit/a8b3f194e811eed6b20bce71c752705c7cd50d24 8330077: Allow max number of events to be buffered to be configurable to avoid OVERFLOW_EVENT Reviewed-by: bpb, alanb ! src/java.base/share/classes/java/nio/file/WatchService.java ! src/java.base/share/classes/sun/nio/fs/AbstractWatchKey.java + test/jdk/java/nio/file/WatchService/LotsOfEntries.java Changeset: f308e107 Author: Bhavana Kilambi Committer: Eric Liu Date: 2024-05-06 22:59:14 +0000 URL: https://git.openjdk.org/loom/commit/f308e107ce8b993641ee3d0a0d5d52bf5cd3b94e 8331400: AArch64: Sync aarch64_vector.ad with aarch64_vector_ad.m4 Reviewed-by: aph, kvn, eliu ! src/hotspot/cpu/aarch64/aarch64_vector.ad ! src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 Changeset: 3b8227ba Author: Nizar Benalla Committer: Adam Sotona Date: 2024-05-07 05:28:45 +0000 URL: https://git.openjdk.org/loom/commit/3b8227ba24c7bc05a8ea23801e3816e8fc80de4e 8326836: Incorrect `@since` tags for ClassSignature methods Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassSignature.java Changeset: df1ff056 Author: Emanuel Peter Date: 2024-05-07 07:08:32 +0000 URL: https://git.openjdk.org/loom/commit/df1ff056f19ce569e05b0b87584e289840fc5d5c 8331085: Crash in MergePrimitiveArrayStores::is_compatible_store() Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/c2/TestMergeStoresNullAdrType.java Changeset: a2584a83 Author: Aleksey Shipilev Date: 2024-05-07 08:30:26 +0000 URL: https://git.openjdk.org/loom/commit/a2584a8341b2dc9c102abd373a890b2108d3f57e 8331714: Make OopMapCache installation lock-free Reviewed-by: zgu, coleenp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 23a72a1f Author: Martin Doerr Date: 2024-05-07 08:32:48 +0000 URL: https://git.openjdk.org/loom/commit/23a72a1f2f651d5e8e9a0eb1e75e2b44572a13da 8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer Reviewed-by: mbaesken, stefank ! src/hotspot/share/prims/unsafe.cpp From duke at openjdk.org Tue May 7 13:11:29 2024 From: duke at openjdk.org (duke) Date: Tue, 7 May 2024 13:11:29 GMT Subject: git: openjdk/loom: fibers: STS update Message-ID: <7e7d1bc0-ec8d-4cf1-b79b-e5579a41aa6b@openjdk.org> Changeset: d1a970a6 Author: Alan Bateman Date: 2024-05-07 14:05:32 +0000 URL: https://git.openjdk.org/loom/commit/d1a970a6336667b19ac5667071fc1482282f5ac0 STS update ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/lang/ScopedValue/StressStackOverflow.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StressShutdown.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredThreadDumpTest.java ! test/jdk/java/util/concurrent/StructuredTaskScope/WithScopedValue.java From duke at openjdk.org Tue May 7 18:03:06 2024 From: duke at openjdk.org (duke) Date: Tue, 7 May 2024 18:03:06 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <7f8a1930-1269-4e96-8357-fe798ae3bc45@openjdk.org> Changeset: 3b2739d5 Author: Alan Bateman Date: 2024-05-07 15:01:12 +0000 URL: https://git.openjdk.org/loom/commit/3b2739d58980abe626aaf71455e883c59ec47e41 Fixed typos ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: 4cf49e02 Author: Alan Bateman Date: 2024-05-07 17:31:36 +0000 URL: https://git.openjdk.org/loom/commit/4cf49e028c6768b438799fa8a1780274c3ff68f3 CallAsWithScopedValue.java failing ! test/jdk/javax/security/auth/Subject/CallAsWithScopedValue.java From duke at openjdk.org Wed May 8 07:04:56 2024 From: duke at openjdk.org (duke) Date: Wed, 8 May 2024 07:04:56 GMT Subject: git: openjdk/loom: fibers: Sync up FJP from JDK-8322732 Message-ID: <77614f48-15c2-41cd-a1ca-e7fac5da59d7@openjdk.org> Changeset: 9e8b802d Author: Alan Bateman Date: 2024-05-08 08:04:08 +0000 URL: https://git.openjdk.org/loom/commit/9e8b802d022c4abb03d90e2396a9cf78ac4104f6 Sync up FJP from JDK-8322732 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java From duke at openjdk.org Thu May 9 05:50:13 2024 From: duke at openjdk.org (duke) Date: Thu, 9 May 2024 05:50:13 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <5d34a755-b31f-480f-8b01-5414fab33c39@openjdk.org> Changeset: 227a117f Author: Alan Bateman Date: 2024-05-08 08:47:00 +0000 URL: https://git.openjdk.org/loom/commit/227a117f82283a6139f8950298e3ffa5c08b38f0 Fix typo ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: d5f8946c Author: Alan Bateman Date: 2024-05-08 19:46:56 +0000 URL: https://git.openjdk.org/loom/commit/d5f8946c924b1031955159c413ae59df50da7608 Test updates ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java From duke at openjdk.org Thu May 9 09:40:48 2024 From: duke at openjdk.org (duke) Date: Thu, 9 May 2024 09:40:48 GMT Subject: git: openjdk/loom: fibers: 27 new changesets Message-ID: <64ed255b-9287-4b7a-a6c2-2f9b8c605c1f@openjdk.org> Changeset: 02a799c0 Author: Axel Boldt-Christmas Date: 2024-05-07 12:41:28 +0000 URL: https://git.openjdk.org/loom/commit/02a799c05576a52b03b74a4ece901e7811dfda76 8331695: Serial: DefNewGeneration:_promotion_failed used without being initialized Reviewed-by: gli, stefank ! src/hotspot/share/gc/serial/defNewGeneration.cpp Changeset: 02c95a6d Author: robertengels Committer: Daniel Fuchs Date: 2024-05-07 13:18:24 +0000 URL: https://git.openjdk.org/loom/commit/02c95a6d7eb77ed17ae64d0f585197e87a67cc4a 6968351: httpserver clashes with delayed TCP ACKs for low Content-Length Reviewed-by: dfuchs, djelinski, michaelm, jpai ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/TcpNoDelayNotRequired.java ! test/jdk/com/sun/net/httpserver/simpleserver/StressDirListings.java ! test/jdk/java/net/Authenticator/B4769350.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8293562.java Changeset: 5746137e Author: Aleksey Shipilev Date: 2024-05-07 14:23:39 +0000 URL: https://git.openjdk.org/loom/commit/5746137e8a46e1eb964fe8c4de015a62dc17a745 8331771: ZGC: Remove OopMapCacheAlloc_lock ordering workaround Reviewed-by: eosterlund, stefank, zgu ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/isGCActiveMark.cpp ! src/hotspot/share/gc/shared/isGCActiveMark.hpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 95d2f807 Author: Daniel Skantz Committer: Christian Hagedorn Date: 2024-05-07 15:50:15 +0000 URL: https://git.openjdk.org/loom/commit/95d2f8072e91e8df80e49e341f4fdb4464a2616e 8330016: Stress seed should be initialized for runtime stub compilation Reviewed-by: rcastanedalo, chagedorn ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 524aaad9 Author: Sonia Zaldana Calles Committer: Christian Hagedorn Date: 2024-05-07 15:59:44 +0000 URL: https://git.openjdk.org/loom/commit/524aaad98317b1a50453e5a9a44922f481fb3b1e 8319957: PhaseOutput::code_size is unused and should be removed Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp Changeset: 8d78e8ca Author: Erik Gahlin Date: 2024-05-07 18:59:41 +0000 URL: https://git.openjdk.org/loom/commit/8d78e8cadcc06aea7179ec97d3bf8b7cee63b447 8319997: JFR: Reduce use of dynamic proxies Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/AnnotationConstruct.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java Changeset: f12ed061 Author: Viktor Klang Date: 2024-05-07 19:06:36 +0000 URL: https://git.openjdk.org/loom/commit/f12ed061ae3fa9d5620a7c6c7ea441f9f33bb745 8048691: Spliterator.SORTED characteristics gets cleared for BaseStream.spliterator Reviewed-by: psandoz, alanb ! src/java.base/share/classes/java/util/stream/StreamSpliterators.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java Changeset: b9108334 Author: Weijun Wang Date: 2024-05-07 23:46:04 +0000 URL: https://git.openjdk.org/loom/commit/b91083341aba952befadd79020079920f9540999 8331864: Update Public Suffix List to 1cbd6e7 Reviewed-by: mullan ! src/java.base/share/data/publicsuffixlist/VERSION ! src/java.base/share/data/publicsuffixlist/public_suffix_list.dat ! src/java.base/share/legal/public_suffix.md ! test/jdk/sun/security/util/RegisteredDomain/ParseNames.java ! test/jdk/sun/security/util/RegisteredDomain/tests.dat Changeset: 8af606fb Author: Jaikiran Pai Date: 2024-05-08 01:12:17 +0000 URL: https://git.openjdk.org/loom/commit/8af606fb8cdb3a6ecdfe4cddd79f228b64d5fc80 8331334: com/sun/net/httpserver/HttpsParametersClientAuthTest.java fails in testServerNeedClientAuth(false) Reviewed-by: dfuchs ! test/jdk/com/sun/net/httpserver/HttpsParametersClientAuthTest.java Changeset: 466a21d8 Author: Axel Boldt-Christmas Date: 2024-05-08 05:03:06 +0000 URL: https://git.openjdk.org/loom/commit/466a21d8646c05d91f29d607c6347afd34c75629 8331863: DUIterator_Fast used before it is constructed Reviewed-by: kvn, shade ! src/hotspot/share/opto/node.hpp Changeset: 7b79426a Author: Christian Stein Date: 2024-05-08 05:48:07 +0000 URL: https://git.openjdk.org/loom/commit/7b79426a1da5896b0f00cf6e5fb4d2e754149e54 8278353: Provide Duke as default favicon in Simple Web Server Reviewed-by: dfuchs ! make/modules/jdk.httpserver/Java.gmk ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java + src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/resources/favicon.ico ! test/jdk/com/sun/net/httpserver/simpleserver/SimpleFileServerTest.java Changeset: 2baacfc1 Author: Matthias Baesken Date: 2024-05-08 07:05:27 +0000 URL: https://git.openjdk.org/loom/commit/2baacfc16916220846743c6e49a99a6c41cac510 8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool' Reviewed-by: stefank, aboldtch ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 7f299043 Author: Raffaello Giulietti Date: 2024-05-08 08:27:13 +0000 URL: https://git.openjdk.org/loom/commit/7f299043a99406dbd666d4f7f30445d26f3eae82 8330005: RandomGeneratorFactory.getDefault() throws exception when the runtime image only has java.base module Reviewed-by: jpai, alanb ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java ! src/java.base/share/classes/java/util/random/package-info.java = src/java.base/share/classes/jdk/internal/random/L128X1024MixRandom.java = src/java.base/share/classes/jdk/internal/random/L128X128MixRandom.java = src/java.base/share/classes/jdk/internal/random/L128X256MixRandom.java = src/java.base/share/classes/jdk/internal/random/L32X64MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X1024MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X128MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X128StarStarRandom.java = src/java.base/share/classes/jdk/internal/random/L64X256MixRandom.java = src/java.base/share/classes/jdk/internal/random/Xoroshiro128PlusPlus.java = src/java.base/share/classes/jdk/internal/random/Xoshiro256PlusPlus.java ! src/java.base/share/classes/module-info.java - src/jdk.random/share/classes/module-info.java Changeset: 0e1dca75 Author: Albert Mingkun Yang Date: 2024-05-08 08:45:27 +0000 URL: https://git.openjdk.org/loom/commit/0e1dca75ef1f145bcf1ad76a2bf21d647ddaf76b 8331715: Remove virtual specifiers in ContiguousSpace Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/shared/space.hpp Changeset: c6f611cf Author: Albert Mingkun Yang Date: 2024-05-08 08:48:11 +0000 URL: https://git.openjdk.org/loom/commit/c6f611cfe0f3d6807b450be19ec00713229dbf42 8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java Reviewed-by: tschatzl ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Changeset: 0eff492e Author: Sean Coffey Date: 2024-05-08 09:30:23 +0000 URL: https://git.openjdk.org/loom/commit/0eff492e4107abc5624f0c3445877bf38629a980 8330278: Have SSLSocketTemplate.doClientSide use loopback address Reviewed-by: ssahoo, rhalade ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/javax/net/ssl/templates/TLSBase.java Changeset: 1aebab78 Author: Hamlin Li Date: 2024-05-08 09:37:42 +0000 URL: https://git.openjdk.org/loom/commit/1aebab780c5b84a85b6f10884d05bb29bae3c3bf 8320995: RISC-V: C2 PopCountVI 8320996: RISC-V: C2 PopCountVL Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java ! test/hotspot/jtreg/compiler/vectorization/TestPopCountVector.java ! test/hotspot/jtreg/compiler/vectorization/TestPopCountVectorLong.java Changeset: edd47c10 Author: Jaikiran Pai Date: 2024-05-08 10:11:01 +0000 URL: https://git.openjdk.org/loom/commit/edd47c10ebfdc021368820dec6a109251554e8b0 8308033: The jcmd thread dump related tests should test virtual threads Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/hotspot/jtreg/serviceability/dcmd/thread/PrintTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstack/DaemonThreadTest.java ! test/jdk/ProblemList-Virtual.txt ! test/jdk/sun/tools/jcmd/JcmdOutputEncodingTest.java ! test/jdk/sun/tools/jstack/BasicJStackTest.java Changeset: aafa15fc Author: Doug Simon Date: 2024-05-08 10:18:33 +0000 URL: https://git.openjdk.org/loom/commit/aafa15fc173af07ebf5361a8c6a09c2a28981c38 8331208: Memory stress test that checks OutOfMemoryError stack trace fails Reviewed-by: dholmes, never ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: ad78b7fa Author: Thomas Stuefe Date: 2024-05-08 10:38:09 +0000 URL: https://git.openjdk.org/loom/commit/ad78b7fa67ba30cab2e8f496e4c765be15deeca6 8331185: Enable compiler memory limits in debug builds Reviewed-by: asmehra, kvn ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! test/hotspot/jtreg/compiler/c2/TestFindNode.java ! test/hotspot/jtreg/compiler/loopopts/TestDeepGraphVerifyIterativeGVN.java ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java ! test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java Changeset: c8452615 Author: Albert Mingkun Yang Date: 2024-05-08 17:56:28 +0000 URL: https://git.openjdk.org/loom/commit/c8452615b1f3c4e03caf70e2c72928d49cb816a7 8331924: Parallel: Remove unused MutableSpace::mangle_unused_area_complete Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp Changeset: 230fac80 Author: Albert Mingkun Yang Date: 2024-05-08 17:57:46 +0000 URL: https://git.openjdk.org/loom/commit/230fac80f25e9608006c8928a8a7708bf13a818c 8331941: Make CollectedHeap::parallel_object_iterator public Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/collectedHeap.hpp Changeset: 42b1d858 Author: Ashutosh Mehra Date: 2024-05-08 20:26:02 +0000 URL: https://git.openjdk.org/loom/commit/42b1d858d15fd06de9ce41b08b430b12724652e9 8330275: Crash in XMark::follow_array Reviewed-by: stefank, stuefe ! src/hotspot/cpu/aarch64/gc/x/xGlobals_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zAddress_aarch64.cpp Changeset: 0d1216c7 Author: Erik Joelsson Date: 2024-05-08 21:57:44 +0000 URL: https://git.openjdk.org/loom/commit/0d1216c7a1dc215550ac769afc21dea91c638215 8331939: Add custom hook for TestImage Reviewed-by: mikael ! make/TestImage.gmk Changeset: 588e314e Author: Erik Joelsson Date: 2024-05-08 21:57:55 +0000 URL: https://git.openjdk.org/loom/commit/588e314e4b96f2a48d46ab8a088a7b8d26be318d 8331886: Allow markdown src file overrides Reviewed-by: ihse ! make/Docs.gmk ! make/common/ProcessMarkdown.gmk Changeset: 2d622152 Author: Vladimir Petko Committer: Magnus Ihse Bursie Date: 2024-05-08 22:36:25 +0000 URL: https://git.openjdk.org/loom/commit/2d622152b07bba0aba8fd5b1e24293e28d6e69f5 8331541: [i386] linking with libjvm.so fails after JDK-8283326 Reviewed-by: djelinski, ihse ! make/autoconf/flags-ldflags.m4 ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S Changeset: 1498b67e Author: Alan Bateman Date: 2024-05-09 06:50:24 +0000 URL: https://git.openjdk.org/loom/commit/1498b67e3fbbf28e26075babc19d39b30169978c Merge ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/jdk/ProblemList-Virtual.txt ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/jdk/ProblemList-Virtual.txt From duke at openjdk.org Thu May 9 09:42:22 2024 From: duke at openjdk.org (duke) Date: Thu, 9 May 2024 09:42:22 GMT Subject: git: openjdk/loom: master: 26 new changesets Message-ID: <96fd0cd8-b03c-4e41-9acb-dab7dd0d42aa@openjdk.org> Changeset: 02a799c0 Author: Axel Boldt-Christmas Date: 2024-05-07 12:41:28 +0000 URL: https://git.openjdk.org/loom/commit/02a799c05576a52b03b74a4ece901e7811dfda76 8331695: Serial: DefNewGeneration:_promotion_failed used without being initialized Reviewed-by: gli, stefank ! src/hotspot/share/gc/serial/defNewGeneration.cpp Changeset: 02c95a6d Author: robertengels Committer: Daniel Fuchs Date: 2024-05-07 13:18:24 +0000 URL: https://git.openjdk.org/loom/commit/02c95a6d7eb77ed17ae64d0f585197e87a67cc4a 6968351: httpserver clashes with delayed TCP ACKs for low Content-Length Reviewed-by: dfuchs, djelinski, michaelm, jpai ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/TcpNoDelayNotRequired.java ! test/jdk/com/sun/net/httpserver/simpleserver/StressDirListings.java ! test/jdk/java/net/Authenticator/B4769350.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8293562.java Changeset: 5746137e Author: Aleksey Shipilev Date: 2024-05-07 14:23:39 +0000 URL: https://git.openjdk.org/loom/commit/5746137e8a46e1eb964fe8c4de015a62dc17a745 8331771: ZGC: Remove OopMapCacheAlloc_lock ordering workaround Reviewed-by: eosterlund, stefank, zgu ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/isGCActiveMark.cpp ! src/hotspot/share/gc/shared/isGCActiveMark.hpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: 95d2f807 Author: Daniel Skantz Committer: Christian Hagedorn Date: 2024-05-07 15:50:15 +0000 URL: https://git.openjdk.org/loom/commit/95d2f8072e91e8df80e49e341f4fdb4464a2616e 8330016: Stress seed should be initialized for runtime stub compilation Reviewed-by: rcastanedalo, chagedorn ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 524aaad9 Author: Sonia Zaldana Calles Committer: Christian Hagedorn Date: 2024-05-07 15:59:44 +0000 URL: https://git.openjdk.org/loom/commit/524aaad98317b1a50453e5a9a44922f481fb3b1e 8319957: PhaseOutput::code_size is unused and should be removed Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp Changeset: 8d78e8ca Author: Erik Gahlin Date: 2024-05-07 18:59:41 +0000 URL: https://git.openjdk.org/loom/commit/8d78e8cadcc06aea7179ec97d3bf8b7cee63b447 8319997: JFR: Reduce use of dynamic proxies Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/EventType.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/AnnotationConstruct.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java Changeset: f12ed061 Author: Viktor Klang Date: 2024-05-07 19:06:36 +0000 URL: https://git.openjdk.org/loom/commit/f12ed061ae3fa9d5620a7c6c7ea441f9f33bb745 8048691: Spliterator.SORTED characteristics gets cleared for BaseStream.spliterator Reviewed-by: psandoz, alanb ! src/java.base/share/classes/java/util/stream/StreamSpliterators.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java Changeset: b9108334 Author: Weijun Wang Date: 2024-05-07 23:46:04 +0000 URL: https://git.openjdk.org/loom/commit/b91083341aba952befadd79020079920f9540999 8331864: Update Public Suffix List to 1cbd6e7 Reviewed-by: mullan ! src/java.base/share/data/publicsuffixlist/VERSION ! src/java.base/share/data/publicsuffixlist/public_suffix_list.dat ! src/java.base/share/legal/public_suffix.md ! test/jdk/sun/security/util/RegisteredDomain/ParseNames.java ! test/jdk/sun/security/util/RegisteredDomain/tests.dat Changeset: 8af606fb Author: Jaikiran Pai Date: 2024-05-08 01:12:17 +0000 URL: https://git.openjdk.org/loom/commit/8af606fb8cdb3a6ecdfe4cddd79f228b64d5fc80 8331334: com/sun/net/httpserver/HttpsParametersClientAuthTest.java fails in testServerNeedClientAuth(false) Reviewed-by: dfuchs ! test/jdk/com/sun/net/httpserver/HttpsParametersClientAuthTest.java Changeset: 466a21d8 Author: Axel Boldt-Christmas Date: 2024-05-08 05:03:06 +0000 URL: https://git.openjdk.org/loom/commit/466a21d8646c05d91f29d607c6347afd34c75629 8331863: DUIterator_Fast used before it is constructed Reviewed-by: kvn, shade ! src/hotspot/share/opto/node.hpp Changeset: 7b79426a Author: Christian Stein Date: 2024-05-08 05:48:07 +0000 URL: https://git.openjdk.org/loom/commit/7b79426a1da5896b0f00cf6e5fb4d2e754149e54 8278353: Provide Duke as default favicon in Simple Web Server Reviewed-by: dfuchs ! make/modules/jdk.httpserver/Java.gmk ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/FileServerHandler.java + src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/resources/favicon.ico ! test/jdk/com/sun/net/httpserver/simpleserver/SimpleFileServerTest.java Changeset: 2baacfc1 Author: Matthias Baesken Date: 2024-05-08 07:05:27 +0000 URL: https://git.openjdk.org/loom/commit/2baacfc16916220846743c6e49a99a6c41cac510 8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool' Reviewed-by: stefank, aboldtch ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 7f299043 Author: Raffaello Giulietti Date: 2024-05-08 08:27:13 +0000 URL: https://git.openjdk.org/loom/commit/7f299043a99406dbd666d4f7f30445d26f3eae82 8330005: RandomGeneratorFactory.getDefault() throws exception when the runtime image only has java.base module Reviewed-by: jpai, alanb ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java ! src/java.base/share/classes/java/util/random/package-info.java = src/java.base/share/classes/jdk/internal/random/L128X1024MixRandom.java = src/java.base/share/classes/jdk/internal/random/L128X128MixRandom.java = src/java.base/share/classes/jdk/internal/random/L128X256MixRandom.java = src/java.base/share/classes/jdk/internal/random/L32X64MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X1024MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X128MixRandom.java = src/java.base/share/classes/jdk/internal/random/L64X128StarStarRandom.java = src/java.base/share/classes/jdk/internal/random/L64X256MixRandom.java = src/java.base/share/classes/jdk/internal/random/Xoroshiro128PlusPlus.java = src/java.base/share/classes/jdk/internal/random/Xoshiro256PlusPlus.java ! src/java.base/share/classes/module-info.java - src/jdk.random/share/classes/module-info.java Changeset: 0e1dca75 Author: Albert Mingkun Yang Date: 2024-05-08 08:45:27 +0000 URL: https://git.openjdk.org/loom/commit/0e1dca75ef1f145bcf1ad76a2bf21d647ddaf76b 8331715: Remove virtual specifiers in ContiguousSpace Reviewed-by: gli, tschatzl ! src/hotspot/share/gc/shared/space.hpp Changeset: c6f611cf Author: Albert Mingkun Yang Date: 2024-05-08 08:48:11 +0000 URL: https://git.openjdk.org/loom/commit/c6f611cfe0f3d6807b450be19ec00713229dbf42 8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java Reviewed-by: tschatzl ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Changeset: 0eff492e Author: Sean Coffey Date: 2024-05-08 09:30:23 +0000 URL: https://git.openjdk.org/loom/commit/0eff492e4107abc5624f0c3445877bf38629a980 8330278: Have SSLSocketTemplate.doClientSide use loopback address Reviewed-by: ssahoo, rhalade ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java ! test/jdk/javax/net/ssl/templates/TLSBase.java Changeset: 1aebab78 Author: Hamlin Li Date: 2024-05-08 09:37:42 +0000 URL: https://git.openjdk.org/loom/commit/1aebab780c5b84a85b6f10884d05bb29bae3c3bf 8320995: RISC-V: C2 PopCountVI 8320996: RISC-V: C2 PopCountVL Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/globals_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! src/hotspot/cpu/riscv/vm_version_riscv.cpp ! src/hotspot/cpu/riscv/vm_version_riscv.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/loopopts/superword/TestGeneralizedReductions.java ! test/hotspot/jtreg/compiler/vectorization/TestPopCountVector.java ! test/hotspot/jtreg/compiler/vectorization/TestPopCountVectorLong.java Changeset: edd47c10 Author: Jaikiran Pai Date: 2024-05-08 10:11:01 +0000 URL: https://git.openjdk.org/loom/commit/edd47c10ebfdc021368820dec6a109251554e8b0 8308033: The jcmd thread dump related tests should test virtual threads Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/hotspot/jtreg/serviceability/dcmd/thread/PrintTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstack/DaemonThreadTest.java ! test/jdk/ProblemList-Virtual.txt ! test/jdk/sun/tools/jcmd/JcmdOutputEncodingTest.java ! test/jdk/sun/tools/jstack/BasicJStackTest.java Changeset: aafa15fc Author: Doug Simon Date: 2024-05-08 10:18:33 +0000 URL: https://git.openjdk.org/loom/commit/aafa15fc173af07ebf5361a8c6a09c2a28981c38 8331208: Memory stress test that checks OutOfMemoryError stack trace fails Reviewed-by: dholmes, never ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: ad78b7fa Author: Thomas Stuefe Date: 2024-05-08 10:38:09 +0000 URL: https://git.openjdk.org/loom/commit/ad78b7fa67ba30cab2e8f496e4c765be15deeca6 8331185: Enable compiler memory limits in debug builds Reviewed-by: asmehra, kvn ! src/hotspot/share/compiler/compilationMemoryStatistic.cpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! test/hotspot/jtreg/compiler/c2/TestFindNode.java ! test/hotspot/jtreg/compiler/loopopts/TestDeepGraphVerifyIterativeGVN.java ! test/hotspot/jtreg/compiler/print/CompileCommandMemLimit.java ! test/hotspot/jtreg/compiler/print/CompileCommandPrintMemStat.java Changeset: c8452615 Author: Albert Mingkun Yang Date: 2024-05-08 17:56:28 +0000 URL: https://git.openjdk.org/loom/commit/c8452615b1f3c4e03caf70e2c72928d49cb816a7 8331924: Parallel: Remove unused MutableSpace::mangle_unused_area_complete Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp Changeset: 230fac80 Author: Albert Mingkun Yang Date: 2024-05-08 17:57:46 +0000 URL: https://git.openjdk.org/loom/commit/230fac80f25e9608006c8928a8a7708bf13a818c 8331941: Make CollectedHeap::parallel_object_iterator public Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/collectedHeap.hpp Changeset: 42b1d858 Author: Ashutosh Mehra Date: 2024-05-08 20:26:02 +0000 URL: https://git.openjdk.org/loom/commit/42b1d858d15fd06de9ce41b08b430b12724652e9 8330275: Crash in XMark::follow_array Reviewed-by: stefank, stuefe ! src/hotspot/cpu/aarch64/gc/x/xGlobals_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zAddress_aarch64.cpp Changeset: 0d1216c7 Author: Erik Joelsson Date: 2024-05-08 21:57:44 +0000 URL: https://git.openjdk.org/loom/commit/0d1216c7a1dc215550ac769afc21dea91c638215 8331939: Add custom hook for TestImage Reviewed-by: mikael ! make/TestImage.gmk Changeset: 588e314e Author: Erik Joelsson Date: 2024-05-08 21:57:55 +0000 URL: https://git.openjdk.org/loom/commit/588e314e4b96f2a48d46ab8a088a7b8d26be318d 8331886: Allow markdown src file overrides Reviewed-by: ihse ! make/Docs.gmk ! make/common/ProcessMarkdown.gmk Changeset: 2d622152 Author: Vladimir Petko Committer: Magnus Ihse Bursie Date: 2024-05-08 22:36:25 +0000 URL: https://git.openjdk.org/loom/commit/2d622152b07bba0aba8fd5b1e24293e28d6e69f5 8331541: [i386] linking with libjvm.so fails after JDK-8283326 Reviewed-by: djelinski, ihse ! make/autoconf/flags-ldflags.m4 ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S From mark.reinhold at oracle.com Thu May 9 18:34:09 2024 From: mark.reinhold at oracle.com (Mark Reinhold) Date: Thu, 9 May 2024 18:34:09 +0000 Subject: New candidate JEP: 480: Structured Concurrency (Third Preview) Message-ID: <20240509183407.305046CA3CA@eggemoggin.niobe.net> https://openjdk.org/jeps/480 Summary: Simplify concurrent programming by introducing an API for structured concurrency. Structured concurrency treats groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability. This is a preview API. - Mark From numeralnathan at gmail.com Fri May 10 17:36:21 2024 From: numeralnathan at gmail.com (Nathan Reynolds) Date: Fri, 10 May 2024 10:36:21 -0700 Subject: Stream.parallel() Uses Virtual Threads? Message-ID: Does/will Stream.parallel() use virtual threads or stay with the Fork Join common pool threads? Let's say I have a Stream where the "loop" is I/O bound. Here is an example. list. stream(). parallel(). map(MyClass::ioBoundOperation). ... In Java 8, 11, and other pre-Java 21 versions, parallel() would use the Fork Join common pool to execute ioBoundOperation() in multiple threads. If the list has many elements, then the Fork Join common pool will run out of threads since there are roughly N threads where N = the number of vCPUs. Other parallel streams will then have to wait. I hope I captured the situation correctly. If parallel() uses virtual threads, then multiple parallel streams can execute and they won't block each other since the number of virtual threads can be very large. Let's say parallel() uses virtual threads, would it make sense to always use parallel()? I guess there is some small overhead for creating a virtual thread. So, processing a small list with short CPU-bound operations may take more time than it saves. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at oracle.com Sat May 11 05:16:22 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Sat, 11 May 2024 06:16:22 +0100 Subject: Stream.parallel() Uses Virtual Threads? In-Reply-To: References: Message-ID: On 10/05/2024 18:36, Nathan Reynolds wrote: > Does/will Stream.parallel() use virtual threads or stay with the Fork > Join common pool threads? > > Let's say I have a Stream where the "loop" is I/O bound. Here is an > example. > > list. > ?? stream(). > ?? parallel(). > ?? map(MyClass::ioBoundOperation). > ?? ... > > In Java 8, 11, and other pre-Java 21 versions, parallel() would use > the Fork Join common pool to execute ioBoundOperation() in multiple > threads.? If the list has many elements, then the Fork Join common > pool will run out of threads since there are roughly N threads where N > = the number of vCPUs.? Other parallel streams will then have to > wait.? I hope I captured the situation correctly. > > If parallel() uses virtual threads, then multiple parallel streams can > execute and they won't block each other since the number of virtual > threads can be very large. > > Let's say parallel() uses virtual threads, would it make sense to > always use parallel()?? I guess there is some small overhead for > creating a virtual thread.? So, processing a small list with short > CPU-bound operations may take more time than it saves. > We aren't planning to change parallel to use virtual threads, I don't think it would make sense in general. Have you looked at Gatherers for doing intermediate operations yet? One of the built-ins is mapConcurrent [1] so in your example you could replace parallel().map(MyClass:ioBoundOperation) with mapConcurrent(MyClass:ioBoundOperation) and have the mapping function for each element run in its own virtual thread. -Alan [1] https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/stream/Gatherers.html#mapConcurrent(int,java.util.function.Function) From viktor.klang at oracle.com Sat May 11 10:58:44 2024 From: viktor.klang at oracle.com (Viktor Klang) Date: Sat, 11 May 2024 10:58:44 +0000 Subject: Stream.parallel() Uses Virtual Threads? In-Reply-To: References: Message-ID: Hi, As I have spent a fair amount of time thinking about this topic specifically, there's a lot of nuance to what it *means* to back parallel streams with VirtualThreads. Background Given the design of the reference implementation of java.util.stream.Stream, in parallel mode the stream pipeline is split up into segments ending with an operation which needs to run to completion, collecting its output as the input for the next segment of the pipeline. That parallelization is using customized implementations of CountedCompleters to literally (Spliterator) split the workload amongst a constructed tree of tasks. CountedCompleters are specialized implementations of ForkJoinTasks (https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/concurrent/CountedCompleter.html ) and enjoy a bit of support from ForkJoinPool (ex:https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java#L1561) On the topic of VirtualThread With that said, backing parallel streams with VirtualThreads would entail a lot of work to reimplement every bespoke CountedCompleter-based operation in parallel streams to perform the equivalent coordination of result completion to achieve the same performance profile as current CPU-bound workloads using parallel streams. There's also no real reason to believe it would provide any significant benefit on a per-workload basis. For IO-bound workloads the situation is somewhat different, because they are often subject to externally-imposed sources of stalls. However, my experience tells me that the areas of IO are often well-understood and typically limited to specific points in a pipeline (usually Input near the beginning, and Output near the end, but there are also cases where you might have request-response-style operations somewhere in the middle). For that case, as Alan mentioned previously, Gatherers (Preview feature) offers a mapConcurrent(maxConcurrency, io-function) which will preserve ordering of elements in the stream, and execute the supplied function inside a VirtualThread up to the configured concurrency limit, and supports cancellation of tasks in the event of short-circuiting. If you have any opportunity to test this functionality, your feedback would be much appreciated. Gatherers (Java SE 22 & JDK 22) declaration: module: java.base, package: java.util.stream, class: Gatherers docs.oracle.com Cheers, ? Viktor Klang Software Architect, Java Platform Group Oracle ________________________________ From: loom-dev on behalf of Alan Bateman Sent: Saturday, 11 May 2024 07:16 To: Nathan Reynolds ; loom-dev at openjdk.org Subject: Re: Stream.parallel() Uses Virtual Threads? On 10/05/2024 18:36, Nathan Reynolds wrote: > Does/will Stream.parallel() use virtual threads or stay with the Fork > Join common pool threads? > > Let's say I have a Stream where the "loop" is I/O bound. Here is an > example. > > list. > stream(). > parallel(). > map(MyClass::ioBoundOperation). > ... > > In Java 8, 11, and other pre-Java 21 versions, parallel() would use > the Fork Join common pool to execute ioBoundOperation() in multiple > threads. If the list has many elements, then the Fork Join common > pool will run out of threads since there are roughly N threads where N > = the number of vCPUs. Other parallel streams will then have to > wait. I hope I captured the situation correctly. > > If parallel() uses virtual threads, then multiple parallel streams can > execute and they won't block each other since the number of virtual > threads can be very large. > > Let's say parallel() uses virtual threads, would it make sense to > always use parallel()? I guess there is some small overhead for > creating a virtual thread. So, processing a small list with short > CPU-bound operations may take more time than it saves. > We aren't planning to change parallel to use virtual threads, I don't think it would make sense in general. Have you looked at Gatherers for doing intermediate operations yet? One of the built-ins is mapConcurrent [1] so in your example you could replace parallel().map(MyClass:ioBoundOperation) with mapConcurrent(MyClass:ioBoundOperation) and have the mapping function for each element run in its own virtual thread. -Alan [1] https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/stream/Gatherers.html#mapConcurrent(int,java.util.function.Function) -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Sat May 11 13:27:51 2024 From: duke at openjdk.org (duke) Date: Sat, 11 May 2024 13:27:51 GMT Subject: git: openjdk/loom: fibers: 40 new changesets Message-ID: <40c83878-244f-45af-b98e-1e59121f497e@openjdk.org> Changeset: 964d6089 Author: Hamlin Li Date: 2024-05-09 07:05:18 +0000 URL: https://git.openjdk.org/loom/commit/964d60892eec5e64942b49182a4c6d4105620acd 8322753: RISC-V: C2 ReverseBytesV Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorapi/VectorReverseBytesTest.java ! test/hotspot/jtreg/compiler/vectorization/TestReverseBytes.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java Changeset: ac86f59e Author: Ioi Lam Date: 2024-05-09 07:43:03 +0000 URL: https://git.openjdk.org/loom/commit/ac86f59e4f5382d5c3e8984532dd210611db7dcb 8330532: Improve line-oriented text parsing in HotSpot Co-authored-by: John R Rose Reviewed-by: matsaave, jsjolen ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp + src/hotspot/share/utilities/istream.cpp + src/hotspot/share/utilities/istream.hpp ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp + test/hotspot/gtest/utilities/test_istream.cpp ! test/hotspot/jtreg/runtime/cds/appcds/LongClassListPath.java ! test/hotspot/jtreg/runtime/cds/appcds/customLoader/ClassListFormatA.java Changeset: ad0b54d4 Author: Kevin Walls Date: 2024-05-09 11:47:45 +0000 URL: https://git.openjdk.org/loom/commit/ad0b54d429fdbd806c09aa06bb42f1ed4a0297e8 8314225: SIGSEGV in JavaThread::is_lock_owned Reviewed-by: dlong, dholmes ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/monitorChunk.cpp ! src/hotspot/share/runtime/monitorChunk.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vframeArray.hpp Changeset: 0a4eeeaa Author: Scott Gibbons Committer: Jatin Bhateja Date: 2024-05-09 11:57:44 +0000 URL: https://git.openjdk.org/loom/commit/0a4eeeaa3c63585244be959386dd94882398e87f 8331033: EA fails with "EA unexpected CallLeaf unsafe_setmemory" after JDK-8329331 Co-authored-by: Jatin Bhateja Reviewed-by: kvn ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/escapeAnalysis/Test8331033.java Changeset: aaa90b30 Author: Jan Lahoda Date: 2024-05-09 13:54:04 +0000 URL: https://git.openjdk.org/loom/commit/aaa90b3005c85852971203ce6feb88e7091e167b 8327476: Upgrade JLine to 3.26.1 Reviewed-by: ihse, vromero ! make/conf/module-loader-map.conf - make/modules/jdk.internal.le/Lib.gmk - src/jdk.internal.le/aix/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/CLibrary.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/CLibraryImpl.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/LinuxNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/UtilLibraryImpl.java - src/jdk.internal.le/linux/native/lible/CLibrary.cpp - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/CLibrary.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/CLibraryImpl.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/NativeLong.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/OsXNativePty.java - src/jdk.internal.le/macosx/native/lible/CLibrary.cpp ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/keymap/BindingReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/keymap/KeyMap.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Binding.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Buffer.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Candidate.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Completer.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletingParsedLine.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletionMatcher.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/EOFError.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Editor.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/EndOfFileException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Expander.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Highlighter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/History.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReaderBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Macro.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/MaskingCallback.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/ParsedLine.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Parser.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/PrintAboveWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Reference.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/SyntaxError.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/Widget.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/BufferImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/CompletionMatcherImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/DefaultExpander.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/DefaultParser.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/InputRC.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/KillRing.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/ReaderUtils.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/SimpleMaskingCallback.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/UndoTree.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/AggregateCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/ArgumentCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/EnumCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/FileNameCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/NullCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/StringsCompleter.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/Attributes.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Cursor.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/MouseEvent.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Size.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Terminal.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/AbstractPty.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/AbstractWindowsConsoleWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractWindowsTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/CursorSupport.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/DumbTerminal.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/DumbTerminalProvider.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExecPty.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExternalTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/LineDisciplineTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/MouseSupport.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/NativeSignalHandler.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixPtyTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixSysTerminal.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/CLibrary.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/FfmNativePty.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/FfmTerminalProvider.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/NativeWinConsoleWriter.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/terminal/impl/ffm/WindowsAnsiWriter.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/jna/LastErrorException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/Pty.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/SystemStream.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalExt.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalProvider.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AnsiWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedCharSequence.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedString.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedStringBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedStyle.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ClosedException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ColorPalette.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Colors.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Curses.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/DiffHelper.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/ExecHelper.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/FastBufferedOutputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/InfoCmp.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/Levenshtein.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Log.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlocking.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStreamImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReaderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ShutdownHooks.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Signals.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Status.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/StyleResolver.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Timeout.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WCWidth.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WriterOutputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/windows-conemu.caps ! src/jdk.internal.le/share/legal/jline.md - src/jdk.internal.le/unix/classes/jdk/internal/org/jline/terminal/impl/jna/JnaNativePty.java - src/jdk.internal.le/unix/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/IntByReference.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinConsoleWriter.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinSysTerminal.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Kernel32.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Kernel32Impl.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Pointer.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/WindowsAnsiWriter.java - src/jdk.internal.le/windows/native/lible/Kernel32.cpp ! test/jdk/jdk/internal/jline/AbstractWindowsTerminalTest.java ! test/jdk/jdk/internal/jline/KeyConversionTest.java ! test/langtools/jdk/jshell/ExecPtyGetFlagsToSetTest.java Changeset: c4ff58b9 Author: Serguei Spitsyn Date: 2024-05-09 14:30:15 +0000 URL: https://git.openjdk.org/loom/commit/c4ff58b9bcfd08eae0623a648a837e08f25b3f9b 8330146: assert(!_thread->is_in_any_VTMS_transition()) failed Reviewed-by: cjplummer, kevinw ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: aa4cddd4 Author: Kevin Walls Date: 2024-05-09 15:42:41 +0000 URL: https://git.openjdk.org/loom/commit/aa4cddd4b8a6a12ba5d0360a721aebaabf362fff 8331950: Remove MemoryPoolMBean/isCollectionUsageThresholdExceeded from ZGC ProblemLists Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList-generational-zgc.txt ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c7d98df2 Author: Naoto Sato Date: 2024-05-09 15:54:25 +0000 URL: https://git.openjdk.org/loom/commit/c7d98df2ac509ebc8f4e801a0874a9497c54c602 8329691: Support `nonlikelyScript` parent locale inheritance Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! make/jdk/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java ! make/jdk/src/classes/build/tools/cldrconverter/SupplementalDataParseHandler.java ! src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java + test/jdk/sun/util/locale/provider/NonLikelyScriptTest.java Changeset: ffbdfffb Author: Alexey Ivanov Date: 2024-05-09 18:01:27 +0000 URL: https://git.openjdk.org/loom/commit/ffbdfffbc702253f32fa45dc1855b663c72074a6 8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI Introduce tolerance factor: count > loaderCount.size() / 2 Fail the test only if the number of snapshots with more than 2 file loader threads is greater than half of the number of valid snapshots. Reviewed-by: prr, honkar ! test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 0bf72821 Author: Mikhailo Seledtsov Date: 2024-05-09 22:53:10 +0000 URL: https://git.openjdk.org/loom/commit/0bf728212fb4bce067076780aaa5b9341d7cdb6b 8331231: containers/docker/TestContainerInfo.java fails Reviewed-by: dholmes ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java Changeset: d47a4e9f Author: Zhao Song Committer: Erik Joelsson Date: 2024-05-09 23:05:05 +0000 URL: https://git.openjdk.org/loom/commit/d47a4e9f63a9414b90e09514bc26f6f7142ad49f 8332008: Enable issuestitle check Reviewed-by: erikj ! .jcheck/conf Changeset: a643d6c7 Author: Vladimir Kozlov Date: 2024-05-09 23:37:45 +0000 URL: https://git.openjdk.org/loom/commit/a643d6c7ac8a7bc0d3a288c1ef3f07876cf70590 8331862: Remove split relocation info implementation Reviewed-by: dlong ! src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/ppc/relocInfo_ppc.cpp ! src/hotspot/cpu/riscv/relocInfo_riscv.cpp ! src/hotspot/cpu/s390/assembler_s390.hpp ! src/hotspot/cpu/s390/relocInfo_s390.cpp ! src/hotspot/cpu/x86/relocInfo_x86.cpp ! src/hotspot/cpu/zero/relocInfo_zero.cpp ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: a706ca4f Author: Matias Saavedra Silva Date: 2024-05-10 01:34:02 +0000 URL: https://git.openjdk.org/loom/commit/a706ca4fdb4db4ba36c6ad04a37c37a348f8af0b 8329418: Replace pointers to tables with offsets in relocation bitmap Reviewed-by: cjplummer, iklam ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/cds/archiveUtils.cpp ! src/hotspot/share/cds/archiveUtils.hpp ! src/hotspot/share/cds/cppVtables.cpp ! src/hotspot/share/cds/cppVtables.hpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/serializeClosure.hpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/FileMapInfo.java Changeset: d2d37c91 Author: Thomas Stuefe Date: 2024-05-10 04:30:17 +0000 URL: https://git.openjdk.org/loom/commit/d2d37c913e5b55f7aec2c7a6b5a2328348ded223 8331942: On Linux aarch64, CDS archives should be using 64K alignment by default Reviewed-by: aph, iklam ! make/autoconf/jdk-options.m4 Changeset: b9a142a2 Author: Abhishek Kumar Date: 2024-05-10 04:45:01 +0000 URL: https://git.openjdk.org/loom/commit/b9a142a2243676b3f4fe288e7a28f4957a4d1edd 8226990: GTK & Nimbus LAF: Tabbed pane's background color is not expected one when change the opaque checkbox. Reviewed-by: tr, honkar, psadhukhan ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java + test/jdk/javax/swing/JTabbedPane/TestJTabbedPaneOpaqueColor.java Changeset: f47fc867 Author: Hamlin Li Date: 2024-05-10 06:25:38 +0000 URL: https://git.openjdk.org/loom/commit/f47fc867b3518cb285d39f7b157bf7fde87b2083 8331908: Simplify log code in vectorintrinsics.cpp Reviewed-by: jwaters, kvn ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: ce80dd38 Author: Alan Bateman Date: 2024-05-10 07:34:59 +0000 URL: https://git.openjdk.org/loom/commit/ce80dd385e9aaa6e8e866786ad142ff0b1d88e1e Merge ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 75e381d8 Author: Alan Bateman Date: 2024-05-10 10:07:00 +0000 URL: https://git.openjdk.org/loom/commit/75e381d8e8b937acbb54ea04cbe6fbd552d0c776 Update ProblemList-Virtual files ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/jdk/ProblemList-Virtual.txt Changeset: 7db6a3f0 Author: Kim Barrett Date: 2024-05-10 07:58:20 +0000 URL: https://git.openjdk.org/loom/commit/7db6a3f0ee3986b492786bec99b207ec36401c57 8331905: Fix direct includes of g1_globals.hpp Reviewed-by: ayang, tschatzl, gli ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRebuildAndScrub.cpp ! src/hotspot/share/gc/g1/g1MonotonicArenaFreeMemoryTask.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.hpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.inline.hpp Changeset: d6541245 Author: Claes Redestad Date: 2024-05-10 08:22:46 +0000 URL: https://git.openjdk.org/loom/commit/d65412450254992c05c851298323b6acd3b39bd3 8331932: Startup regressions in 23-b13 Reviewed-by: alanb, naoto, liach ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java ! src/java.base/share/classes/jdk/internal/util/ReferencedKeySet.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java Changeset: 9f43ce5a Author: Thomas Stuefe Date: 2024-05-10 09:48:14 +0000 URL: https://git.openjdk.org/loom/commit/9f43ce5a725b212cec0f3cd17491c4bada953676 8330027: Identity hashes of archived objects must be based on a reproducible random seed Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/runtime/thread.cpp Changeset: dab92c51 Author: ?? Committer: Eric Liu Date: 2024-05-10 10:01:40 +0000 URL: https://git.openjdk.org/loom/commit/dab92c51c70767abcda3b1a91dd7d1a9b40290c1 8331558: AArch64: optimize integer remainder Reviewed-by: eliu, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Changeset: dea8076a Author: SendaoYan Committer: Jaikiran Pai Date: 2024-05-10 10:10:53 +0000 URL: https://git.openjdk.org/loom/commit/dea8076a584fcb41d1b911af911605e2e7f82a87 8332006: Test com/sun/net/httpserver/TcpNoDelayNotRequired.java run timeout with -Xcomp Reviewed-by: jpai, dfuchs ! test/jdk/com/sun/net/httpserver/TcpNoDelayNotRequired.java Changeset: 784b8fce Author: Chen Liang Committer: Claes Redestad Date: 2024-05-10 10:50:51 +0000 URL: https://git.openjdk.org/loom/commit/784b8fce7a1b05209a8db168c8d2f86484a1a817 8331744: java.lang.classfile.TypeKind improvements Reviewed-by: asotona, redestad ! src/java.base/share/classes/java/lang/classfile/TypeKind.java ! src/java.base/share/classes/java/lang/classfile/instruction/NewPrimitiveArrayInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java + test/jdk/jdk/classfile/TypeKindTest.java + test/micro/org/openjdk/bench/java/lang/classfile/TypeKindBench.java Changeset: 1547a696 Author: Tejesh R Date: 2024-05-10 11:26:12 +0000 URL: https://git.openjdk.org/loom/commit/1547a696512b03ccc950b17f201ddca83f5016ec 8327696: [TESTBUG] "javax/swing/JTable/KeyBoardNavigation/KeyBoardNavigation.java" test instruction needs to be corrected Reviewed-by: abhiscxk, honkar ! test/jdk/javax/swing/JTable/KeyBoardNavigation.java Changeset: 45792c58 Author: Jan Kratochvil Committer: Yuri Nesterenko Date: 2024-05-10 12:16:47 +0000 URL: https://git.openjdk.org/loom/commit/45792c5829fb1d5ee016c4a1fd6badb5d2b4239c 8331352: error: template-id not allowed for constructor/destructor in C++20 Reviewed-by: kbarrett, stefank ! src/hotspot/share/gc/z/zArray.inline.hpp ! src/hotspot/share/utilities/chunkedList.hpp ! src/hotspot/share/utilities/events.hpp ! src/hotspot/share/utilities/linkedlist.hpp Changeset: 242446b0 Author: Erik Gahlin Date: 2024-05-10 12:30:05 +0000 URL: https://git.openjdk.org/loom/commit/242446b07fcfcac136510495d1ff16d26859aea4 8331931: JFR: Avoid loading regex classes during startup Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java Changeset: 675fbe69 Author: Hamlin Li Date: 2024-05-10 13:57:55 +0000 URL: https://git.openjdk.org/loom/commit/675fbe699ed1aad37f34429cbe1f4f3e029be03f 8331993: Add counting leading/trailing zero tests for Integer Reviewed-by: chagedorn ! test/hotspot/jtreg/compiler/c2/irTests/TestDisableAutoVectOpcodes.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java Changeset: f95c9374 Author: Hamlin Li Date: 2024-05-10 13:59:09 +0000 URL: https://git.openjdk.org/loom/commit/f95c93740538e5e508407ec6750ed9f126fdc3c3 8331577: RISC-V: C2 CountLeadingZerosV 8331578: RISC-V: C2 CountTrailingZerosV Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java Changeset: d11e70ad Author: Serhiy Sachkov Committer: Mahendra Chhipa Date: 2024-05-10 14:59:26 +0000 URL: https://git.openjdk.org/loom/commit/d11e70ade3e9094c8bef0074c736215d48d47a2a 8331646: Add specific regression leap year tests Reviewed-by: naoto + test/jdk/java/util/Calendar/CalendarLeapYearAddTest.java Changeset: d215bc46 Author: Andrew Haley Date: 2024-05-10 15:06:21 +0000 URL: https://git.openjdk.org/loom/commit/d215bc46475b90abd898e995c1b4a6aa4b6cb024 8332066: AArch64: Math test failures since JDK-8331558 Reviewed-by: kvn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Changeset: 65abf24f Author: Naoto Sato Date: 2024-05-10 16:10:40 +0000 URL: https://git.openjdk.org/loom/commit/65abf24fde6432fb386a616bbadc5689975c3bf4 8331866: Add warnings for locale data dependence Reviewed-by: jlu, srl, joehw ! src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: 1c5f1501 Author: Maurizio Cimadamore Date: 2024-05-10 16:22:28 +0000 URL: https://git.openjdk.org/loom/commit/1c5f1501ac4ef55ca6ffaaa0576de9b0e1dd8d06 8331734: Atomic MemorySegment VarHandle operations fails for element layouts Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! test/jdk/java/foreign/TestAccessModes.java ! test/micro/org/openjdk/bench/java/lang/foreign/LoopOverNonConstant.java Changeset: 1b476f52 Author: Valerie Peng Date: 2024-05-10 16:53:27 +0000 URL: https://git.openjdk.org/loom/commit/1b476f52ba85f9ceaabe785d36cb07df831fd0e8 8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic Reviewed-by: djelinski, weijun ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java Changeset: 5e8e8ef6 Author: Ioi Lam Date: 2024-05-10 20:34:17 +0000 URL: https://git.openjdk.org/loom/commit/5e8e8ef6565e82a23626fe16893f93870dae1012 8315431: ArchiveHeapWriter::get_filler_size_at() cannot handle buffer expansion Reviewed-by: matsaave, ccheung ! src/hotspot/share/cds/archiveHeapWriter.cpp Changeset: 1dac34fa Author: Roman Kennke Date: 2024-05-10 21:13:43 +0000 URL: https://git.openjdk.org/loom/commit/1dac34fa757f1d603f0bc9b9c1994c114c276add 8331098: [Aarch64] Fix crash in Arrays.equals() intrinsic with -CCP Reviewed-by: aboldtch, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: b87a7e99 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-11 04:24:48 +0000 URL: https://git.openjdk.org/loom/commit/b87a7e990631c8b402578f645397b2aeda8927bb 8144100: Incorrect case-sensitive equality in com.sun.net.httpserver.BasicAuthenticator Reviewed-by: jpai, dfuchs ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java + test/jdk/com/sun/net/httpserver/BasicAuthToken.java Changeset: f9a1d338 Author: Jaikiran Pai Date: 2024-05-11 04:31:11 +0000 URL: https://git.openjdk.org/loom/commit/f9a1d3381b12c97784c11649be079147c85939c0 8332020: jwebserver tool prints invalid URL in case of IPv6 address binding Reviewed-by: dfuchs, vtewari ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/SimpleFileServerImpl.java + test/jdk/com/sun/net/httpserver/simpleserver/jwebserver/IPv6BoundHost.java Changeset: 32c7681c Author: Alan Bateman Date: 2024-05-11 07:36:52 +0000 URL: https://git.openjdk.org/loom/commit/32c7681cf310c87669c502c4a8b62a7fecc93360 8332029: Provide access to initial value of stderr via JavaLangAccess Reviewed-by: jpai, bpb, mcimadamore ! 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/misc/VM.java Changeset: 93072111 Author: Alan Bateman Date: 2024-05-11 09:33:19 +0000 URL: https://git.openjdk.org/loom/commit/93072111f550d98604bd0c72fea0898915bdd796 Merge ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java From duke at openjdk.org Sat May 11 13:29:58 2024 From: duke at openjdk.org (duke) Date: Sat, 11 May 2024 13:29:58 GMT Subject: git: openjdk/loom: master: 37 new changesets Message-ID: Changeset: 964d6089 Author: Hamlin Li Date: 2024-05-09 07:05:18 +0000 URL: https://git.openjdk.org/loom/commit/964d60892eec5e64942b49182a4c6d4105620acd 8322753: RISC-V: C2 ReverseBytesV Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorapi/VectorReverseBytesTest.java ! test/hotspot/jtreg/compiler/vectorization/TestReverseBytes.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java Changeset: ac86f59e Author: Ioi Lam Date: 2024-05-09 07:43:03 +0000 URL: https://git.openjdk.org/loom/commit/ac86f59e4f5382d5c3e8984532dd210611db7dcb 8330532: Improve line-oriented text parsing in HotSpot Co-authored-by: John R Rose Reviewed-by: matsaave, jsjolen ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp + src/hotspot/share/utilities/istream.cpp + src/hotspot/share/utilities/istream.hpp ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp + test/hotspot/gtest/utilities/test_istream.cpp ! test/hotspot/jtreg/runtime/cds/appcds/LongClassListPath.java ! test/hotspot/jtreg/runtime/cds/appcds/customLoader/ClassListFormatA.java Changeset: ad0b54d4 Author: Kevin Walls Date: 2024-05-09 11:47:45 +0000 URL: https://git.openjdk.org/loom/commit/ad0b54d429fdbd806c09aa06bb42f1ed4a0297e8 8314225: SIGSEGV in JavaThread::is_lock_owned Reviewed-by: dlong, dholmes ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/monitorChunk.cpp ! src/hotspot/share/runtime/monitorChunk.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vframeArray.hpp Changeset: 0a4eeeaa Author: Scott Gibbons Committer: Jatin Bhateja Date: 2024-05-09 11:57:44 +0000 URL: https://git.openjdk.org/loom/commit/0a4eeeaa3c63585244be959386dd94882398e87f 8331033: EA fails with "EA unexpected CallLeaf unsafe_setmemory" after JDK-8329331 Co-authored-by: Jatin Bhateja Reviewed-by: kvn ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/escapeAnalysis/Test8331033.java Changeset: aaa90b30 Author: Jan Lahoda Date: 2024-05-09 13:54:04 +0000 URL: https://git.openjdk.org/loom/commit/aaa90b3005c85852971203ce6feb88e7091e167b 8327476: Upgrade JLine to 3.26.1 Reviewed-by: ihse, vromero ! make/conf/module-loader-map.conf - make/modules/jdk.internal.le/Lib.gmk - src/jdk.internal.le/aix/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/CLibrary.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/CLibraryImpl.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/LinuxNativePty.java - src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/linux/UtilLibraryImpl.java - src/jdk.internal.le/linux/native/lible/CLibrary.cpp - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/CLibrary.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/CLibraryImpl.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/NativeLong.java - src/jdk.internal.le/macosx/classes/jdk/internal/org/jline/terminal/impl/jna/osx/OsXNativePty.java - src/jdk.internal.le/macosx/native/lible/CLibrary.cpp ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/keymap/BindingReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/keymap/KeyMap.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Binding.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Buffer.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Candidate.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Completer.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletingParsedLine.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletionMatcher.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/EOFError.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Editor.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/EndOfFileException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Expander.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Highlighter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/History.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReaderBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Macro.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/MaskingCallback.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/ParsedLine.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Parser.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/PrintAboveWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Reference.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/SyntaxError.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/Widget.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/BufferImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/CompletionMatcherImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/DefaultExpander.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/DefaultParser.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/InputRC.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/KillRing.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/ReaderUtils.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/SimpleMaskingCallback.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/UndoTree.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/AggregateCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/ArgumentCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/EnumCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/FileNameCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/NullCompleter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/StringsCompleter.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/Attributes.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Cursor.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/MouseEvent.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Size.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/Terminal.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/AbstractPty.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/AbstractWindowsConsoleWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractWindowsTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/CursorSupport.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/DumbTerminal.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/DumbTerminalProvider.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExecPty.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExternalTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/LineDisciplineTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/MouseSupport.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/NativeSignalHandler.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixPtyTerminal.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixSysTerminal.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/CLibrary.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/FfmNativePty.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/FfmTerminalProvider.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/NativeWinConsoleWriter.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/terminal/impl/ffm/WindowsAnsiWriter.java - src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/jna/LastErrorException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/Pty.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/SystemStream.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalExt.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalProvider.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AnsiWriter.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedCharSequence.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedString.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedStringBuilder.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AttributedStyle.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ClosedException.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ColorPalette.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Colors.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Curses.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/DiffHelper.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/ExecHelper.java + src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/FastBufferedOutputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/InfoCmp.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/Levenshtein.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Log.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlocking.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStreamImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpInputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReaderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/ShutdownHooks.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Signals.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Status.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/StyleResolver.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Timeout.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WCWidth.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WriterOutputStream.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/windows-conemu.caps ! src/jdk.internal.le/share/legal/jline.md - src/jdk.internal.le/unix/classes/jdk/internal/org/jline/terminal/impl/jna/JnaNativePty.java - src/jdk.internal.le/unix/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/IntByReference.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinConsoleWriter.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinSysTerminal.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Kernel32.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Kernel32Impl.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/Pointer.java - src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/WindowsAnsiWriter.java - src/jdk.internal.le/windows/native/lible/Kernel32.cpp ! test/jdk/jdk/internal/jline/AbstractWindowsTerminalTest.java ! test/jdk/jdk/internal/jline/KeyConversionTest.java ! test/langtools/jdk/jshell/ExecPtyGetFlagsToSetTest.java Changeset: c4ff58b9 Author: Serguei Spitsyn Date: 2024-05-09 14:30:15 +0000 URL: https://git.openjdk.org/loom/commit/c4ff58b9bcfd08eae0623a648a837e08f25b3f9b 8330146: assert(!_thread->is_in_any_VTMS_transition()) failed Reviewed-by: cjplummer, kevinw ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: aa4cddd4 Author: Kevin Walls Date: 2024-05-09 15:42:41 +0000 URL: https://git.openjdk.org/loom/commit/aa4cddd4b8a6a12ba5d0360a721aebaabf362fff 8331950: Remove MemoryPoolMBean/isCollectionUsageThresholdExceeded from ZGC ProblemLists Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList-generational-zgc.txt ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c7d98df2 Author: Naoto Sato Date: 2024-05-09 15:54:25 +0000 URL: https://git.openjdk.org/loom/commit/c7d98df2ac509ebc8f4e801a0874a9497c54c602 8329691: Support `nonlikelyScript` parent locale inheritance Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! make/jdk/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java ! make/jdk/src/classes/build/tools/cldrconverter/SupplementalDataParseHandler.java ! src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java + test/jdk/sun/util/locale/provider/NonLikelyScriptTest.java Changeset: ffbdfffb Author: Alexey Ivanov Date: 2024-05-09 18:01:27 +0000 URL: https://git.openjdk.org/loom/commit/ffbdfffbc702253f32fa45dc1855b663c72074a6 8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI Introduce tolerance factor: count > loaderCount.size() / 2 Fail the test only if the number of snapshots with more than 2 file loader threads is greater than half of the number of valid snapshots. Reviewed-by: prr, honkar ! test/jdk/javax/swing/plaf/basic/BasicDirectoryModel/LoaderThreadCount.java Changeset: 0bf72821 Author: Mikhailo Seledtsov Date: 2024-05-09 22:53:10 +0000 URL: https://git.openjdk.org/loom/commit/0bf728212fb4bce067076780aaa5b9341d7cdb6b 8331231: containers/docker/TestContainerInfo.java fails Reviewed-by: dholmes ! test/hotspot/jtreg/containers/docker/TestContainerInfo.java Changeset: d47a4e9f Author: Zhao Song Committer: Erik Joelsson Date: 2024-05-09 23:05:05 +0000 URL: https://git.openjdk.org/loom/commit/d47a4e9f63a9414b90e09514bc26f6f7142ad49f 8332008: Enable issuestitle check Reviewed-by: erikj ! .jcheck/conf Changeset: a643d6c7 Author: Vladimir Kozlov Date: 2024-05-09 23:37:45 +0000 URL: https://git.openjdk.org/loom/commit/a643d6c7ac8a7bc0d3a288c1ef3f07876cf70590 8331862: Remove split relocation info implementation Reviewed-by: dlong ! src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/ppc/relocInfo_ppc.cpp ! src/hotspot/cpu/riscv/relocInfo_riscv.cpp ! src/hotspot/cpu/s390/assembler_s390.hpp ! src/hotspot/cpu/s390/relocInfo_s390.cpp ! src/hotspot/cpu/x86/relocInfo_x86.cpp ! src/hotspot/cpu/zero/relocInfo_zero.cpp ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: a706ca4f Author: Matias Saavedra Silva Date: 2024-05-10 01:34:02 +0000 URL: https://git.openjdk.org/loom/commit/a706ca4fdb4db4ba36c6ad04a37c37a348f8af0b 8329418: Replace pointers to tables with offsets in relocation bitmap Reviewed-by: cjplummer, iklam ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/archiveBuilder.hpp ! src/hotspot/share/cds/archiveUtils.cpp ! src/hotspot/share/cds/archiveUtils.hpp ! src/hotspot/share/cds/cppVtables.cpp ! src/hotspot/share/cds/cppVtables.hpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/serializeClosure.hpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/FileMapInfo.java Changeset: d2d37c91 Author: Thomas Stuefe Date: 2024-05-10 04:30:17 +0000 URL: https://git.openjdk.org/loom/commit/d2d37c913e5b55f7aec2c7a6b5a2328348ded223 8331942: On Linux aarch64, CDS archives should be using 64K alignment by default Reviewed-by: aph, iklam ! make/autoconf/jdk-options.m4 Changeset: b9a142a2 Author: Abhishek Kumar Date: 2024-05-10 04:45:01 +0000 URL: https://git.openjdk.org/loom/commit/b9a142a2243676b3f4fe288e7a28f4957a4d1edd 8226990: GTK & Nimbus LAF: Tabbed pane's background color is not expected one when change the opaque checkbox. Reviewed-by: tr, honkar, psadhukhan ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java + test/jdk/javax/swing/JTabbedPane/TestJTabbedPaneOpaqueColor.java Changeset: f47fc867 Author: Hamlin Li Date: 2024-05-10 06:25:38 +0000 URL: https://git.openjdk.org/loom/commit/f47fc867b3518cb285d39f7b157bf7fde87b2083 8331908: Simplify log code in vectorintrinsics.cpp Reviewed-by: jwaters, kvn ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 7db6a3f0 Author: Kim Barrett Date: 2024-05-10 07:58:20 +0000 URL: https://git.openjdk.org/loom/commit/7db6a3f0ee3986b492786bec99b207ec36401c57 8331905: Fix direct includes of g1_globals.hpp Reviewed-by: ayang, tschatzl, gli ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRebuildAndScrub.cpp ! src/hotspot/share/gc/g1/g1MonotonicArenaFreeMemoryTask.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.hpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.inline.hpp Changeset: d6541245 Author: Claes Redestad Date: 2024-05-10 08:22:46 +0000 URL: https://git.openjdk.org/loom/commit/d65412450254992c05c851298323b6acd3b39bd3 8331932: Startup regressions in 23-b13 Reviewed-by: alanb, naoto, liach ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java ! src/java.base/share/classes/jdk/internal/util/ReferencedKeySet.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java Changeset: 9f43ce5a Author: Thomas Stuefe Date: 2024-05-10 09:48:14 +0000 URL: https://git.openjdk.org/loom/commit/9f43ce5a725b212cec0f3cd17491c4bada953676 8330027: Identity hashes of archived objects must be based on a reproducible random seed Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/runtime/thread.cpp Changeset: dab92c51 Author: ?? Committer: Eric Liu Date: 2024-05-10 10:01:40 +0000 URL: https://git.openjdk.org/loom/commit/dab92c51c70767abcda3b1a91dd7d1a9b40290c1 8331558: AArch64: optimize integer remainder Reviewed-by: eliu, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Changeset: dea8076a Author: SendaoYan Committer: Jaikiran Pai Date: 2024-05-10 10:10:53 +0000 URL: https://git.openjdk.org/loom/commit/dea8076a584fcb41d1b911af911605e2e7f82a87 8332006: Test com/sun/net/httpserver/TcpNoDelayNotRequired.java run timeout with -Xcomp Reviewed-by: jpai, dfuchs ! test/jdk/com/sun/net/httpserver/TcpNoDelayNotRequired.java Changeset: 784b8fce Author: Chen Liang Committer: Claes Redestad Date: 2024-05-10 10:50:51 +0000 URL: https://git.openjdk.org/loom/commit/784b8fce7a1b05209a8db168c8d2f86484a1a817 8331744: java.lang.classfile.TypeKind improvements Reviewed-by: asotona, redestad ! src/java.base/share/classes/java/lang/classfile/TypeKind.java ! src/java.base/share/classes/java/lang/classfile/instruction/NewPrimitiveArrayInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java + test/jdk/jdk/classfile/TypeKindTest.java + test/micro/org/openjdk/bench/java/lang/classfile/TypeKindBench.java Changeset: 1547a696 Author: Tejesh R Date: 2024-05-10 11:26:12 +0000 URL: https://git.openjdk.org/loom/commit/1547a696512b03ccc950b17f201ddca83f5016ec 8327696: [TESTBUG] "javax/swing/JTable/KeyBoardNavigation/KeyBoardNavigation.java" test instruction needs to be corrected Reviewed-by: abhiscxk, honkar ! test/jdk/javax/swing/JTable/KeyBoardNavigation.java Changeset: 45792c58 Author: Jan Kratochvil Committer: Yuri Nesterenko Date: 2024-05-10 12:16:47 +0000 URL: https://git.openjdk.org/loom/commit/45792c5829fb1d5ee016c4a1fd6badb5d2b4239c 8331352: error: template-id not allowed for constructor/destructor in C++20 Reviewed-by: kbarrett, stefank ! src/hotspot/share/gc/z/zArray.inline.hpp ! src/hotspot/share/utilities/chunkedList.hpp ! src/hotspot/share/utilities/events.hpp ! src/hotspot/share/utilities/linkedlist.hpp Changeset: 242446b0 Author: Erik Gahlin Date: 2024-05-10 12:30:05 +0000 URL: https://git.openjdk.org/loom/commit/242446b07fcfcac136510495d1ff16d26859aea4 8331931: JFR: Avoid loading regex classes during startup Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java Changeset: 675fbe69 Author: Hamlin Li Date: 2024-05-10 13:57:55 +0000 URL: https://git.openjdk.org/loom/commit/675fbe699ed1aad37f34429cbe1f4f3e029be03f 8331993: Add counting leading/trailing zero tests for Integer Reviewed-by: chagedorn ! test/hotspot/jtreg/compiler/c2/irTests/TestDisableAutoVectOpcodes.java ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java Changeset: f95c9374 Author: Hamlin Li Date: 2024-05-10 13:59:09 +0000 URL: https://git.openjdk.org/loom/commit/f95c93740538e5e508407ec6750ed9f126fdc3c3 8331577: RISC-V: C2 CountLeadingZerosV 8331578: RISC-V: C2 CountTrailingZerosV Reviewed-by: fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorization/TestNumberOfContinuousZeros.java Changeset: d11e70ad Author: Serhiy Sachkov Committer: Mahendra Chhipa Date: 2024-05-10 14:59:26 +0000 URL: https://git.openjdk.org/loom/commit/d11e70ade3e9094c8bef0074c736215d48d47a2a 8331646: Add specific regression leap year tests Reviewed-by: naoto + test/jdk/java/util/Calendar/CalendarLeapYearAddTest.java Changeset: d215bc46 Author: Andrew Haley Date: 2024-05-10 15:06:21 +0000 URL: https://git.openjdk.org/loom/commit/d215bc46475b90abd898e995c1b4a6aa4b6cb024 8332066: AArch64: Math test failures since JDK-8331558 Reviewed-by: kvn ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Changeset: 65abf24f Author: Naoto Sato Date: 2024-05-10 16:10:40 +0000 URL: https://git.openjdk.org/loom/commit/65abf24fde6432fb386a616bbadc5689975c3bf4 8331866: Add warnings for locale data dependence Reviewed-by: jlu, srl, joehw ! src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: 1c5f1501 Author: Maurizio Cimadamore Date: 2024-05-10 16:22:28 +0000 URL: https://git.openjdk.org/loom/commit/1c5f1501ac4ef55ca6ffaaa0576de9b0e1dd8d06 8331734: Atomic MemorySegment VarHandle operations fails for element layouts Reviewed-by: pminborg, psandoz ! src/java.base/share/classes/jdk/internal/foreign/LayoutPath.java ! test/jdk/java/foreign/TestAccessModes.java ! test/micro/org/openjdk/bench/java/lang/foreign/LoopOverNonConstant.java Changeset: 1b476f52 Author: Valerie Peng Date: 2024-05-10 16:53:27 +0000 URL: https://git.openjdk.org/loom/commit/1b476f52ba85f9ceaabe785d36cb07df831fd0e8 8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic Reviewed-by: djelinski, weijun ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java Changeset: 5e8e8ef6 Author: Ioi Lam Date: 2024-05-10 20:34:17 +0000 URL: https://git.openjdk.org/loom/commit/5e8e8ef6565e82a23626fe16893f93870dae1012 8315431: ArchiveHeapWriter::get_filler_size_at() cannot handle buffer expansion Reviewed-by: matsaave, ccheung ! src/hotspot/share/cds/archiveHeapWriter.cpp Changeset: 1dac34fa Author: Roman Kennke Date: 2024-05-10 21:13:43 +0000 URL: https://git.openjdk.org/loom/commit/1dac34fa757f1d603f0bc9b9c1994c114c276add 8331098: [Aarch64] Fix crash in Arrays.equals() intrinsic with -CCP Reviewed-by: aboldtch, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: b87a7e99 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-11 04:24:48 +0000 URL: https://git.openjdk.org/loom/commit/b87a7e990631c8b402578f645397b2aeda8927bb 8144100: Incorrect case-sensitive equality in com.sun.net.httpserver.BasicAuthenticator Reviewed-by: jpai, dfuchs ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java + test/jdk/com/sun/net/httpserver/BasicAuthToken.java Changeset: f9a1d338 Author: Jaikiran Pai Date: 2024-05-11 04:31:11 +0000 URL: https://git.openjdk.org/loom/commit/f9a1d3381b12c97784c11649be079147c85939c0 8332020: jwebserver tool prints invalid URL in case of IPv6 address binding Reviewed-by: dfuchs, vtewari ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/SimpleFileServerImpl.java + test/jdk/com/sun/net/httpserver/simpleserver/jwebserver/IPv6BoundHost.java Changeset: 32c7681c Author: Alan Bateman Date: 2024-05-11 07:36:52 +0000 URL: https://git.openjdk.org/loom/commit/32c7681cf310c87669c502c4a8b62a7fecc93360 8332029: Provide access to initial value of stderr via JavaLangAccess Reviewed-by: jpai, bpb, mcimadamore ! 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/misc/VM.java From colin.redmond at outlook.com Mon May 13 19:10:05 2024 From: colin.redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 19:10:05 +0000 Subject: Resource Constrained Thread Per Task Executor Message-ID: Hello, I have been experimenting with Virtual Threads in a Spring Integration project that is essentially a producer consumer project. it has a small number of threads that reads from an external queue (pubsub) and passes the received message off to an ThreadPerTaskExecutor executor service. It then executes several IO heavy steps. Overall Virtual threads have been amazing, before I was running with 500-600 platform threads. Switching to virtual threads has enabled me to scale 20-30% more for the same resources (CPU, Memory). However I am running into one problem. Since this is a spring integration project I don't have a lot of control over how the work is propagated between threads. The thread that reads from the external queue runs much faster than the internal threads processing the work. When running with high load the service fails OOM because it can start 100k+ virtual threads, and more importantly those virtual threads have 100k+ messages to be processed which take up a lot of memory. I resolved the issue by using a ThreadPoolExecutor a with small core pool but large a max pool size (1000), a virtual thread factory, a limited size LinkedBlockingQueue and the RejectedExecutionHandler uses the spring CallerBlocksPolicy which retries to offer() the work to the executor and blocks. This causes back pressure and ensure that the service never pulls in more work than it can manage, so it no longer OOM. It has enough threads to saturate the CPU and by using virtual threads I save a lot of memory vs platform threads. It has been suggested we use a semaphore to control flow with virtual threads instead of a Thread Pool. The best place I can think of for controlling the number of worker threads is in the Executor Service itself. So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor that will request a resource before launching a new thread. This resource could be a semaphore or even a guava ratelimiter, but I have been facing some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does not allow you to customize it. I can not extend it, I tried to make my own ExecutorService that has a ThreadPerTaskExecutor, but the best place to check for a resource is the private Thread start(Runnable task) method that I cant wrap. Finally I was going to borrow code from the ThreadPerTaskExecutor but it uses several jdk.internal such as ThreadContainer. So finally my questions: 1. I am aware that virtual threads should not be pooled, but is it safe to hold a virtual thread for an extended period of time in a thread pool? 2. Is there a perfered method to customize the ThreadPerTaskExecutor? 3. If I write my own executor service what is the goal of jdk.internal.ThreadContainer? Other than holding the threads, does it integrate with the JVM on a lower level? 4. Can I write an executor service without a ThreadContainer? Or can I use ThreadContainer, is it acceptable to use jdk.internal classes? If this is not possible, I can modify Springs, ExecutorChannel to control the flow at a level higher, but I felt that it would be useful to have a New Thread Per Task Executor that could be throttled or limited. Thanks for any and all comments. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Mon May 13 19:45:03 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Mon, 13 May 2024 14:45:03 -0500 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: Message-ID: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> I think you can simply this. You don?t need to pool the virtual threads. Just use a semaphore to control how many are running at once. You can put this behind and Executor for a standardized api > On May 13, 2024, at 2:10?PM, Colin Redmond wrote: > > ? > Hello, > > I have been experimenting with Virtual Threads in a Spring Integration project that is essentially a producer consumer project. it has a small number of threads that reads from an external queue (pubsub) and passes the received message off to an ThreadPerTaskExecutor executor service. It then executes several IO heavy steps. > > Overall Virtual threads have been amazing, before I was running with 500-600 platform threads. Switching to virtual threads has enabled me to scale 20-30% more for the same resources (CPU, Memory). > > However I am running into one problem. Since this is a spring integration project I don't have a lot of control over how the work is propagated between threads. The thread that reads from the external queue runs much faster than the internal threads processing the work. When running with high load the service fails OOM because it can start 100k+ virtual threads, and more importantly those virtual threads have 100k+ messages to be processed which take up a lot of memory. > > I resolved the issue by using a ThreadPoolExecutor a with small core pool but large a max pool size (1000), a virtual thread factory, a limited size LinkedBlockingQueue and the RejectedExecutionHandler uses the spring CallerBlocksPolicy which retries to offer() the work to the executor and blocks. This causes back pressure and ensure that the service never pulls in more work than it can manage, so it no longer OOM. It has enough threads to saturate the CPU and by using virtual threads I save a lot of memory vs platform threads. > > It has been suggested we use a semaphore to control flow with virtual threads instead of a Thread Pool. The best place I can think of for controlling the number of worker threads is in the Executor Service itself. So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor that will request a resource before launching a new thread. This resource could be a semaphore or even a guava ratelimiter, but I have been facing some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does not allow you to customize it. I can not extend it, I tried to make my own ExecutorService that has a ThreadPerTaskExecutor, but the best place to check for a resource is the private Thread start(Runnable task) method that I cant wrap. Finally I was going to borrow code from the ThreadPerTaskExecutor but it uses several jdk.internal such as ThreadContainer. > > So finally my questions: > > I am aware that virtual threads should not be pooled, but is it safe to hold a virtual thread for an extended period of time in a thread pool? > Is there a perfered method to customize the ThreadPerTaskExecutor? > If I write my own executor service what is the goal of jdk.internal.ThreadContainer? Other than holding the threads, does it integrate with the JVM on a lower level? > Can I write an executor service without a ThreadContainer? Or can I use ThreadContainer, is it acceptable to use jdk.internal classes? > > If this is not possible, I can modify Springs, ExecutorChannel to control the flow at a level higher, but I felt that it would be useful to have a New Thread Per Task Executor that could be throttled or limited. Thanks for any and all comments. > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 20:19:06 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 20:19:06 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: Thanks for the feedback, and I agree completely. Spring Integration takes an Executor Service so I was trying to customize the ThreadPerTaskExecutor. Unfortunately it is closed for inheritance and uses several classes from jdk.internal.vm, so I was not sure how best to proceed. To Write a new Executor Service without a ThreadContainer, or to use jdk.internal.vm classes. ________________________________ From: Robert Engels Sent: May 13, 2024 12:45 PM To: Colin Redmond Cc: loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor I think you can simply this. You don?t need to pool the virtual threads. Just use a semaphore to control how many are running at once. You can put this behind and Executor for a standardized api On May 13, 2024, at 2:10?PM, Colin Redmond wrote: ? Hello, I have been experimenting with Virtual Threads in a Spring Integration project that is essentially a producer consumer project. it has a small number of threads that reads from an external queue (pubsub) and passes the received message off to an ThreadPerTaskExecutor executor service. It then executes several IO heavy steps. Overall Virtual threads have been amazing, before I was running with 500-600 platform threads. Switching to virtual threads has enabled me to scale 20-30% more for the same resources (CPU, Memory). However I am running into one problem. Since this is a spring integration project I don't have a lot of control over how the work is propagated between threads. The thread that reads from the external queue runs much faster than the internal threads processing the work. When running with high load the service fails OOM because it can start 100k+ virtual threads, and more importantly those virtual threads have 100k+ messages to be processed which take up a lot of memory. I resolved the issue by using a ThreadPoolExecutor a with small core pool but large a max pool size (1000), a virtual thread factory, a limited size LinkedBlockingQueue and the RejectedExecutionHandler uses the spring CallerBlocksPolicy which retries to offer() the work to the executor and blocks. This causes back pressure and ensure that the service never pulls in more work than it can manage, so it no longer OOM. It has enough threads to saturate the CPU and by using virtual threads I save a lot of memory vs platform threads. It has been suggested we use a semaphore to control flow with virtual threads instead of a Thread Pool. The best place I can think of for controlling the number of worker threads is in the Executor Service itself. So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor that will request a resource before launching a new thread. This resource could be a semaphore or even a guava ratelimiter, but I have been facing some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does not allow you to customize it. I can not extend it, I tried to make my own ExecutorService that has a ThreadPerTaskExecutor, but the best place to check for a resource is the private Thread start(Runnable task) method that I cant wrap. Finally I was going to borrow code from the ThreadPerTaskExecutor but it uses several jdk.internal such as ThreadContainer. So finally my questions: 1. I am aware that virtual threads should not be pooled, but is it safe to hold a virtual thread for an extended period of time in a thread pool? 2. Is there a perfered method to customize the ThreadPerTaskExecutor? 3. If I write my own executor service what is the goal of jdk.internal.ThreadContainer? Other than holding the threads, does it integrate with the JVM on a lower level? 4. Can I write an executor service without a ThreadContainer? Or can I use ThreadContainer, is it acceptable to use jdk.internal classes? If this is not possible, I can modify Springs, ExecutorChannel to control the flow at a level higher, but I felt that it would be useful to have a New Thread Per Task Executor that could be throttled or limited. Thanks for any and all comments. -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon May 13 20:36:15 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 13 May 2024 22:36:15 +0200 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: Message-ID: You don't actually need fancy classes from JDK to implement this (definitely no internal ones). Though it wouldn't be bad to have a utility for this out of the box, the implementation of such an `ExecutorService` (if you only need an `Executor` it is even simpler) is relatively straightforward. Assuming you already have an `ExecutorService` with a thread per task implementation, you just have to `acquire` the semaphore before submitting a task to the wrapped executor, and `release` it once the submitted task completes. If you only need an `Executor` then it is simpler, because then you just need to do this with the `execute` method, and also in that case you might trivially replace the wrapped `Executor` with a `ThreadFactory` and enforce a thread per task policy. Colin Redmond ezt ?rta (id?pont: 2024. m?j. 13., H, 21:25): > Hello, > > I have been experimenting with Virtual Threads in a Spring Integration > project that is essentially a producer consumer project. it has a small > number of threads that reads from an external queue (pubsub) and passes the > received message off to an ThreadPerTaskExecutor executor service. It then > executes several IO heavy steps. > > Overall Virtual threads have been amazing, before I was running with > 500-600 platform threads. Switching to virtual threads has enabled me to > scale 20-30% more for the same resources (CPU, Memory). > > However I am running into one problem. Since this is a spring integration > project I don't have a lot of control over how the work is propagated > between threads. The thread that reads from the external queue runs much > faster than the internal threads processing the work. When running with > high load the service fails OOM because it can start 100k+ virtual threads, > and more importantly those virtual threads have 100k+ messages to be > processed which take up a lot of memory. > > I resolved the issue by using a ThreadPoolExecutor a with small core pool > but large a max pool size (1000), a virtual thread factory, a limited size > LinkedBlockingQueue and the RejectedExecutionHandler uses the spring > CallerBlocksPolicy which retries to offer() the work to the executor and > blocks. This causes back pressure and ensure that the service never pulls > in more work than it can manage, so it no longer OOM. It has enough threads > to saturate the CPU and by using virtual threads I save a lot of memory vs > platform threads. > > It has been suggested we use a semaphore to control flow with virtual > threads instead of a Thread Pool. The best place I can think of for > controlling the number of worker threads is in the Executor Service itself. > So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor > that will request a resource before launching a new thread. This resource > could be a semaphore or even a guava ratelimiter, but I have been facing > some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does > not allow you to customize it. I can not extend it, I tried to make my own > ExecutorService that has a ThreadPerTaskExecutor, but the best place to > check for a resource is the private Thread start(Runnable task) method > that I cant wrap. Finally I was going to borrow code from the > ThreadPerTaskExecutor but it uses several jdk.internal such as > ThreadContainer. > > So finally my questions: > > > 1. I am aware that virtual threads should not be pooled, but is it > safe to hold a virtual thread for an extended period of time in a thread > pool? > 2. Is there a perfered method to customize the ThreadPerTaskExecutor? > 3. If I write my own executor service what is the goal of > jdk.internal.ThreadContainer? Other than holding the threads, does it > integrate with the JVM on a lower level? > 4. Can I write an executor service without a ThreadContainer? Or can I > use ThreadContainer, is it acceptable to use jdk.internal classes? > > > If this is not possible, I can modify Springs, ExecutorChannel to control > the flow at a level higher, but I felt that it would be useful to have a > New Thread Per Task Executor that could be throttled or limited. Thanks > for any and all comments. > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From masoud.parvari at gmail.com Mon May 13 20:45:03 2024 From: masoud.parvari at gmail.com (masoud parvari) Date: Mon, 13 May 2024 22:45:03 +0200 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: If your api takes an ExecutorService, then that is what you need to implement and not customizing ThreadPerTaskExecutor. Just Implement ExecutorService using a so called WrappingExecutorService which uses delegate pattern to offload the actual implementation to a delegate in this case ThreadPerTaskExecutor. Only in submit methods, make sure you acquire the semaphore before offloading to the delegate. On Mon, May 13, 2024 at 10:19?PM Colin Redmond wrote: > Thanks for the feedback, and I agree completely. Spring Integration takes > an Executor Service so I was trying to customize the > ThreadPerTaskExecutor. Unfortunately it is closed for inheritance and uses > several classes from jdk.internal.vm, so I was not sure how best to > proceed. To Write a new Executor Service without a ThreadContainer, or to > use jdk.internal.vm classes. > ------------------------------ > *From:* Robert Engels > *Sent:* May 13, 2024 12:45 PM > *To:* Colin Redmond > *Cc:* loom-dev at openjdk.org > *Subject:* Re: Resource Constrained Thread Per Task Executor > > I think you can simply this. You don?t need to pool the virtual threads. > Just use a semaphore to control how many are running at once. You can put > this behind and Executor for a standardized api > > On May 13, 2024, at 2:10?PM, Colin Redmond > wrote: > > ? > Hello, > > I have been experimenting with Virtual Threads in a Spring Integration > project that is essentially a producer consumer project. it has a small > number of threads that reads from an external queue (pubsub) and passes the > received message off to an ThreadPerTaskExecutor executor service. It then > executes several IO heavy steps. > > Overall Virtual threads have been amazing, before I was running with > 500-600 platform threads. Switching to virtual threads has enabled me to > scale 20-30% more for the same resources (CPU, Memory). > > However I am running into one problem. Since this is a spring integration > project I don't have a lot of control over how the work is propagated > between threads. The thread that reads from the external queue runs much > faster than the internal threads processing the work. When running with > high load the service fails OOM because it can start 100k+ virtual threads, > and more importantly those virtual threads have 100k+ messages to be > processed which take up a lot of memory. > > I resolved the issue by using a ThreadPoolExecutor a with small core pool > but large a max pool size (1000), a virtual thread factory, a limited size > LinkedBlockingQueue and the RejectedExecutionHandler uses the spring > CallerBlocksPolicy which retries to offer() the work to the executor and > blocks. This causes back pressure and ensure that the service never pulls > in more work than it can manage, so it no longer OOM. It has enough threads > to saturate the CPU and by using virtual threads I save a lot of memory vs > platform threads. > > It has been suggested we use a semaphore to control flow with virtual > threads instead of a Thread Pool. The best place I can think of for > controlling the number of worker threads is in the Executor Service itself. > So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor > that will request a resource before launching a new thread. This resource > could be a semaphore or even a guava ratelimiter, but I have been facing > some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does > not allow you to customize it. I can not extend it, I tried to make my own > ExecutorService that has a ThreadPerTaskExecutor, but the best place to > check for a resource is the private Thread start(Runnable task) method > that I cant wrap. Finally I was going to borrow code from the > ThreadPerTaskExecutor but it uses several jdk.internal such as > ThreadContainer. > > So finally my questions: > > > 1. I am aware that virtual threads should not be pooled, but is it > safe to hold a virtual thread for an extended period of time in a thread > pool? > 2. Is there a perfered method to customize the ThreadPerTaskExecutor? > 3. If I write my own executor service what is the goal of > jdk.internal.ThreadContainer? Other than holding the threads, does it > integrate with the JVM on a lower level? > 4. Can I write an executor service without a ThreadContainer? Or can I > use ThreadContainer, is it acceptable to use jdk.internal classes? > > > If this is not possible, I can modify Springs, ExecutorChannel to control > the flow at a level higher, but I felt that it would be useful to have a > New Thread Per Task Executor that could be throttled or limited. Thanks > for any and all comments. > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 21:05:56 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 21:05:56 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. ________________________________ From: masoud parvari Sent: May 13, 2024 1:45 PM To: Colin Redmond Cc: Robert Engels ; loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor If your api takes an ExecutorService, then that is what you need to implement and not customizing ThreadPerTaskExecutor. Just Implement ExecutorService using a so called WrappingExecutorService which uses delegate pattern to offload the actual implementation to a delegate in this case ThreadPerTaskExecutor. Only in submit methods, make sure you acquire the semaphore before offloading to the delegate. On Mon, May 13, 2024 at 10:19?PM Colin Redmond > wrote: Thanks for the feedback, and I agree completely. Spring Integration takes an Executor Service so I was trying to customize the ThreadPerTaskExecutor. Unfortunately it is closed for inheritance and uses several classes from jdk.internal.vm, so I was not sure how best to proceed. To Write a new Executor Service without a ThreadContainer, or to use jdk.internal.vm classes. ________________________________ From: Robert Engels > Sent: May 13, 2024 12:45 PM To: Colin Redmond > Cc: loom-dev at openjdk.org > Subject: Re: Resource Constrained Thread Per Task Executor I think you can simply this. You don?t need to pool the virtual threads. Just use a semaphore to control how many are running at once. You can put this behind and Executor for a standardized api On May 13, 2024, at 2:10?PM, Colin Redmond > wrote: ? Hello, I have been experimenting with Virtual Threads in a Spring Integration project that is essentially a producer consumer project. it has a small number of threads that reads from an external queue (pubsub) and passes the received message off to an ThreadPerTaskExecutor executor service. It then executes several IO heavy steps. Overall Virtual threads have been amazing, before I was running with 500-600 platform threads. Switching to virtual threads has enabled me to scale 20-30% more for the same resources (CPU, Memory). However I am running into one problem. Since this is a spring integration project I don't have a lot of control over how the work is propagated between threads. The thread that reads from the external queue runs much faster than the internal threads processing the work. When running with high load the service fails OOM because it can start 100k+ virtual threads, and more importantly those virtual threads have 100k+ messages to be processed which take up a lot of memory. I resolved the issue by using a ThreadPoolExecutor a with small core pool but large a max pool size (1000), a virtual thread factory, a limited size LinkedBlockingQueue and the RejectedExecutionHandler uses the spring CallerBlocksPolicy which retries to offer() the work to the executor and blocks. This causes back pressure and ensure that the service never pulls in more work than it can manage, so it no longer OOM. It has enough threads to saturate the CPU and by using virtual threads I save a lot of memory vs platform threads. It has been suggested we use a semaphore to control flow with virtual threads instead of a Thread Pool. The best place I can think of for controlling the number of worker threads is in the Executor Service itself. So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor that will request a resource before launching a new thread. This resource could be a semaphore or even a guava ratelimiter, but I have been facing some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does not allow you to customize it. I can not extend it, I tried to make my own ExecutorService that has a ThreadPerTaskExecutor, but the best place to check for a resource is the private Thread start(Runnable task) method that I cant wrap. Finally I was going to borrow code from the ThreadPerTaskExecutor but it uses several jdk.internal such as ThreadContainer. So finally my questions: 1. I am aware that virtual threads should not be pooled, but is it safe to hold a virtual thread for an extended period of time in a thread pool? 2. Is there a perfered method to customize the ThreadPerTaskExecutor? 3. If I write my own executor service what is the goal of jdk.internal.ThreadContainer? Other than holding the threads, does it integrate with the JVM on a lower level? 4. Can I write an executor service without a ThreadContainer? Or can I use ThreadContainer, is it acceptable to use jdk.internal classes? If this is not possible, I can modify Springs, ExecutorChannel to control the flow at a level higher, but I felt that it would be useful to have a New Thread Per Task Executor that could be throttled or limited. Thanks for any and all comments. -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon May 13 21:22:26 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 13 May 2024 23:22:26 +0200 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. Colin Redmond ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): > I may be overthink this. I was hoping for an easy way to extend the > ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I > Agree in this case that it should wrap another executor as getting > threading correct is hard! For the Executor Service, Execute and Submit > would he easy to manage, as it is a single task so easy to get a acquire a > single resource from a semaphore. But I will need to be more careful around > invokeAll and invokeAny, as I may need to acquire more permits than are > available or one invoke all may block another invoke from executing in > parallel. So maybe I can submit them one at time, or just go ahead and get > the number of permits at once. > > It is good to know that i dont need to use any jdk.internal classes. I saw > both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer > and i wasn't sure if it was some special class to manage threads. I can > implement something without this. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 21:34:34 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 21:34:34 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: Thanks for the idea, the AbstractExecutorService? would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. Thanks all for the feedback! ________________________________ From: Attila Kelemen Sent: May 13, 2024 2:22 PM To: Colin Redmond Cc: masoud parvari ; Robert Engels ; loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From pedro.lamarao at prodist.com.br Mon May 13 21:36:05 2024 From: pedro.lamarao at prodist.com.br (=?UTF-8?Q?Pedro_Lamar=C3=A3o?=) Date: Mon, 13 May 2024 18:36:05 -0300 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: This solution generalizes for other kinds of limits too. I have an application here that does basically the same thing with a token bucket instead of a semaphore. Em seg., 13 de mai. de 2024 ?s 16:47, Robert Engels escreveu: > I think you can simply this. You don?t need to pool the virtual threads. > Just use a semaphore to control how many are running at once. You can put > this behind and Executor for a standardized api > > On May 13, 2024, at 2:10?PM, Colin Redmond > wrote: > > ? > Hello, > > I have been experimenting with Virtual Threads in a Spring Integration > project that is essentially a producer consumer project. it has a small > number of threads that reads from an external queue (pubsub) and passes the > received message off to an ThreadPerTaskExecutor executor service. It then > executes several IO heavy steps. > > Overall Virtual threads have been amazing, before I was running with > 500-600 platform threads. Switching to virtual threads has enabled me to > scale 20-30% more for the same resources (CPU, Memory). > > However I am running into one problem. Since this is a spring integration > project I don't have a lot of control over how the work is propagated > between threads. The thread that reads from the external queue runs much > faster than the internal threads processing the work. When running with > high load the service fails OOM because it can start 100k+ virtual threads, > and more importantly those virtual threads have 100k+ messages to be > processed which take up a lot of memory. > > I resolved the issue by using a ThreadPoolExecutor a with small core pool > but large a max pool size (1000), a virtual thread factory, a limited size > LinkedBlockingQueue and the RejectedExecutionHandler uses the spring > CallerBlocksPolicy which retries to offer() the work to the executor and > blocks. This causes back pressure and ensure that the service never pulls > in more work than it can manage, so it no longer OOM. It has enough threads > to saturate the CPU and by using virtual threads I save a lot of memory vs > platform threads. > > It has been suggested we use a semaphore to control flow with virtual > threads instead of a Thread Pool. The best place I can think of for > controlling the number of worker threads is in the Executor Service itself. > So, I am investigating creating a ResourceConstrainedThreadPerTaskExecutor > that will request a resource before launching a new thread. This resource > could be a semaphore or even a guava ratelimiter, but I have been facing > some issues. Unlike the ThreadPoolExecutor, the ThreadPerTaskExecutor does > not allow you to customize it. I can not extend it, I tried to make my own > ExecutorService that has a ThreadPerTaskExecutor, but the best place to > check for a resource is the private Thread start(Runnable task) method > that I cant wrap. Finally I was going to borrow code from the > ThreadPerTaskExecutor but it uses several jdk.internal such as > ThreadContainer. > > So finally my questions: > > > 1. I am aware that virtual threads should not be pooled, but is it > safe to hold a virtual thread for an extended period of time in a thread > pool? > 2. Is there a perfered method to customize the ThreadPerTaskExecutor? > 3. If I write my own executor service what is the goal of > jdk.internal.ThreadContainer? Other than holding the threads, does it > integrate with the JVM on a lower level? > 4. Can I write an executor service without a ThreadContainer? Or can I > use ThreadContainer, is it acceptable to use jdk.internal classes? > > > If this is not possible, I can modify Springs, ExecutorChannel to control > the flow at a level higher, but I felt that it would be useful to have a > New Thread Per Task Executor that could be throttled or limited. Thanks > for any and all comments. > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon May 13 21:41:11 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Mon, 13 May 2024 23:41:11 +0200 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: If you are wrapping another `ExecutorService`, then you don't really need to have anything special for `shutdown` and such. You just have to delegate those calls. As for "is it safe to keep a virtual thread for an extended period of time": Yes, it is safe, but pooling VT defeats its purpose. Colin Redmond ezt ?rta (id?pont: 2024. m?j. 13., H, 23:34): > Thanks for the idea, the AbstractExecutorService would be a great > starting place, and that means I need to implement all the shutdown logic. > Which is manageable, but tricky. I guess the moral of the story is there is > no easy way out of the box to implement constrained resources with new > thread per task executors. I will have to write some code and reimplement > some things to get what I want. > > > But maybe someone can answer me the question: is it safe to keep a virtual > thread for an extended period of time? Maybe I can live with my > ThreadPoolExecutor solution if it is safe. For my use case it works, but it > isn't ideal. > > Thanks all for the feedback! > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 21:54:40 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 21:54:40 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: If it is safe to keep virtual threads and pool them, there is still a net benefit to pooling virtual threads. I agree a major benefits of virtual threads is that they are cheap to create, so there is no need to pool them. But the memory and performance increase even pooling is no small matter. In my case I have 500 platform threads I am limited because my container is small and they start to use a significant portion of the memory. I switch them for 1000 virtual threads, this saves me ~ 500 mb of RAM (maybe less i didn't do the math). Between less need for context switching and more memory for garbage, I am still seeing a 20 - 30% improvements. Which even with pooled virtual threads is a big improvement. Firstly I was hoping there was an existing solution, I googled it a while but couldn't find any specific open source packages if anyone knows any let me know, I would prefer to import something. If not I may continue my journey of writing a new ExecutorService for my use case. ________________________________ From: Attila Kelemen Sent: May 13, 2024 2:41 PM To: Colin Redmond Cc: masoud parvari ; Robert Engels ; loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor If you are wrapping another `ExecutorService`, then you don't really need to have anything special for `shutdown` and such. You just have to delegate those calls. As for "is it safe to keep a virtual thread for an extended period of time": Yes, it is safe, but pooling VT defeats its purpose. Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:34): Thanks for the idea, the AbstractExecutorService would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. Thanks all for the feedback! -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Mon May 13 22:03:05 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Tue, 14 May 2024 00:03:05 +0200 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: I do happen to have an executor framework in which all this is trivial to implement, because you just need to implement a single submit method, and the rest you can get for free (as in you don't have to implement it) using a single call: `TaskExecutors.upgradeToStoppable(executor)` (though this returns an instance of my `TaskExecutorService` interface, but I have bridge methods to convert that to `ExecutorService` with minimal overhead). See https://javadoc.io/doc/org.jtrim2/jtrim-executor/latest/jtrim.executor/org/jtrim2/executor/package-summary.html If you want to give it a try, you can send me a personal email, and I can answer API specific questions. Colin Redmond ezt ?rta (id?pont: 2024. m?j. 13., H, 23:54): > If it is safe to keep virtual threads and pool them, there is still a net > benefit to pooling virtual threads. I agree a major benefits of virtual > threads is that they are cheap to create, so there is no *need *to pool > them. But the memory and performance increase even pooling is no small > matter. > > In my case I have 500 platform threads I am limited because my container > is small and they start to use a significant portion of the memory. I > switch them for 1000 virtual threads, this saves me ~ 500 mb of RAM (maybe > less i didn't do the math). Between less need for context switching and > more memory for garbage, I am still seeing a 20 - 30% improvements. Which > even with pooled virtual threads is a big improvement. > > Firstly I was hoping there was an existing solution, I googled it a while > but couldn't find any specific open source packages if anyone knows any let > me know, I would prefer to import something. If not I may continue my > journey of writing a new ExecutorService for my use case. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Mon May 13 22:07:13 2024 From: rengels at ix.netcom.com (robert engels) Date: Mon, 13 May 2024 17:07:13 -0500 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: If you use an Executor the entire code should be less than 10 lines - then you don?t need to manage the lifecycle, etc. - all it is is a semaphore and the spawning of a new virtual thread when then the semaphore is granted. If you need to return Futures for cancellation / results it is a bit more complicated but not much. > On May 13, 2024, at 4:34 PM, Colin Redmond wrote: > > Thanks for the idea, the AbstractExecutorService? would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. > > > But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. > > Thanks all for the feedback! > From: Attila Kelemen > > Sent: May 13, 2024 2:22 PM > To: Colin Redmond > > Cc: masoud parvari >; Robert Engels >; loom-dev at openjdk.org > > Subject: Re: Resource Constrained Thread Per Task Executor > > You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. > > Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): > I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. > > It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 22:10:28 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 22:10:28 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: Thanks that would be amazing, I will take a look at your jtrim project. If I only need to implement an executor it makes it a lot simpler than needing to implement the whole ExecutorService interface! Thanks all for your feedback! ________________________________ From: robert engels Sent: May 13, 2024 3:07 PM To: Colin Redmond Cc: Attila Kelemen ; masoud parvari ; loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor If you use an Executor the entire code should be less than 10 lines - then you don?t need to manage the lifecycle, etc. - all it is is a semaphore and the spawning of a new virtual thread when then the semaphore is granted. If you need to return Futures for cancellation / results it is a bit more complicated but not much. On May 13, 2024, at 4:34 PM, Colin Redmond > wrote: Thanks for the idea, the AbstractExecutorService? would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. Thanks all for the feedback! ________________________________ From: Attila Kelemen > Sent: May 13, 2024 2:22 PM To: Colin Redmond > Cc: masoud parvari >; Robert Engels >; loom-dev at openjdk.org > Subject: Re: Resource Constrained Thread Per Task Executor You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Colin.Redmond at outlook.com Mon May 13 22:36:01 2024 From: Colin.Redmond at outlook.com (Colin Redmond) Date: Mon, 13 May 2024 22:36:01 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: You know what, you are right. I double checked the interface that Spring Integration was expecting and it only needs a Executor, not an ExecutorService. I got mixed up and started down the wrong rabbit hole! So you are correct, I don't need to manage the lifecycle and it is a much simpler problem with maybe 10 lines of code. ________________________________ From: robert engels Sent: May 13, 2024 3:07 PM To: Colin Redmond Cc: Attila Kelemen ; masoud parvari ; loom-dev at openjdk.org Subject: Re: Resource Constrained Thread Per Task Executor If you use an Executor the entire code should be less than 10 lines - then you don?t need to manage the lifecycle, etc. - all it is is a semaphore and the spawning of a new virtual thread when then the semaphore is granted. If you need to return Futures for cancellation / results it is a bit more complicated but not much. On May 13, 2024, at 4:34 PM, Colin Redmond > wrote: Thanks for the idea, the AbstractExecutorService? would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. Thanks all for the feedback! ________________________________ From: Attila Kelemen > Sent: May 13, 2024 2:22 PM To: Colin Redmond > Cc: masoud parvari >; Robert Engels >; loom-dev at openjdk.org > Subject: Re: Resource Constrained Thread Per Task Executor You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From danielaveryj at gmail.com Tue May 14 01:56:26 2024 From: danielaveryj at gmail.com (Daniel Avery) Date: Mon, 13 May 2024 19:56:26 -0600 Subject: Resource Constrained Thread Per Task Executor Message-ID: If you did need to integrate a semaphore into an ExecutorService, you might find it easier to implement a ThreadFactory, and then leverage the utility methods in Executors to get an ExecutorService. ``` Semaphore sem = new Semaphore(permits); ThreadFactory factory1 = Thread.ofVirtual().factory(); ThreadFactory factory2 = runnable -> { try { sem.acquire(); return factory1.newThread(() -> { try { runnable.run(); } finally { sem.release(); } }); } catch (InterruptedException ie) { // interrupted in acquire() Thread.currentThread().interrupt(); throw new RuntimeException(ie); } catch (Throwable t) { // threw in newThread() sem.release(); throw t; } }; ExecutorService es = Executors.newThreadPerTaskExecutor(factory2); ``` - Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: From colin.redmond at outlook.com Tue May 14 04:48:08 2024 From: colin.redmond at outlook.com (Colin Redmond) Date: Tue, 14 May 2024 04:48:08 +0000 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: Message-ID: Thanks for sharing that. It is a nice solution to my problem. I wouldn't have thought about having a ThreadFactory with a Semaphore for a ThreadFactory. But it looks simple and solves the problem. ________________________________ From: loom-dev on behalf of Daniel Avery Sent: May 13, 2024 6:56 PM To: loom-dev Subject: Re: Resource Constrained Thread Per Task Executor If you did need to integrate a semaphore into an ExecutorService, you might find it easier to implement a ThreadFactory, and then leverage the utility methods in Executors to get an ExecutorService. ``` Semaphore sem = new Semaphore(permits); ThreadFactory factory1 = Thread.ofVirtual().factory(); ThreadFactory factory2 = runnable -> { try { sem.acquire(); return factory1.newThread(() -> { try { runnable.run(); } finally { sem.release(); } }); } catch (InterruptedException ie) { // interrupted in acquire() Thread.currentThread().interrupt(); throw new RuntimeException(ie); } catch (Throwable t) { // threw in newThread() sem.release(); throw t; } }; ExecutorService es = Executors.newThreadPerTaskExecutor(factory2); ``` - Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Tue May 14 17:29:22 2024 From: duke at openjdk.org (duke) Date: Tue, 14 May 2024 17:29:22 GMT Subject: git: openjdk/loom: fibers: ScopedValue update to align with JEP Message-ID: <69fc9637-9051-4155-814f-5dfb3a18d503@openjdk.org> Changeset: d891d404 Author: Alan Bateman Date: 2024-05-14 18:16:18 +0000 URL: https://git.openjdk.org/loom/commit/d891d404b8db8f1dfc3944357bee48a729835a90 ScopedValue update to align with JEP ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.desktop/share/classes/sun/font/HBShaper.java ! test/jdk/java/lang/ScopedValue/ManyBindings.java ! test/jdk/java/lang/ScopedValue/ScopedValueAPI.java ! test/jdk/java/lang/ScopedValue/StressStackOverflow.java ! test/micro/org/openjdk/bench/java/lang/ScopedValues.java ! test/micro/org/openjdk/bench/java/lang/ScopedValuesData.java From mark.reinhold at oracle.com Tue May 14 18:51:33 2024 From: mark.reinhold at oracle.com (Mark Reinhold) Date: Tue, 14 May 2024 18:51:33 +0000 Subject: New candidate JEP: 481: Scoped Values (Third Preview) Message-ID: <20240514185131.753326CAC05@eggemoggin.niobe.net> https://openjdk.org/jeps/481 Summary: Introduce scoped values, which enable a method to share immutable data both with its callees within a thread, and with child threads. Scoped values are easier to reason about than thread-local variables. They also have lower space and time costs, especially when used together with virtual threads (JEP??444) and structured concurrency (JEP??480). This is a preview API. - Mark From zenghuichen1997 at gmail.com Wed May 15 03:02:54 2024 From: zenghuichen1997 at gmail.com (qia nxiao) Date: Wed, 15 May 2024 11:02:54 +0800 Subject: Is there any consideration to package an EA version based on JDK 21 Message-ID: Hello everyone, I have noticed that Loom is currently trying to modify the object monitor to avoid pinning and has already released an EA version based on JDK 23. I would like to ask if there is any consideration to package an EA version based on JDK 21. JDK 21 is an LTS version, and my applications are planned to stay on this version for a longer period of time. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at oracle.com Wed May 15 06:00:02 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 15 May 2024 07:00:02 +0100 Subject: Is there any consideration to package an EA version based on JDK 21 In-Reply-To: References: Message-ID: <9c196b80-2cfe-48db-977d-5eb9d4abb80f@oracle.com> On 15/05/2024 04:02, qia nxiao wrote: > Hello everyone, I have noticed thatLoom is currently trying to modify > the object monitor to avoid pinning and has already released an EA > version based on JDK 23. > > I would like to ask if there is any consideration to package an EA > version based on JDK 21. JDK 21 is an LTS version, and my applications > are planned to stay on this version for a longer period of time. > The changes to the object monitor implementation are work in progress, likely a release after JDK 23. So no, this isn't something for JDK 21 update. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: From masoud.parvari at gmail.com Wed May 15 08:53:50 2024 From: masoud.parvari at gmail.com (masoud parvari) Date: Wed, 15 May 2024 10:53:50 +0200 Subject: Is there any consideration to package an EA version based on JDK 21 In-Reply-To: <9c196b80-2cfe-48db-977d-5eb9d4abb80f@oracle.com> References: <9c196b80-2cfe-48db-977d-5eb9d4abb80f@oracle.com> Message-ID: Alan, I think OP is asking about short term effort (current Loom repo fiber branch) and not the long term Java object monitor implementation. So even the short term effort won't make it into JDK 23 ? On Wed, May 15, 2024 at 8:00?AM Alan Bateman wrote: > On 15/05/2024 04:02, qia nxiao wrote: > > Hello everyone, I have noticed that Loom is currently trying to modify > the object monitor to avoid pinning and has already released an EA version > based on JDK 23. > > I would like to ask if there is any consideration to package an EA version > based on JDK 21. JDK 21 is an LTS version, and my applications are planned > to stay on this version for a longer period of time. > > The changes to the object monitor implementation are work in progress, > likely a release after JDK 23. So no, this isn't something for JDK 21 > update. > > -Alan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at oracle.com Wed May 15 09:29:41 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 15 May 2024 10:29:41 +0100 Subject: Is there any consideration to package an EA version based on JDK 21 In-Reply-To: References: <9c196b80-2cfe-48db-977d-5eb9d4abb80f@oracle.com> Message-ID: <0f01e57c-a3e7-4bb3-9343-14f9bf37fa0f@oracle.com> On 15/05/2024 09:53, masoud parvari wrote: > Alan, I think OP is asking about short term effort (current Loom repo > fiber branch) and not the long term Java object monitor implementation. > > So even the short term effort won't make it into JDK 23 ? > We need the fibers branch to track main line, it work put a huge tax all work items if the repo were based on JDK 21. There are 3 parts to the object monitor work. The changes for Object.wait aren't in the loom repo yet, should be soon, and we'll publish another EA build at that point.? The fork for JDK 23 is in a few weeks so too soon for the ongoing work here. -Alan. From duke at openjdk.org Wed May 15 10:33:21 2024 From: duke at openjdk.org (duke) Date: Wed, 15 May 2024 10:33:21 GMT Subject: git: openjdk/loom: fibers: 28 new changesets Message-ID: <3e8057a2-0c35-41ed-998b-3ff1e5fcf26d@openjdk.org> Changeset: 5053b70a Author: Viktor Klang Date: 2024-05-11 18:37:43 +0000 URL: https://git.openjdk.org/loom/commit/5053b70a7fc67ce9b73dbeecbdd88fbc34d45e04 8278255: Add more warning text in ReentrantLock and ReentrantReadWriteLock Reviewed-by: prappo, alanb ! src/java.base/share/classes/java/util/concurrent/locks/Lock.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: d517d2df Author: Emanuel Peter Date: 2024-05-13 05:45:36 +0000 URL: https://git.openjdk.org/loom/commit/d517d2df451e135583083ed3684d7d3241b36f76 8331764: C2 SuperWord: refactor _align_to_ref/_mem_ref_for_main_loop_alignment Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp Changeset: 3e3f7cf4 Author: Aggelos Biboudis Date: 2024-05-13 07:33:42 +0000 URL: https://git.openjdk.org/loom/commit/3e3f7cf4bddf243fddfeac8cfc1d9b2a1be55043 8330387: Crash with a different types patterns (primitive vs generic) in instanceof Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfPatternOpWithRecordPatterns.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfPatternOpWithTopLevelPatterns.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfTypeComparisonOp.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.out Changeset: 5a8df410 Author: Jan Lahoda Date: 2024-05-13 08:16:30 +0000 URL: https://git.openjdk.org/loom/commit/5a8df4106ac5386eb72e874dcadf2b18defe27d8 8331535: Incorrect prompt for Console.readLine 8331681: Test that jdk.internal.io.JdkConsole does not interpret prompts Reviewed-by: naoto, asotona ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java + test/jdk/java/io/Console/ConsolePromptTest.java + test/jdk/jdk/internal/jline/JLineConsoleProviderTest.java + test/langtools/jdk/jshell/ConsoleToolTest.java ! test/langtools/jdk/jshell/ReplToolTesting.java Changeset: adaa509b Author: Chen Liang Committer: Claes Redestad Date: 2024-05-13 09:11:49 +0000 URL: https://git.openjdk.org/loom/commit/adaa509b6ed3d12569b8e5f2ec802cef22ab53c7 8327499: MethodHandleStatics.traceLambdaForm includes methods that cannot be generated Reviewed-by: redestad, iklam ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/CDSLambdaInvoker.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestLambdaInvokers.java ! test/jdk/tools/jlink/plugins/GenerateJLIClassesPluginTest.java ! test/jdk/tools/lib/tests/JImageValidator.java Changeset: 391bbbc7 Author: Tobias Holenstein Date: 2024-05-13 09:14:17 +0000 URL: https://git.openjdk.org/loom/commit/391bbbc7d0fb95b0cd55e2f56c43bee019aeab7f 8330584: IGV: XML does not save all node properties Reviewed-by: rcastanedalo, chagedorn ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/OutlineTopComponent.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/InputNode.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/Printer.java Changeset: 1484153c Author: Hannes Walln?fer Date: 2024-05-13 09:48:23 +0000 URL: https://git.openjdk.org/loom/commit/1484153c1a092cefc20270b35aa1e508280843a4 8332080: Update troff man page for javadoc Reviewed-by: jjg ! src/jdk.javadoc/share/man/javadoc.1 ! test/langtools/jdk/javadoc/tool/CheckManPageOptions.java Changeset: abf54bb1 Author: Nizar Benalla Committer: Sean Mullan Date: 2024-05-13 13:01:15 +0000 URL: https://git.openjdk.org/loom/commit/abf54bb1e6da6d7bc432b3e9bb3ff164a895bd3e 8332100: Add missing `@since` to KeyValue::EC_TYPE in `java.xml.crypto` Reviewed-by: mullan ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyValue.java Changeset: ff4bf1cf Author: Nizar Benalla Committer: Weijun Wang Date: 2024-05-13 13:49:01 +0000 URL: https://git.openjdk.org/loom/commit/ff4bf1cf9f18547cff8f484433c3c55b4c288aaa 8332102: Add `@since` to package-info of `jdk.security.jarsigner` Reviewed-by: weijun ! src/jdk.jartool/share/classes/jdk/security/jarsigner/package-info.java Changeset: 7c2c24fc Author: Prajwal Kumaraswamy Committer: Sean Coffey Date: 2024-05-13 16:10:45 +0000 URL: https://git.openjdk.org/loom/commit/7c2c24fc0511b36132952c96be46eea5904a53c5 8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit Reviewed-by: djelinski, valeriep, coffeys ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c Changeset: 5ded8da6 Author: Naoto Sato Date: 2024-05-13 16:49:48 +0000 URL: https://git.openjdk.org/loom/commit/5ded8da676d62158d0011086d7f80ff2c9096e13 8332085: Remove 10 year old transition check in GenerateCurrencyData tool Reviewed-by: erikj, iris Backport-of: 4f3b76ff496e7423e5c43ca62cef019e4f4292ec ! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java Changeset: 440782e0 Author: SendaoYan Committer: Serguei Spitsyn Date: 2024-05-14 02:12:57 +0000 URL: https://git.openjdk.org/loom/commit/440782e0160f867f08afbec0abf48d557a522c72 8331466: Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/ProblemList.txt Changeset: beea5305 Author: Daniel Jeli?ski Date: 2024-05-14 05:01:51 +0000 URL: https://git.openjdk.org/loom/commit/beea5305b071820e2b128a55c5ca384caf470fdd 8331907: BigInteger and BigDecimal should use optimized division Reviewed-by: rgiulietti, bpb ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/MutableBigInteger.java ! test/micro/org/openjdk/bench/java/math/BigDecimals.java ! test/micro/org/openjdk/bench/java/math/BigIntegers.java Changeset: ea5eb74a Author: Aggelos Biboudis Date: 2024-05-14 06:41:58 +0000 URL: https://git.openjdk.org/loom/commit/ea5eb74a65f20ce28fa0a94ea851915d4a6f83da 8326404: Assertion error when trying to compile switch with fallthrough with pattern Co-authored-by: Jan Lahoda Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java + test/langtools/tools/javac/patterns/T8326404.java Changeset: 7ce4a13c Author: Hamlin Li Date: 2024-05-14 11:26:57 +0000 URL: https://git.openjdk.org/loom/commit/7ce4a13c0a891e606480e138f4025ffa328a18b3 8332130: RISC-V: remove wrong instructions of Vector Crypto Extension Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp Changeset: 4ba74475 Author: Axel Boldt-Christmas Date: 2024-05-14 13:11:28 +0000 URL: https://git.openjdk.org/loom/commit/4ba74475d44831c1fe49359458163cd1567e9619 8326957: Implement JEP 474: ZGC: Generational Mode by Default Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/x/xArguments.cpp ! src/hotspot/share/gc/x/xInitialize.cpp ! src/hotspot/share/runtime/arguments.cpp + test/hotspot/jtreg/gc/x/TestDeprecated.java + test/hotspot/jtreg/gc/z/TestDefault.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 5a4415a6 Author: Sonia Zaldana Calles Committer: Thomas Stuefe Date: 2024-05-14 14:04:28 +0000 URL: https://git.openjdk.org/loom/commit/5a4415a6bddb25cbd5b87ff8ad1a06179c2e452e 8331858: [nmt] VM.native_memory statistics should work in summary mode Reviewed-by: stuefe, jsjolen ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/nmtDCmd.cpp + test/hotspot/jtreg/runtime/NMT/JcmdSummaryStatistics.java Changeset: 95a60131 Author: Thomas Stuefe Date: 2024-05-14 14:58:51 +0000 URL: https://git.openjdk.org/loom/commit/95a601316de06b4b0fbf6e3c7777be5d2a1ca978 8332042: Move MEMFLAGS to its own include file Reviewed-by: jsjolen, stefank ! src/hotspot/share/gc/g1/g1MonotonicArena.hpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/leakprofiler/chains/jfrbitset.hpp ! src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/padded.hpp ! src/hotspot/share/nmt/allocationSite.hpp ! src/hotspot/share/nmt/mallocHeader.cpp ! src/hotspot/share/nmt/mallocHeader.hpp ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/memFlagBitmap.hpp ! src/hotspot/share/nmt/memMapPrinter.cpp ! src/hotspot/share/nmt/memMapPrinter.hpp ! src/hotspot/share/nmt/memReporter.cpp + src/hotspot/share/nmt/memflags.hpp ! src/hotspot/share/nmt/nmtCommon.hpp ! src/hotspot/share/prims/jvmtiAgentList.hpp ! src/hotspot/share/services/mallocLimit.cpp ! src/hotspot/share/services/mallocLimit.hpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/utilities/bitMap.hpp Changeset: e91492ab Author: Inigo Mediavilla Saiz Committer: Brian Burkhalter Date: 2024-05-14 16:04:34 +0000 URL: https://git.openjdk.org/loom/commit/e91492ab4333c61f39b50eb428fa932131a5b908 8313674: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java should test for more block devices Reviewed-by: alanb, bpb ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: d7d624d1 Author: Alan Bateman Date: 2024-05-14 18:27:25 +0000 URL: https://git.openjdk.org/loom/commit/d7d624d1e3ecb1856353b8603355ba7728a6fec2 Merge ! src/hotspot/share/services/threadService.cpp ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/share/services/threadService.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 4d32c607 Author: Calvin Cheung Date: 2024-05-14 19:21:51 +0000 URL: https://git.openjdk.org/loom/commit/4d32c607a4b496bf2bb09e54167ecbbab5569a0c 8322008: Exclude some CDS tests from running with -Xshare:off Reviewed-by: lmesnik, iklam ! test/hotspot/jtreg/TEST.groups Changeset: 0bb5ae64 Author: Brian Burkhalter Date: 2024-05-14 20:17:01 +0000 URL: https://git.openjdk.org/loom/commit/0bb5ae645165b97527ecccf02308df6072c363d8 8332248: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java failed with RuntimeException Reviewed-by: alanb ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: 7b4ba7f9 Author: Julian Waters Date: 2024-05-15 00:23:26 +0000 URL: https://git.openjdk.org/loom/commit/7b4ba7f90ab9ea5e1070c79534c587dad17d1bdd 8325932: Replace ATTRIBUTE_NORETURN with direct [[noreturn]] Reviewed-by: kbarrett, dholmes ! src/hotspot/share/runtime/os.hpp - src/hotspot/share/utilities/attributeNoreturn.hpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 4e77cf88 Author: Cesar Soares Lucas Committer: Vladimir Kozlov Date: 2024-05-15 01:46:22 +0000 URL: https://git.openjdk.org/loom/commit/4e77cf881d031e5b0320915b3eabd7702e560291 8330795: C2: assert((uint)type <= T_CONFLICT && _zero_type[type] != nullptr) failed: bad type with -XX:-UseCompressedClassPointers Reviewed-by: kvn ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndLoadKlass.java ! test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java Changeset: d04ac14b Author: Jan Lahoda Date: 2024-05-15 05:43:18 +0000 URL: https://git.openjdk.org/loom/commit/d04ac14bdbab4187d0be98b8471f90be8a14f649 8332236: javac crashes with module imports and implicitly declared class Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/ImportModule.java Changeset: c642f44b Author: Axel Boldt-Christmas Date: 2024-05-15 06:05:23 +0000 URL: https://git.openjdk.org/loom/commit/c642f44bbe1e4cdbc23496a34ddaae30990ce7c0 8329839: Cleanup ZPhysicalMemoryBacking trace logging Reviewed-by: stefank, ayang ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp ! src/hotspot/os/windows/gc/z/zPhysicalMemoryBacking_windows.cpp Changeset: 82acb4fe Author: Alan Bateman Date: 2024-05-15 08:16:20 +0000 URL: https://git.openjdk.org/loom/commit/82acb4fe7ef15e01fbc9d766f0c9665fc90f2779 Merge ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/TEST.groups ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/TEST.groups Changeset: 692c0314 Author: Alan Bateman Date: 2024-05-15 11:28:43 +0000 URL: https://git.openjdk.org/loom/commit/692c0314cfaa7237c2be132fa2266cd3ea735a86 Exclude SA tests on ZGC ! test/hotspot/jtreg/ProblemList-zgc.txt From duke at openjdk.org Wed May 15 10:34:55 2024 From: duke at openjdk.org (duke) Date: Wed, 15 May 2024 10:34:55 GMT Subject: git: openjdk/loom: master: 25 new changesets Message-ID: <38fb554d-415f-4843-ad77-ee1ba738b06d@openjdk.org> Changeset: 5053b70a Author: Viktor Klang Date: 2024-05-11 18:37:43 +0000 URL: https://git.openjdk.org/loom/commit/5053b70a7fc67ce9b73dbeecbdd88fbc34d45e04 8278255: Add more warning text in ReentrantLock and ReentrantReadWriteLock Reviewed-by: prappo, alanb ! src/java.base/share/classes/java/util/concurrent/locks/Lock.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/java.base/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: d517d2df Author: Emanuel Peter Date: 2024-05-13 05:45:36 +0000 URL: https://git.openjdk.org/loom/commit/d517d2df451e135583083ed3684d7d3241b36f76 8331764: C2 SuperWord: refactor _align_to_ref/_mem_ref_for_main_loop_alignment Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp Changeset: 3e3f7cf4 Author: Aggelos Biboudis Date: 2024-05-13 07:33:42 +0000 URL: https://git.openjdk.org/loom/commit/3e3f7cf4bddf243fddfeac8cfc1d9b2a1be55043 8330387: Crash with a different types patterns (primitive vs generic) in instanceof Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfPatternOpWithRecordPatterns.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfPatternOpWithTopLevelPatterns.java ! test/langtools/tools/javac/patterns/PrimitiveInstanceOfTypeComparisonOp.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.out Changeset: 5a8df410 Author: Jan Lahoda Date: 2024-05-13 08:16:30 +0000 URL: https://git.openjdk.org/loom/commit/5a8df4106ac5386eb72e874dcadf2b18defe27d8 8331535: Incorrect prompt for Console.readLine 8331681: Test that jdk.internal.io.JdkConsole does not interpret prompts Reviewed-by: naoto, asotona ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/ConsoleIOContext.java + test/jdk/java/io/Console/ConsolePromptTest.java + test/jdk/jdk/internal/jline/JLineConsoleProviderTest.java + test/langtools/jdk/jshell/ConsoleToolTest.java ! test/langtools/jdk/jshell/ReplToolTesting.java Changeset: adaa509b Author: Chen Liang Committer: Claes Redestad Date: 2024-05-13 09:11:49 +0000 URL: https://git.openjdk.org/loom/commit/adaa509b6ed3d12569b8e5f2ec802cef22ab53c7 8327499: MethodHandleStatics.traceLambdaForm includes methods that cannot be generated Reviewed-by: redestad, iklam ! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/CDSLambdaInvoker.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestLambdaInvokers.java ! test/jdk/tools/jlink/plugins/GenerateJLIClassesPluginTest.java ! test/jdk/tools/lib/tests/JImageValidator.java Changeset: 391bbbc7 Author: Tobias Holenstein Date: 2024-05-13 09:14:17 +0000 URL: https://git.openjdk.org/loom/commit/391bbbc7d0fb95b0cd55e2f56c43bee019aeab7f 8330584: IGV: XML does not save all node properties Reviewed-by: rcastanedalo, chagedorn ! src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/OutlineTopComponent.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/InputNode.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/Printer.java Changeset: 1484153c Author: Hannes Walln?fer Date: 2024-05-13 09:48:23 +0000 URL: https://git.openjdk.org/loom/commit/1484153c1a092cefc20270b35aa1e508280843a4 8332080: Update troff man page for javadoc Reviewed-by: jjg ! src/jdk.javadoc/share/man/javadoc.1 ! test/langtools/jdk/javadoc/tool/CheckManPageOptions.java Changeset: abf54bb1 Author: Nizar Benalla Committer: Sean Mullan Date: 2024-05-13 13:01:15 +0000 URL: https://git.openjdk.org/loom/commit/abf54bb1e6da6d7bc432b3e9bb3ff164a895bd3e 8332100: Add missing `@since` to KeyValue::EC_TYPE in `java.xml.crypto` Reviewed-by: mullan ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyValue.java Changeset: ff4bf1cf Author: Nizar Benalla Committer: Weijun Wang Date: 2024-05-13 13:49:01 +0000 URL: https://git.openjdk.org/loom/commit/ff4bf1cf9f18547cff8f484433c3c55b4c288aaa 8332102: Add `@since` to package-info of `jdk.security.jarsigner` Reviewed-by: weijun ! src/jdk.jartool/share/classes/jdk/security/jarsigner/package-info.java Changeset: 7c2c24fc Author: Prajwal Kumaraswamy Committer: Sean Coffey Date: 2024-05-13 16:10:45 +0000 URL: https://git.openjdk.org/loom/commit/7c2c24fc0511b36132952c96be46eea5904a53c5 8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit Reviewed-by: djelinski, valeriep, coffeys ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c Changeset: 5ded8da6 Author: Naoto Sato Date: 2024-05-13 16:49:48 +0000 URL: https://git.openjdk.org/loom/commit/5ded8da676d62158d0011086d7f80ff2c9096e13 8332085: Remove 10 year old transition check in GenerateCurrencyData tool Reviewed-by: erikj, iris Backport-of: 4f3b76ff496e7423e5c43ca62cef019e4f4292ec ! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java Changeset: 440782e0 Author: SendaoYan Committer: Serguei Spitsyn Date: 2024-05-14 02:12:57 +0000 URL: https://git.openjdk.org/loom/commit/440782e0160f867f08afbec0abf48d557a522c72 8331466: Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/ProblemList.txt Changeset: beea5305 Author: Daniel Jeli?ski Date: 2024-05-14 05:01:51 +0000 URL: https://git.openjdk.org/loom/commit/beea5305b071820e2b128a55c5ca384caf470fdd 8331907: BigInteger and BigDecimal should use optimized division Reviewed-by: rgiulietti, bpb ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/MutableBigInteger.java ! test/micro/org/openjdk/bench/java/math/BigDecimals.java ! test/micro/org/openjdk/bench/java/math/BigIntegers.java Changeset: ea5eb74a Author: Aggelos Biboudis Date: 2024-05-14 06:41:58 +0000 URL: https://git.openjdk.org/loom/commit/ea5eb74a65f20ce28fa0a94ea851915d4a6f83da 8326404: Assertion error when trying to compile switch with fallthrough with pattern Co-authored-by: Jan Lahoda Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java + test/langtools/tools/javac/patterns/T8326404.java Changeset: 7ce4a13c Author: Hamlin Li Date: 2024-05-14 11:26:57 +0000 URL: https://git.openjdk.org/loom/commit/7ce4a13c0a891e606480e138f4025ffa328a18b3 8332130: RISC-V: remove wrong instructions of Vector Crypto Extension Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp Changeset: 4ba74475 Author: Axel Boldt-Christmas Date: 2024-05-14 13:11:28 +0000 URL: https://git.openjdk.org/loom/commit/4ba74475d44831c1fe49359458163cd1567e9619 8326957: Implement JEP 474: ZGC: Generational Mode by Default Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/x/xArguments.cpp ! src/hotspot/share/gc/x/xInitialize.cpp ! src/hotspot/share/runtime/arguments.cpp + test/hotspot/jtreg/gc/x/TestDeprecated.java + test/hotspot/jtreg/gc/z/TestDefault.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 5a4415a6 Author: Sonia Zaldana Calles Committer: Thomas Stuefe Date: 2024-05-14 14:04:28 +0000 URL: https://git.openjdk.org/loom/commit/5a4415a6bddb25cbd5b87ff8ad1a06179c2e452e 8331858: [nmt] VM.native_memory statistics should work in summary mode Reviewed-by: stuefe, jsjolen ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/nmtDCmd.cpp + test/hotspot/jtreg/runtime/NMT/JcmdSummaryStatistics.java Changeset: 95a60131 Author: Thomas Stuefe Date: 2024-05-14 14:58:51 +0000 URL: https://git.openjdk.org/loom/commit/95a601316de06b4b0fbf6e3c7777be5d2a1ca978 8332042: Move MEMFLAGS to its own include file Reviewed-by: jsjolen, stefank ! src/hotspot/share/gc/g1/g1MonotonicArena.hpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/z/zNMT.cpp ! src/hotspot/share/jfr/leakprofiler/chains/jfrbitset.hpp ! src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/guardedMemory.cpp ! src/hotspot/share/memory/padded.hpp ! src/hotspot/share/nmt/allocationSite.hpp ! src/hotspot/share/nmt/mallocHeader.cpp ! src/hotspot/share/nmt/mallocHeader.hpp ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/memFlagBitmap.hpp ! src/hotspot/share/nmt/memMapPrinter.cpp ! src/hotspot/share/nmt/memMapPrinter.hpp ! src/hotspot/share/nmt/memReporter.cpp + src/hotspot/share/nmt/memflags.hpp ! src/hotspot/share/nmt/nmtCommon.hpp ! src/hotspot/share/prims/jvmtiAgentList.hpp ! src/hotspot/share/services/mallocLimit.cpp ! src/hotspot/share/services/mallocLimit.hpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/utilities/bitMap.hpp Changeset: e91492ab Author: Inigo Mediavilla Saiz Committer: Brian Burkhalter Date: 2024-05-14 16:04:34 +0000 URL: https://git.openjdk.org/loom/commit/e91492ab4333c61f39b50eb428fa932131a5b908 8313674: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java should test for more block devices Reviewed-by: alanb, bpb ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: 4d32c607 Author: Calvin Cheung Date: 2024-05-14 19:21:51 +0000 URL: https://git.openjdk.org/loom/commit/4d32c607a4b496bf2bb09e54167ecbbab5569a0c 8322008: Exclude some CDS tests from running with -Xshare:off Reviewed-by: lmesnik, iklam ! test/hotspot/jtreg/TEST.groups Changeset: 0bb5ae64 Author: Brian Burkhalter Date: 2024-05-14 20:17:01 +0000 URL: https://git.openjdk.org/loom/commit/0bb5ae645165b97527ecccf02308df6072c363d8 8332248: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java failed with RuntimeException Reviewed-by: alanb ! test/jdk/java/nio/channels/FileChannel/BlockDeviceSize.java Changeset: 7b4ba7f9 Author: Julian Waters Date: 2024-05-15 00:23:26 +0000 URL: https://git.openjdk.org/loom/commit/7b4ba7f90ab9ea5e1070c79534c587dad17d1bdd 8325932: Replace ATTRIBUTE_NORETURN with direct [[noreturn]] Reviewed-by: kbarrett, dholmes ! src/hotspot/share/runtime/os.hpp - src/hotspot/share/utilities/attributeNoreturn.hpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 4e77cf88 Author: Cesar Soares Lucas Committer: Vladimir Kozlov Date: 2024-05-15 01:46:22 +0000 URL: https://git.openjdk.org/loom/commit/4e77cf881d031e5b0320915b3eabd7702e560291 8330795: C2: assert((uint)type <= T_CONFLICT && _zero_type[type] != nullptr) failed: bad type with -XX:-UseCompressedClassPointers Reviewed-by: kvn ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndLoadKlass.java ! test/hotspot/jtreg/compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java Changeset: d04ac14b Author: Jan Lahoda Date: 2024-05-15 05:43:18 +0000 URL: https://git.openjdk.org/loom/commit/d04ac14bdbab4187d0be98b8471f90be8a14f649 8332236: javac crashes with module imports and implicitly declared class Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/ImportModule.java Changeset: c642f44b Author: Axel Boldt-Christmas Date: 2024-05-15 06:05:23 +0000 URL: https://git.openjdk.org/loom/commit/c642f44bbe1e4cdbc23496a34ddaae30990ce7c0 8329839: Cleanup ZPhysicalMemoryBacking trace logging Reviewed-by: stefank, ayang ! src/hotspot/os/bsd/gc/z/zPhysicalMemoryBacking_bsd.cpp ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp ! src/hotspot/os/windows/gc/z/zPhysicalMemoryBacking_windows.cpp From duke at openjdk.org Wed May 15 13:28:26 2024 From: duke at openjdk.org (duke) Date: Wed, 15 May 2024 13:28:26 GMT Subject: git: openjdk/loom: fibers: Exclude more SA tests with ZGC Message-ID: <91840087-0905-4a29-a4fc-aedb07b2e075@openjdk.org> Changeset: 6d4ed3be Author: Alan Bateman Date: 2024-05-15 14:05:20 +0000 URL: https://git.openjdk.org/loom/commit/6d4ed3be26d9bb05e6f76a9c2f1a34f23b917ff7 Exclude more SA tests with ZGC ! test/hotspot/jtreg/ProblemList-zgc.txt From duke at openjdk.org Wed May 15 13:29:56 2024 From: duke at openjdk.org (duke) Date: Wed, 15 May 2024 13:29:56 GMT Subject: git: openjdk/loom: fibers: Fixed typo in javadoc Message-ID: <0e412043-db20-454d-a212-cd98cf7bdd7e@openjdk.org> Changeset: 363f61ca Author: Alan Bateman Date: 2024-05-15 12:18:44 +0000 URL: https://git.openjdk.org/loom/commit/363f61ca93f3f39a709e0d03142ce19ed943d671 Fixed typo in javadoc ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java From duke at openjdk.org Thu May 16 04:18:52 2024 From: duke at openjdk.org (duke) Date: Thu, 16 May 2024 04:18:52 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: Changeset: 02ca065e Author: Alan Bateman Date: 2024-05-15 19:51:40 +0000 URL: https://git.openjdk.org/loom/commit/02ca065ef2ac1fe92a5d62a2da689f170e534caf Rename policy methods ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/lang/ScopedValue/StressStackOverflow.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredThreadDumpTest.java ! test/jdk/java/util/concurrent/StructuredTaskScope/WithScopedValue.java Changeset: 98f40121 Author: Alan Bateman Date: 2024-05-15 19:51:51 +0000 URL: https://git.openjdk.org/loom/commit/98f4012126e3109e4286009b56a9cff41898c664 Exclude more SA tests on ZGC ! test/hotspot/jtreg/ProblemList-zgc.txt From duke at openjdk.org Thu May 16 07:07:10 2024 From: duke at openjdk.org (duke) Date: Thu, 16 May 2024 07:07:10 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: Changeset: 272baf0a Author: Alan Bateman Date: 2024-05-16 08:06:15 +0000 URL: https://git.openjdk.org/loom/commit/272baf0ab3868cf32928072f1715642c11a244ff Exclude com/sun/jdi/ThreadMemoryLeakTest.java with ZGC ! test/jdk/ProblemList-zgc.txt Changeset: 6cbbe912 Author: Alan Bateman Date: 2024-05-16 08:06:33 +0000 URL: https://git.openjdk.org/loom/commit/6cbbe912f9631839fdf40bd73c55005f96967bb7 Fix test/jdk/javax/security/auth/Subject/CallAsWithScopedValue.java ! test/jdk/javax/security/auth/Subject/CallAsWithScopedValue.java From ron.pressler at oracle.com Thu May 16 23:42:01 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 16 May 2024 23:42:01 +0000 Subject: Is there any consideration to package an EA version based on JDK 21 In-Reply-To: References: Message-ID: <73AABF5D-53E3-444A-B77E-3D94FF0C75D6@oracle.com> > On 15 May 2024, at 04:02, qia nxiao wrote: > > I would like to ask if there is any consideration to package an EA version based on JDK 21. JDK 21 is an LTS version, and my applications are planned to stay on this version for a longer period of time. No, because an LTS service is a new(ish) kind of release train created for the sole purpose of offering a release train for applications that value stability over all else and least of all want any new features or significant enhancements. This is something that didn?t exist in the old model of releases, prior to JDK 9, where large and potentially disruptive features as well as security patches and bug fixes were mixed in different kinds of ?minor updates?, hurting those applications that needed stability. Clearly, adding a big enhancement that entails deep changes to the runtime in updates that are especially made to exclude them would defeat their only purpose. An application that chooses to remain on an old version and use an LTS service?s updates is one that, by that very choice expresses that is not interested and/or cannot take advantage of enhancements. If an application is interested in big enhancements it can use the ?tip? version ? a model that is a little more similar to the traditional one. ? Ron From duke at openjdk.org Sun May 19 16:24:15 2024 From: duke at openjdk.org (duke) Date: Sun, 19 May 2024 16:24:15 GMT Subject: git: openjdk/loom: fibers: 54 new changesets Message-ID: <52e574a4-1198-41e8-ad42-d9f4b9cf4e64@openjdk.org> Changeset: 2f10a316 Author: Galder Zamarre?o Committer: Roland Westrelin Date: 2024-05-15 07:48:15 +0000 URL: https://git.openjdk.org/loom/commit/2f10a316ff0c5a4c124b94f6fabb38fb119d2c82 8302850: Implement C1 clone intrinsic that reuses arraycopy code for primitive arrays Reviewed-by: dlong, roland ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_GraphBuilder.hpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_ValueStack.hpp + test/hotspot/jtreg/compiler/c1/TestNullArrayClone.java Changeset: 957eb611 Author: Yudi Zheng Committer: Doug Simon Date: 2024-05-15 09:35:11 +0000 URL: https://git.openjdk.org/loom/commit/957eb611ce2531a3fcc764813ad1e0776887fdda 8331429: [JVMCI] Cleanup JVMCIRuntime allocation routines Reviewed-by: dlong, dnsimon ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1a944478 Author: Evgeny Astigeevich Date: 2024-05-15 09:56:05 +0000 URL: https://git.openjdk.org/loom/commit/1a944478a26a766f5a573a1236b642d8e7b0685c 8332111: [BACKOUT] A way to align already compiled methods with compiler directives Reviewed-by: shade, kvn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodFlags.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! test/hotspot/jtreg/serviceability/dcmd/compiler/CompilerDirectivesDCMDTest.java - test/hotspot/jtreg/serviceability/dcmd/compiler/DirectivesRefreshTest.java - test/hotspot/jtreg/serviceability/dcmd/compiler/refresh_control.txt Changeset: a5005c87 Author: Christoph Langer Date: 2024-05-15 10:36:24 +0000 URL: https://git.openjdk.org/loom/commit/a5005c87c4d5598eb54e9824105767d833f9660b 8330814: Cleanups for KeepAliveCache tests Reviewed-by: jpai, dfuchs ! test/jdk/sun/net/www/http/KeepAliveCache/B5045306.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8291637.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8293562.java ! test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveProperty.java ! test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java Changeset: fa043aec Author: Hannes Walln?fer Date: 2024-05-15 11:47:49 +0000 URL: https://git.openjdk.org/loom/commit/fa043aec425ae1e3086d09492b3fabcfbd3fa779 8294880: Review running time of jdk/internal/shellsupport/doc/JavadocHelperTest.java Reviewed-by: jjg ! test/langtools/TEST.groups + test/langtools/jdk/internal/shellsupport/doc/FullJavadocHelperTest.java ! test/langtools/jdk/internal/shellsupport/doc/JavadocHelperTest.java Changeset: 8032d640 Author: Roland Westrelin Date: 2024-05-15 12:01:20 +0000 URL: https://git.openjdk.org/loom/commit/8032d640c0d34fe507392a1d4faa4ff2005c771d 8332245: C2: missing record_for_ign() call in GraphKit::must_be_not_null() Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestBackToBackMustBeNotNull.java Changeset: c4867c62 Author: Emanuel Peter Date: 2024-05-15 13:16:08 +0000 URL: https://git.openjdk.org/loom/commit/c4867c62c44b48e48845608fe4b29b58749767ad 8329273: C2 SuperWord: Some basic MemorySegment IR tests Reviewed-by: kvn, chagedorn + test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java Changeset: 30bb066b Author: Maurizio Cimadamore Date: 2024-05-15 14:39:51 +0000 URL: https://git.openjdk.org/loom/commit/30bb066b1982c5318d54bfe74115306c602e2974 8332003: Clarify javadoc for MemoryLayout::offsetHandle Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 61aff6db Author: Leonid Mesnik Date: 2024-05-15 14:57:22 +0000 URL: https://git.openjdk.org/loom/commit/61aff6db15d5bdda77427af5ce34d0fe43373197 8332112: Update nsk.share.Log to don't print summary during VM shutdown hook Reviewed-by: dholmes, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect001/plugAttachConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect002/plugAttachConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect003/plugAttachConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect001/plugLaunchConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect002/plugLaunchConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect003/plugLaunchConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect001/plugListenConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect002/plugListenConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect003/plugListenConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect001/plugMultiConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect002/plugMultiConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect003/plugMultiConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect004/plugMultiConnect004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect005/plugMultiConnect005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect006/plugMultiConnect006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService001/transportService001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService002/transportService002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService003/transportService003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Log.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/share/MlvmTestExecutor.java Changeset: 42ccb743 Author: Adam Sotona Date: 2024-05-15 16:14:15 +0000 URL: https://git.openjdk.org/loom/commit/42ccb74399113a3d59ce016483518f033dd6e010 8331940: ClassFile API ArrayIndexOutOfBoundsException with certain class files Reviewed-by: liach, psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 9c02c8dd Author: William Kemper Date: 2024-05-15 16:42:19 +0000 URL: https://git.openjdk.org/loom/commit/9c02c8dd71023df6338cb94997bca6b00768af6f 8332255: Shenandoah: Remove duplicate definition of init mark closure Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 491b3b45 Author: William Kemper Date: 2024-05-15 16:53:04 +0000 URL: https://git.openjdk.org/loom/commit/491b3b45634fffb0101244f7d491a1681e7e8002 8332256: Shenandoah: Do not visit heap threads during shutdown Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 8a4315f8 Author: Viktor Klang Date: 2024-05-15 18:35:46 +0000 URL: https://git.openjdk.org/loom/commit/8a4315f833f3700075d65fae6bc566011c837c07 8331987: Enhance stacktrace clarity for CompletableFuture CancellationException Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/util/concurrent/CancellationException.java ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! test/jdk/java/util/concurrent/tck/CompletableFutureTest.java Changeset: 7cff04fc Author: Naoto Sato Date: 2024-05-15 19:28:24 +0000 URL: https://git.openjdk.org/loom/commit/7cff04fc8a8114a297437aa526b18b6185831eac 8330276: Console methods with explicit Locale Reviewed-by: joehw, rriggs, jlahoda ! src/java.base/share/classes/java/io/Console.java ! src/java.base/share/classes/java/io/ProxyingConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Display.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java + test/jdk/java/io/Console/LocaleTest.java Changeset: 43b109b1 Author: Alex Menkov Date: 2024-05-15 19:29:30 +0000 URL: https://git.openjdk.org/loom/commit/43b109b111e77d0f7b302debc0d76e4ac7c9ac56 8330066: HeapDumpPath and HeapDumpGzipLevel VM options do not mention HeapDumpBeforeFullGC and HeapDumpAfterFullGC Reviewed-by: cjplummer, dholmes, yyang ! src/hotspot/share/runtime/globals.hpp Changeset: 40832554 Author: Rajan Halade Date: 2024-05-15 20:18:57 +0000 URL: https://git.openjdk.org/loom/commit/4083255440cfbf39b9683ea88a433d71ec6111e7 8316138: Add GlobalSign 2 TLS root certificates Reviewed-by: mullan + src/java.base/share/data/cacerts/globalsigne46 + src/java.base/share/data/cacerts/globalsignr46 ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: b687aa55 Author: Ioi Lam Date: 2024-05-15 23:01:53 +0000 URL: https://git.openjdk.org/loom/commit/b687aa550837830b38f0f0faa69c353b1e85219c 8332176: Refactor ClassListParser::parse() Reviewed-by: matsaave, ccheung ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: 95f79c67 Author: Sergey Bylokhov Date: 2024-05-16 02:21:30 +0000 URL: https://git.openjdk.org/loom/commit/95f79c678737fb8de9ed45c516761d4d818869ef 8332253: Linux arm32 build fails after 8292591 Reviewed-by: stuefe, dholmes, shade ! src/hotspot/os/linux/systemMemoryBarrier_linux.cpp Changeset: fe8a2aff Author: Jaikiran Pai Date: 2024-05-16 05:42:38 +0000 URL: https://git.openjdk.org/loom/commit/fe8a2aff3129b515c2a0f3ab96f5e3ad6cef7b70 8307778: com/sun/jdi/cds tests fail with jtreg's Virtual test thread factory Reviewed-by: dholmes, sspitsyn, cjplummer, lmesnik ! test/jdk/ProblemList-Virtual.txt ! test/jdk/com/sun/jdi/cds/CDSJDITest.java Changeset: ab8d7b0c Author: Roland Westrelin Date: 2024-05-16 07:25:11 +0000 URL: https://git.openjdk.org/loom/commit/ab8d7b0cedfaae124262325cd1d4b59cef996d85 8324517: C2: crash in compiled code because of dependency on removed range check CastIIs Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: ee4a9d34 Author: Adam Sotona Date: 2024-05-16 07:32:24 +0000 URL: https://git.openjdk.org/loom/commit/ee4a9d34827166ff9ac04e2375058fdc08e43194 8321622: ClassFile.verify(byte[] bytes) throws unexpected ConstantPoolException, IAE Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerifierImpl.java Changeset: 96c5c3fe Author: Axel Boldt-Christmas Date: 2024-05-16 07:51:40 +0000 URL: https://git.openjdk.org/loom/commit/96c5c3fe75103dc45bc1c3ccce0ab36303121a60 8329998: Remove double initialization for parts of small TypeArrays in ZObjArrayAllocator Reviewed-by: stefank, gli ! src/hotspot/share/gc/z/zObjArrayAllocator.cpp Changeset: f398cd22 Author: Roland Westrelin Date: 2024-05-16 08:55:03 +0000 URL: https://git.openjdk.org/loom/commit/f398cd225012694a586e528936159b6df7b1586c 8331575: C2: crash when ConvL2I is split thru phi at LongCountedLoop Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/splitif/TestLongCountedLoopConvL2I.java + test/hotspot/jtreg/compiler/splitif/TestLongCountedLoopConvL2I2.java Changeset: f9f8d0b4 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-16 10:36:51 +0000 URL: https://git.openjdk.org/loom/commit/f9f8d0b48057a02923e36c8e11286b57cc72279e 8332101: Add an `@since` to `StandardOperation:REMOVE` in `jdk.dynalink` Reviewed-by: jpai ! src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java Changeset: 910d77be Author: Thomas Stuefe Date: 2024-05-16 10:58:50 +0000 URL: https://git.openjdk.org/loom/commit/910d77becd15580296687b00fed085ab106cb2eb 8331953: ubsan: metaspaceShared.cpp:1305:57: runtime error: applying non-zero offset 12849152 to null pointer Reviewed-by: iklam, mbaesken ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: a33cb904 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-16 11:04:45 +0000 URL: https://git.openjdk.org/loom/commit/a33cb9045b2c0cae7d894715d1484e77b7607de6 8332098: Add missing @ since tags to jdk.jdi Reviewed-by: alanb, cjplummer ! src/jdk.jdi/share/classes/com/sun/jdi/connect/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/event/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/request/package-info.java Changeset: fa3e94d3 Author: Roland Westrelin Date: 2024-05-16 14:00:03 +0000 URL: https://git.openjdk.org/loom/commit/fa3e94d30f11bdccbe290041ae19490ce4940bb1 8332393: Problemlist compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 6f7ddbec Author: Alisen Chung Date: 2024-05-16 15:49:46 +0000 URL: https://git.openjdk.org/loom/commit/6f7ddbec7d0bc459d44b6518fe1d982eaba7f37b 8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed Reviewed-by: serb, dnguyen, tr + test/jdk/java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.java Changeset: 25991516 Author: Naoto Sato Date: 2024-05-16 16:12:53 +0000 URL: https://git.openjdk.org/loom/commit/259915168d6656b1b8ddad03c377082d6a5224e5 8331202: Support for Duration until another Instant Reviewed-by: joehw, scolebourne, rriggs ! src/java.base/share/classes/java/time/Instant.java ! test/jdk/java/time/test/java/time/TestInstant.java Changeset: dc184f10 Author: Kelvin Nilsen Committer: Y. Srinivas Ramakrishna Date: 2024-05-16 16:47:09 +0000 URL: https://git.openjdk.org/loom/commit/dc184f1099e09cef095cd8438d88dd8a1e6f5522 8324649: Shenandoah: replace implementation of free set Reviewed-by: wkemper, ysr, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.cpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.inline.hpp + test/hotspot/gtest/gc/shenandoah/test_shenandoahSimpleBitMap.cpp Changeset: da9c23ac Author: Mark Powers Date: 2024-05-16 17:07:19 +0000 URL: https://git.openjdk.org/loom/commit/da9c23ace9bdf398d811a88ed137217dd3167231 8325384: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread Reviewed-by: ssahoo, ascarpino ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java Changeset: de57d4b2 Author: William Kemper Date: 2024-05-17 00:44:36 +0000 URL: https://git.openjdk.org/loom/commit/de57d4b2e0fe3add0ef09945b34ddd0b67bbfa2b 8332257: Shenandoah: Move evacuation methods to implementation file Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: 7c750fd9 Author: Sergey Bylokhov Date: 2024-05-17 01:55:30 +0000 URL: https://git.openjdk.org/loom/commit/7c750fd95b83d0a93b0cce681dcfbbae1f220fdd 8331746: Create a test to verify that the cmm id is not ignored Reviewed-by: prr, dmarkov, aivanov + test/jdk/java/awt/color/ICC_Profile/CustomCMMID.java Changeset: 9160ef8b Author: Thomas Stuefe Date: 2024-05-17 04:59:11 +0000 URL: https://git.openjdk.org/loom/commit/9160ef8b9d9f2c87ca6df08d85dad4271085f0ac 8332237: [nmt] Remove the need for ThreadStackTracker::track_as_vm() Reviewed-by: jsjolen, azafari ! src/hotspot/share/nmt/memBaseline.cpp ! src/hotspot/share/nmt/memReporter.cpp ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/nmtUsage.cpp ! src/hotspot/share/nmt/threadStackTracker.cpp ! src/hotspot/share/nmt/threadStackTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp Changeset: 6422efa3 Author: Hamlin Li Date: 2024-05-17 06:33:56 +0000 URL: https://git.openjdk.org/loom/commit/6422efa3c7917525a879e80657ca4dcfb6d67514 8332394: Add friendly output when @IR rule missing value Reviewed-by: chagedorn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: ae999eae Author: Nizar Benalla Committer: Jan Lahoda Date: 2024-05-17 06:39:53 +0000 URL: https://git.openjdk.org/loom/commit/ae999eae7e61072ad964a43f622fa930ce1179f7 8129418: JShell: better highlighting of errors in imports on demand Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/jdk/jshell/ImportTest.java ! test/langtools/tools/javac/7129225/NegTest.out ! test/langtools/tools/javac/7129225/TestImportStar.out ! test/langtools/tools/javac/importChecks/ImportIsFullyQualified.out ! test/langtools/tools/javac/importChecks/ImportsObservable.out ! test/langtools/tools/javac/modules/ConvenientAccessErrorsTest.java Changeset: 14198f50 Author: Joachim Kern Committer: Christoph Langer Date: 2024-05-17 08:31:41 +0000 URL: https://git.openjdk.org/loom/commit/14198f502f0a721e479adc754a2c7d94b665fbe6 8329653: JLILaunchTest fails on AIX after JDK-8329131 Reviewed-by: clanger, mdoerr ! src/java.base/unix/native/libjli/java_md.c ! src/java.base/unix/native/libjli/java_md.h ! src/java.base/unix/native/libjli/java_md_common.c Changeset: f1ce9b0e Author: Albert Mingkun Yang Date: 2024-05-17 09:09:02 +0000 URL: https://git.openjdk.org/loom/commit/f1ce9b0ecce9b506f5bf7a66fcf03c93b9ae8fed 8331557: Serial: Refactor SerialHeap::do_collection Reviewed-by: gli, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/serialVMOperations.cpp ! src/hotspot/share/gc/serial/serialVMOperations.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/vmStructs_serial.hpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/runtime/vmOperation.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/serial/Generation.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/serial/SerialHeap.java Changeset: d84a8fd8 Author: Andrei Pangin Committer: Aleksey Shipilev Date: 2024-05-17 09:40:39 +0000 URL: https://git.openjdk.org/loom/commit/d84a8fd8762fe9448e73d75ec9dc8c4876b1a709 8332327: Return _methods_jmethod_ids field back in VMStructs Reviewed-by: cjplummer, sspitsyn, coleenp, shade ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 0b0445be Author: Claes Redestad Date: 2024-05-17 09:49:44 +0000 URL: https://git.openjdk.org/loom/commit/0b0445be2833286b4eace698b91a658de3e7608b 8331724: Refactor j.l.constant implementation to internal package Reviewed-by: liach, asotona ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java - src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/constant/MethodHandleDesc.java ! src/java.base/share/classes/java/lang/constant/MethodTypeDesc.java - src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/java/lang/constant/ModuleDesc.java - src/java.base/share/classes/java/lang/constant/ModuleDescImpl.java ! src/java.base/share/classes/java/lang/constant/PackageDesc.java - src/java.base/share/classes/java/lang/constant/PackageDescImpl.java - src/java.base/share/classes/java/lang/constant/PrimitiveClassDescImpl.java - src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ConstantUtils.java = src/java.base/share/classes/jdk/internal/constant/DirectMethodHandleDescImpl.java + src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ModuleDescImpl.java + src/java.base/share/classes/jdk/internal/constant/PackageDescImpl.java + src/java.base/share/classes/jdk/internal/constant/PrimitiveClassDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java ! test/jdk/java/lang/constant/ClassDescTest.java = test/jdk/java/lang/constant/boottest/java.base/jdk/internal/constant/ConstantUtilsTest.java ! test/micro/org/openjdk/bench/java/lang/constant/ClassDescFactories.java + test/micro/org/openjdk/bench/java/lang/constant/ClassDescMethods.java Changeset: e0d1c4b3 Author: Larry Cable Committer: Alexey Ivanov Date: 2024-05-17 12:12:43 +0000 URL: https://git.openjdk.org/loom/commit/e0d1c4b38c7ad2dc67f3d14b0b179b313c85fc0a 8321428: Deprecate for removal the package java.beans.beancontext Reviewed-by: prr, tr, iris, serb, aivanov ! src/java.desktop/share/classes/java/beans/Beans.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContext.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChild.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChildComponentProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChildSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextContainerProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextMembershipListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceProvider.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServices.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServicesListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/package-info.java Changeset: beeffd46 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-17 12:24:39 +0000 URL: https://git.openjdk.org/loom/commit/beeffd4671649e5d8f9c96f0455ac90a82917234 8332109: Convert remaining tests using com.sun.tools.classfile to ClassFile API Reviewed-by: asotona ! test/jdk/java/lang/StackWalker/TestBCI.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CheckCSMs.java ! test/jdk/jdk/internal/reflect/CallerSensitive/MissingCallerSensitive.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java ! test/langtools/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java - test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase_legacy.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SyntheticClassTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTargetRelease14Test.java - test/langtools/tools/javac/classfiles/attributes/Synthetic/SyntheticTestDriver_legacy.java - test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestBase.java - test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestResult.java ! test/langtools/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java ! test/langtools/tools/javac/lambda/LambdaTestStrictFPFlag.java ! test/langtools/tools/javap/T6866657.java ! test/langtools/tools/javap/T7186925.java ! test/langtools/tools/jdeps/APIDeps.java ! test/langtools/tools/jdeps/m/Gee.java Changeset: d4c2edf2 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-17 12:26:22 +0000 URL: https://git.openjdk.org/loom/commit/d4c2edf2c91a790874c80f1a7bea5bfd4f438bde 8331855: Convert jdk.jdeps jdeprscan and jdeps to use the Classfile API Reviewed-by: asotona - src/jdk.jdeps/share/classes/com/sun/tools/classfile/Dependencies.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/CPEntries.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/CPSelector.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/ClassFinder.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/MethodSig.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Archive.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java + src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java = src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependency.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/DependencyFinder.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/DepsAnalyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleAnalyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/VersionHelper.java ! test/langtools/tools/javap/classfile/deps/GetDeps.java ! test/langtools/tools/javap/classfile/deps/T6907575.java - test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestMethodSig.java Changeset: 4eb1eaf0 Author: Hannes Walln?fer Date: 2024-05-17 12:32:23 +0000 URL: https://git.openjdk.org/loom/commit/4eb1eaf04477b9a8947a57655cf36380b5b88b5c 8329617: Update stylesheet for specs and tool documentation Reviewed-by: jjg ! make/data/docs-resources/resources/jdk-default.css Changeset: 9bb6169a Author: Hannes Walln?fer Date: 2024-05-17 12:36:06 +0000 URL: https://git.openjdk.org/loom/commit/9bb6169a1cba900fa79d63119696efe265762083 8317621: --add-script should support JavaScript modules Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java + test/langtools/jdk/javadoc/doclet/testJavaScriptModules/TestJavaScriptModules.java Changeset: 44bdf996 Author: Hannes Walln?fer Date: 2024-05-17 13:28:51 +0000 URL: https://git.openjdk.org/loom/commit/44bdf9964eb2dd0eb4034576e1f903a27c410286 8332239: Improve CSS for block tags Reviewed-by: prappo, liach, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css Changeset: e6111517 Author: Gui Cao Committer: Ludovic Henry Date: 2024-05-17 13:48:42 +0000 URL: https://git.openjdk.org/loom/commit/e611151796d71c40a9395cb6fbe734f36d4c1b55 8331281: RISC-V: C2: Support vector-scalar and vector-immediate bitwise logic instructions Reviewed-by: fjiang, fyang ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_v.ad Changeset: b7ae0ae1 Author: Erik Gahlin Date: 2024-05-17 14:06:08 +0000 URL: https://git.openjdk.org/loom/commit/b7ae0ae1d7481e66a07f40bf01c5614fdf44c2ed 8328572: JFR: Use Class.forPrimitiveName(String) Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/Utils.java Changeset: 39a55e97 Author: Vicente Romero Date: 2024-05-17 14:16:11 +0000 URL: https://git.openjdk.org/loom/commit/39a55e97799b5328da85aaa66c8d23175b305691 8324809: compiler can crash with SOE while proving if two recursive types are disjoint Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java + test/langtools/tools/javac/generics/wildcards/SOEWhileProvingDisjointnessTest.java Changeset: 0a58cffe Author: Jonathan Gibbons Date: 2024-05-17 17:42:46 +0000 URL: https://git.openjdk.org/loom/commit/0a58cffe88ba823e71fcdcca64b784ed04ca5398 8298405: Implement JEP 467: Markdown Documentation Comments 8329296: Update Elements for '///' documentation comments Co-authored-by: Jim Laskey Reviewed-by: prappo, darcy, hannesw ! make/CompileDemos.gmk ! make/autoconf/spec.gmk.template ! make/jdk/src/classes/build/tools/taglet/JSpec.java ! make/jdk/src/classes/build/tools/taglet/ToolGuide.java ! make/modules/java.base/Java.gmk ! make/modules/jdk.incubator.vector/Java.gmk ! make/modules/jdk.jpackage/Java.gmk = make/modules/jdk.unsupported/Java.gmk ! make/test/BuildMicrobenchmark.gmk ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributes.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java + src/jdk.compiler/share/classes/com/sun/source/doctree/RawTextTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.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/LazyDocCommentTable.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.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 ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.compiler/share/man/javac.1 + src/jdk.internal.md/share/classes/jdk/internal/markdown/MarkdownTransformer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/Extension.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBody.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableCell.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableHead.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableRow.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TablesExtension.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableHtmlNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableMarkdownNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableTextContentNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContent.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContinueImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockQuoteParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockStartImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Bracket.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Delimiter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/FencedCodeBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HeadingParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HtmlBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/IndentedCodeBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserContextImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitionParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitions.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListItemParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ParagraphParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/StaggeredDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ThematicBreakParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AsteriskDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AutolinkInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackslashInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackticksInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EmphasisDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EntityInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/HtmlInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineContentParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineParserState.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInline.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInlineImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Position.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Scanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/UnderscoreDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/NodeRendererMap.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/BulletListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/ListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/OrderedListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/AsciiMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/CharMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Escaping.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/LinkScanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Parsing.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/entities.txt + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/AbstractVisitor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Block.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BlockQuote.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BulletList.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Code.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomNode.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Delimited.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Document.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Emphasis.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/FencedCodeBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HardLineBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Heading.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlInline.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Image.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/IndentedCodeBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Link.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/LinkReferenceDefinition.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListItem.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Node.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Nodes.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/OrderedList.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Paragraph.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SoftLineBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpan.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpans.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/StrongEmphasis.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Text.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ThematicBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Visitor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/IncludeSourceSpans.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/Parser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/PostProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLine.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLines.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/Position.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/Scanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockContinue.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockStart.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/MatchedBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/ParserState.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterRun.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/NodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/Renderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProvider.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/CoreHtmlNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/DefaultUrlSanitizer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/UrlSanitizer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/CoreMarkdownNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/CoreTextContentNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/AsciiMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/CharMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/Characters.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/package-info.java + src/jdk.internal.md/share/classes/module-info.java + src/jdk.internal.md/share/legal/commonmark.md ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Content.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/ExternalSpecsWriter.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/NewAPIListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Text.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TextBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SeeTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/NewAPIBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! src/jdk.javadoc/share/classes/module-info.java ! src/jdk.javadoc/share/man/javadoc.1 + test/langtools/jdk/javadoc/doclet/testMarkdown/DivTaglet.java + test/langtools/jdk/javadoc/doclet/testMarkdown/SpanTaglet.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdown.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeBlocks.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeSpans.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownDeprecated.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFiles.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFirstSentence.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownInheritDoc.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownLinks.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownTaglets.java ! test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/util/PoorDocCommentTable.java + test/langtools/jdk/javadoc/tool/testLineCommentOption/TestLineCommentOption.java + test/langtools/jdk/javadoc/tool/testTransformer/TestTransformer.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass.enabled.out ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass.java + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Line.enabled.out + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Line.java + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Mixed.enabled.out + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Mixed.java ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsEnum.enabled.out ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsEnum.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/FirstSentenceTest.java + test/langtools/tools/javac/doctree/MDPrinter.java + test/langtools/tools/javac/doctree/MarkdownTest.java + test/langtools/tools/javac/doctree/MarkdownTransformerPositionTest.java + test/langtools/tools/javac/lexer/CommentTest.java ! test/langtools/tools/javac/lib/DPrinter.java + test/langtools/tools/javac/processing/model/util/elements/TestGetDocCommentKind.java = test/langtools/tools/javac/processing/model/util/elements/TestGetDocComment_Block.java + test/langtools/tools/javac/processing/model/util/elements/TestGetDocComment_Line.java Changeset: 8acdd2d7 Author: Cesar Soares Lucas Committer: Tobias Hartmann Date: 2024-05-17 23:39:31 +0000 URL: https://git.openjdk.org/loom/commit/8acdd2d7c8de17515b87815d54ce556237039406 8330565: C2: Multiple crashes with CTW after JDK-8316991 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNullableLoads.java Changeset: b92bd671 Author: Prasanta Sadhukhan Date: 2024-05-18 05:57:20 +0000 URL: https://git.openjdk.org/loom/commit/b92bd671835c37cff58e2cdcecd0fe4277557d7f 8332403: Anachronistic reference to Netscape Communicator in Swing API docs Reviewed-by: abhiscxk, aivanov, prr ! src/java.desktop/share/classes/javax/swing/CellEditor.java Changeset: bd97232c Author: Alan Bateman Date: 2024-05-19 15:11:15 +0000 URL: https://git.openjdk.org/loom/commit/bd97232c1841714b391255103f7871c22c9c541b Merge ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList-Virtual.txt ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! test/hotspot/jtreg/ProblemList.txt ! test/jdk/ProblemList-Virtual.txt Changeset: 625a8575 Author: Alan Bateman Date: 2024-05-19 17:19:27 +0000 URL: https://git.openjdk.org/loom/commit/625a8575bee5d1d1213064cb40990d9a8bc836c9 Restore ProblemList-zgc.txt ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/jdk/ProblemList-zgc.txt From duke at openjdk.org Sun May 19 16:27:14 2024 From: duke at openjdk.org (duke) Date: Sun, 19 May 2024 16:27:14 GMT Subject: git: openjdk/loom: master: 52 new changesets Message-ID: Changeset: 2f10a316 Author: Galder Zamarre?o Committer: Roland Westrelin Date: 2024-05-15 07:48:15 +0000 URL: https://git.openjdk.org/loom/commit/2f10a316ff0c5a4c124b94f6fabb38fb119d2c82 8302850: Implement C1 clone intrinsic that reuses arraycopy code for primitive arrays Reviewed-by: dlong, roland ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.hpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_GraphBuilder.hpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_ValueStack.hpp + test/hotspot/jtreg/compiler/c1/TestNullArrayClone.java Changeset: 957eb611 Author: Yudi Zheng Committer: Doug Simon Date: 2024-05-15 09:35:11 +0000 URL: https://git.openjdk.org/loom/commit/957eb611ce2531a3fcc764813ad1e0776887fdda 8331429: [JVMCI] Cleanup JVMCIRuntime allocation routines Reviewed-by: dlong, dnsimon ! src/hotspot/share/gc/shared/memAllocator.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/jvmci/jvmciRuntime.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1a944478 Author: Evgeny Astigeevich Date: 2024-05-15 09:56:05 +0000 URL: https://git.openjdk.org/loom/commit/1a944478a26a766f5a573a1236b642d8e7b0685c 8332111: [BACKOUT] A way to align already compiled methods with compiler directives Reviewed-by: shade, kvn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileTask.hpp ! src/hotspot/share/compiler/compilerDirectives.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodFlags.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp ! test/hotspot/jtreg/serviceability/dcmd/compiler/CompilerDirectivesDCMDTest.java - test/hotspot/jtreg/serviceability/dcmd/compiler/DirectivesRefreshTest.java - test/hotspot/jtreg/serviceability/dcmd/compiler/refresh_control.txt Changeset: a5005c87 Author: Christoph Langer Date: 2024-05-15 10:36:24 +0000 URL: https://git.openjdk.org/loom/commit/a5005c87c4d5598eb54e9824105767d833f9660b 8330814: Cleanups for KeepAliveCache tests Reviewed-by: jpai, dfuchs ! test/jdk/sun/net/www/http/KeepAliveCache/B5045306.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8291637.java ! test/jdk/sun/net/www/http/KeepAliveCache/B8293562.java ! test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveProperty.java ! test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java Changeset: fa043aec Author: Hannes Walln?fer Date: 2024-05-15 11:47:49 +0000 URL: https://git.openjdk.org/loom/commit/fa043aec425ae1e3086d09492b3fabcfbd3fa779 8294880: Review running time of jdk/internal/shellsupport/doc/JavadocHelperTest.java Reviewed-by: jjg ! test/langtools/TEST.groups + test/langtools/jdk/internal/shellsupport/doc/FullJavadocHelperTest.java ! test/langtools/jdk/internal/shellsupport/doc/JavadocHelperTest.java Changeset: 8032d640 Author: Roland Westrelin Date: 2024-05-15 12:01:20 +0000 URL: https://git.openjdk.org/loom/commit/8032d640c0d34fe507392a1d4faa4ff2005c771d 8332245: C2: missing record_for_ign() call in GraphKit::must_be_not_null() Reviewed-by: thartmann, chagedorn ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestBackToBackMustBeNotNull.java Changeset: c4867c62 Author: Emanuel Peter Date: 2024-05-15 13:16:08 +0000 URL: https://git.openjdk.org/loom/commit/c4867c62c44b48e48845608fe4b29b58749767ad 8329273: C2 SuperWord: Some basic MemorySegment IR tests Reviewed-by: kvn, chagedorn + test/hotspot/jtreg/compiler/loopopts/superword/TestMemorySegment.java Changeset: 30bb066b Author: Maurizio Cimadamore Date: 2024-05-15 14:39:51 +0000 URL: https://git.openjdk.org/loom/commit/30bb066b1982c5318d54bfe74115306c602e2974 8332003: Clarify javadoc for MemoryLayout::offsetHandle Reviewed-by: psandoz ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 61aff6db Author: Leonid Mesnik Date: 2024-05-15 14:57:22 +0000 URL: https://git.openjdk.org/loom/commit/61aff6db15d5bdda77427af5ce34d0fe43373197 8332112: Update nsk.share.Log to don't print summary during VM shutdown hook Reviewed-by: dholmes, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect001/plugAttachConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect002/plugAttachConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/AttachConnector/plugAttachConnect003/plugAttachConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect001/plugLaunchConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect002/plugLaunchConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/LaunchConnector/plugLaunchConnect003/plugLaunchConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect001/plugListenConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect002/plugListenConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/ListenConnector/plugListenConnect003/plugListenConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect001/plugMultiConnect001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect002/plugMultiConnect002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect003/plugMultiConnect003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect004/plugMultiConnect004.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect005/plugMultiConnect005.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/MultiConnectors/plugMultiConnect006/plugMultiConnect006.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService001/transportService001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService002/transportService002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/PlugConnectors/TransportService/transportService003/transportService003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/genericSignature/genericSignature002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature001a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/TypeComponent/genericSignature/genericSignature002a.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM001.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Log.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/share/MlvmTestExecutor.java Changeset: 42ccb743 Author: Adam Sotona Date: 2024-05-15 16:14:15 +0000 URL: https://git.openjdk.org/loom/commit/42ccb74399113a3d59ce016483518f033dd6e010 8331940: ClassFile API ArrayIndexOutOfBoundsException with certain class files Reviewed-by: liach, psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 9c02c8dd Author: William Kemper Date: 2024-05-15 16:42:19 +0000 URL: https://git.openjdk.org/loom/commit/9c02c8dd71023df6338cb94997bca6b00768af6f 8332255: Shenandoah: Remove duplicate definition of init mark closure Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 491b3b45 Author: William Kemper Date: 2024-05-15 16:53:04 +0000 URL: https://git.openjdk.org/loom/commit/491b3b45634fffb0101244f7d491a1681e7e8002 8332256: Shenandoah: Do not visit heap threads during shutdown Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 8a4315f8 Author: Viktor Klang Date: 2024-05-15 18:35:46 +0000 URL: https://git.openjdk.org/loom/commit/8a4315f833f3700075d65fae6bc566011c837c07 8331987: Enhance stacktrace clarity for CompletableFuture CancellationException Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/util/concurrent/CancellationException.java ! src/java.base/share/classes/java/util/concurrent/CompletableFuture.java ! test/jdk/java/util/concurrent/tck/CompletableFutureTest.java Changeset: 7cff04fc Author: Naoto Sato Date: 2024-05-15 19:28:24 +0000 URL: https://git.openjdk.org/loom/commit/7cff04fc8a8114a297437aa526b18b6185831eac 8330276: Console methods with explicit Locale Reviewed-by: joehw, rriggs, jlahoda ! src/java.base/share/classes/java/io/Console.java ! src/java.base/share/classes/java/io/ProxyingConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Display.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java + test/jdk/java/io/Console/LocaleTest.java Changeset: 43b109b1 Author: Alex Menkov Date: 2024-05-15 19:29:30 +0000 URL: https://git.openjdk.org/loom/commit/43b109b111e77d0f7b302debc0d76e4ac7c9ac56 8330066: HeapDumpPath and HeapDumpGzipLevel VM options do not mention HeapDumpBeforeFullGC and HeapDumpAfterFullGC Reviewed-by: cjplummer, dholmes, yyang ! src/hotspot/share/runtime/globals.hpp Changeset: 40832554 Author: Rajan Halade Date: 2024-05-15 20:18:57 +0000 URL: https://git.openjdk.org/loom/commit/4083255440cfbf39b9683ea88a433d71ec6111e7 8316138: Add GlobalSign 2 TLS root certificates Reviewed-by: mullan + src/java.base/share/data/cacerts/globalsigne46 + src/java.base/share/data/cacerts/globalsignr46 ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: b687aa55 Author: Ioi Lam Date: 2024-05-15 23:01:53 +0000 URL: https://git.openjdk.org/loom/commit/b687aa550837830b38f0f0faa69c353b1e85219c 8332176: Refactor ClassListParser::parse() Reviewed-by: matsaave, ccheung ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: 95f79c67 Author: Sergey Bylokhov Date: 2024-05-16 02:21:30 +0000 URL: https://git.openjdk.org/loom/commit/95f79c678737fb8de9ed45c516761d4d818869ef 8332253: Linux arm32 build fails after 8292591 Reviewed-by: stuefe, dholmes, shade ! src/hotspot/os/linux/systemMemoryBarrier_linux.cpp Changeset: fe8a2aff Author: Jaikiran Pai Date: 2024-05-16 05:42:38 +0000 URL: https://git.openjdk.org/loom/commit/fe8a2aff3129b515c2a0f3ab96f5e3ad6cef7b70 8307778: com/sun/jdi/cds tests fail with jtreg's Virtual test thread factory Reviewed-by: dholmes, sspitsyn, cjplummer, lmesnik ! test/jdk/ProblemList-Virtual.txt ! test/jdk/com/sun/jdi/cds/CDSJDITest.java Changeset: ab8d7b0c Author: Roland Westrelin Date: 2024-05-16 07:25:11 +0000 URL: https://git.openjdk.org/loom/commit/ab8d7b0cedfaae124262325cd1d4b59cef996d85 8324517: C2: crash in compiled code because of dependency on removed range check CastIIs Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: ee4a9d34 Author: Adam Sotona Date: 2024-05-16 07:32:24 +0000 URL: https://git.openjdk.org/loom/commit/ee4a9d34827166ff9ac04e2375058fdc08e43194 8321622: ClassFile.verify(byte[] bytes) throws unexpected ConstantPoolException, IAE Reviewed-by: jpai ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerifierImpl.java Changeset: 96c5c3fe Author: Axel Boldt-Christmas Date: 2024-05-16 07:51:40 +0000 URL: https://git.openjdk.org/loom/commit/96c5c3fe75103dc45bc1c3ccce0ab36303121a60 8329998: Remove double initialization for parts of small TypeArrays in ZObjArrayAllocator Reviewed-by: stefank, gli ! src/hotspot/share/gc/z/zObjArrayAllocator.cpp Changeset: f398cd22 Author: Roland Westrelin Date: 2024-05-16 08:55:03 +0000 URL: https://git.openjdk.org/loom/commit/f398cd225012694a586e528936159b6df7b1586c 8331575: C2: crash when ConvL2I is split thru phi at LongCountedLoop Reviewed-by: chagedorn, epeter ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/splitif/TestLongCountedLoopConvL2I.java + test/hotspot/jtreg/compiler/splitif/TestLongCountedLoopConvL2I2.java Changeset: f9f8d0b4 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-16 10:36:51 +0000 URL: https://git.openjdk.org/loom/commit/f9f8d0b48057a02923e36c8e11286b57cc72279e 8332101: Add an `@since` to `StandardOperation:REMOVE` in `jdk.dynalink` Reviewed-by: jpai ! src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java Changeset: 910d77be Author: Thomas Stuefe Date: 2024-05-16 10:58:50 +0000 URL: https://git.openjdk.org/loom/commit/910d77becd15580296687b00fed085ab106cb2eb 8331953: ubsan: metaspaceShared.cpp:1305:57: runtime error: applying non-zero offset 12849152 to null pointer Reviewed-by: iklam, mbaesken ! src/hotspot/share/cds/metaspaceShared.cpp Changeset: a33cb904 Author: Nizar Benalla Committer: Jaikiran Pai Date: 2024-05-16 11:04:45 +0000 URL: https://git.openjdk.org/loom/commit/a33cb9045b2c0cae7d894715d1484e77b7607de6 8332098: Add missing @ since tags to jdk.jdi Reviewed-by: alanb, cjplummer ! src/jdk.jdi/share/classes/com/sun/jdi/connect/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/event/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/package-info.java ! src/jdk.jdi/share/classes/com/sun/jdi/request/package-info.java Changeset: fa3e94d3 Author: Roland Westrelin Date: 2024-05-16 14:00:03 +0000 URL: https://git.openjdk.org/loom/commit/fa3e94d30f11bdccbe290041ae19490ce4940bb1 8332393: Problemlist compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 6f7ddbec Author: Alisen Chung Date: 2024-05-16 15:49:46 +0000 URL: https://git.openjdk.org/loom/commit/6f7ddbec7d0bc459d44b6518fe1d982eaba7f37b 8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed Reviewed-by: serb, dnguyen, tr + test/jdk/java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.java Changeset: 25991516 Author: Naoto Sato Date: 2024-05-16 16:12:53 +0000 URL: https://git.openjdk.org/loom/commit/259915168d6656b1b8ddad03c377082d6a5224e5 8331202: Support for Duration until another Instant Reviewed-by: joehw, scolebourne, rriggs ! src/java.base/share/classes/java/time/Instant.java ! test/jdk/java/time/test/java/time/TestInstant.java Changeset: dc184f10 Author: Kelvin Nilsen Committer: Y. Srinivas Ramakrishna Date: 2024-05-16 16:47:09 +0000 URL: https://git.openjdk.org/loom/commit/dc184f1099e09cef095cd8438d88dd8a1e6f5522 8324649: Shenandoah: replace implementation of free set Reviewed-by: wkemper, ysr, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.cpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp + src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.inline.hpp + test/hotspot/gtest/gc/shenandoah/test_shenandoahSimpleBitMap.cpp Changeset: da9c23ac Author: Mark Powers Date: 2024-05-16 17:07:19 +0000 URL: https://git.openjdk.org/loom/commit/da9c23ace9bdf398d811a88ed137217dd3167231 8325384: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread Reviewed-by: ssahoo, ascarpino ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java Changeset: de57d4b2 Author: William Kemper Date: 2024-05-17 00:44:36 +0000 URL: https://git.openjdk.org/loom/commit/de57d4b2e0fe3add0ef09945b34ddd0b67bbfa2b 8332257: Shenandoah: Move evacuation methods to implementation file Reviewed-by: shade, kdnilsen ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: 7c750fd9 Author: Sergey Bylokhov Date: 2024-05-17 01:55:30 +0000 URL: https://git.openjdk.org/loom/commit/7c750fd95b83d0a93b0cce681dcfbbae1f220fdd 8331746: Create a test to verify that the cmm id is not ignored Reviewed-by: prr, dmarkov, aivanov + test/jdk/java/awt/color/ICC_Profile/CustomCMMID.java Changeset: 9160ef8b Author: Thomas Stuefe Date: 2024-05-17 04:59:11 +0000 URL: https://git.openjdk.org/loom/commit/9160ef8b9d9f2c87ca6df08d85dad4271085f0ac 8332237: [nmt] Remove the need for ThreadStackTracker::track_as_vm() Reviewed-by: jsjolen, azafari ! src/hotspot/share/nmt/memBaseline.cpp ! src/hotspot/share/nmt/memReporter.cpp ! src/hotspot/share/nmt/memTracker.cpp ! src/hotspot/share/nmt/nmtUsage.cpp ! src/hotspot/share/nmt/threadStackTracker.cpp ! src/hotspot/share/nmt/threadStackTracker.hpp ! src/hotspot/share/nmt/virtualMemoryTracker.cpp Changeset: 6422efa3 Author: Hamlin Li Date: 2024-05-17 06:33:56 +0000 URL: https://git.openjdk.org/loom/commit/6422efa3c7917525a879e80657ca4dcfb6d67514 8332394: Add friendly output when @IR rule missing value Reviewed-by: chagedorn ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java Changeset: ae999eae Author: Nizar Benalla Committer: Jan Lahoda Date: 2024-05-17 06:39:53 +0000 URL: https://git.openjdk.org/loom/commit/ae999eae7e61072ad964a43f622fa930ce1179f7 8129418: JShell: better highlighting of errors in imports on demand Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/jdk/jshell/ImportTest.java ! test/langtools/tools/javac/7129225/NegTest.out ! test/langtools/tools/javac/7129225/TestImportStar.out ! test/langtools/tools/javac/importChecks/ImportIsFullyQualified.out ! test/langtools/tools/javac/importChecks/ImportsObservable.out ! test/langtools/tools/javac/modules/ConvenientAccessErrorsTest.java Changeset: 14198f50 Author: Joachim Kern Committer: Christoph Langer Date: 2024-05-17 08:31:41 +0000 URL: https://git.openjdk.org/loom/commit/14198f502f0a721e479adc754a2c7d94b665fbe6 8329653: JLILaunchTest fails on AIX after JDK-8329131 Reviewed-by: clanger, mdoerr ! src/java.base/unix/native/libjli/java_md.c ! src/java.base/unix/native/libjli/java_md.h ! src/java.base/unix/native/libjli/java_md_common.c Changeset: f1ce9b0e Author: Albert Mingkun Yang Date: 2024-05-17 09:09:02 +0000 URL: https://git.openjdk.org/loom/commit/f1ce9b0ecce9b506f5bf7a66fcf03c93b9ae8fed 8331557: Serial: Refactor SerialHeap::do_collection Reviewed-by: gli, iwalulya ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/generation.hpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/serialVMOperations.cpp ! src/hotspot/share/gc/serial/serialVMOperations.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/serial/vmStructs_serial.hpp ! src/hotspot/share/gc/shared/gcVMOperations.hpp ! src/hotspot/share/runtime/vmOperation.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/serial/Generation.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/serial/SerialHeap.java Changeset: d84a8fd8 Author: Andrei Pangin Committer: Aleksey Shipilev Date: 2024-05-17 09:40:39 +0000 URL: https://git.openjdk.org/loom/commit/d84a8fd8762fe9448e73d75ec9dc8c4876b1a709 8332327: Return _methods_jmethod_ids field back in VMStructs Reviewed-by: cjplummer, sspitsyn, coleenp, shade ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 0b0445be Author: Claes Redestad Date: 2024-05-17 09:49:44 +0000 URL: https://git.openjdk.org/loom/commit/0b0445be2833286b4eace698b91a658de3e7608b 8331724: Refactor j.l.constant implementation to internal package Reviewed-by: liach, asotona ! src/java.base/share/classes/java/lang/constant/ClassDesc.java ! src/java.base/share/classes/java/lang/constant/ConstantDescs.java - src/java.base/share/classes/java/lang/constant/ConstantUtils.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/constant/MethodHandleDesc.java ! src/java.base/share/classes/java/lang/constant/MethodTypeDesc.java - src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/java/lang/constant/ModuleDesc.java - src/java.base/share/classes/java/lang/constant/ModuleDescImpl.java ! src/java.base/share/classes/java/lang/constant/PackageDesc.java - src/java.base/share/classes/java/lang/constant/PackageDescImpl.java - src/java.base/share/classes/java/lang/constant/PrimitiveClassDescImpl.java - src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ConstantUtils.java = src/java.base/share/classes/jdk/internal/constant/DirectMethodHandleDescImpl.java + src/java.base/share/classes/jdk/internal/constant/MethodTypeDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ModuleDescImpl.java + src/java.base/share/classes/jdk/internal/constant/PackageDescImpl.java + src/java.base/share/classes/jdk/internal/constant/PrimitiveClassDescImpl.java + src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java ! test/jdk/java/lang/constant/ClassDescTest.java = test/jdk/java/lang/constant/boottest/java.base/jdk/internal/constant/ConstantUtilsTest.java ! test/micro/org/openjdk/bench/java/lang/constant/ClassDescFactories.java + test/micro/org/openjdk/bench/java/lang/constant/ClassDescMethods.java Changeset: e0d1c4b3 Author: Larry Cable Committer: Alexey Ivanov Date: 2024-05-17 12:12:43 +0000 URL: https://git.openjdk.org/loom/commit/e0d1c4b38c7ad2dc67f3d14b0b179b313c85fc0a 8321428: Deprecate for removal the package java.beans.beancontext Reviewed-by: prr, tr, iris, serb, aivanov ! src/java.desktop/share/classes/java/beans/Beans.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContext.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChild.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChildComponentProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChildSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextContainerProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextMembershipListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextProxy.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceProvider.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServices.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServicesListener.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/package-info.java Changeset: beeffd46 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-17 12:24:39 +0000 URL: https://git.openjdk.org/loom/commit/beeffd4671649e5d8f9c96f0455ac90a82917234 8332109: Convert remaining tests using com.sun.tools.classfile to ClassFile API Reviewed-by: asotona ! test/jdk/java/lang/StackWalker/TestBCI.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CheckCSMs.java ! test/jdk/jdk/internal/reflect/CallerSensitive/MissingCallerSensitive.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java ! test/langtools/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java - test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase_legacy.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SyntheticClassTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTargetRelease14Test.java - test/langtools/tools/javac/classfiles/attributes/Synthetic/SyntheticTestDriver_legacy.java - test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestBase.java - test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestResult.java ! test/langtools/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java ! test/langtools/tools/javac/lambda/LambdaTestStrictFPFlag.java ! test/langtools/tools/javap/T6866657.java ! test/langtools/tools/javap/T7186925.java ! test/langtools/tools/jdeps/APIDeps.java ! test/langtools/tools/jdeps/m/Gee.java Changeset: d4c2edf2 Author: Chen Liang Committer: Adam Sotona Date: 2024-05-17 12:26:22 +0000 URL: https://git.openjdk.org/loom/commit/d4c2edf2c91a790874c80f1a7bea5bfd4f438bde 8331855: Convert jdk.jdeps jdeprscan and jdeps to use the Classfile API Reviewed-by: asotona - src/jdk.jdeps/share/classes/com/sun/tools/classfile/Dependencies.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/CPEntries.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/CPSelector.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/ClassFinder.java - src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/MethodSig.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Archive.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java + src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java = src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependency.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/DependencyFinder.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/DepsAnalyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleAnalyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/VersionHelper.java ! test/langtools/tools/javap/classfile/deps/GetDeps.java ! test/langtools/tools/javap/classfile/deps/T6907575.java - test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestMethodSig.java Changeset: 4eb1eaf0 Author: Hannes Walln?fer Date: 2024-05-17 12:32:23 +0000 URL: https://git.openjdk.org/loom/commit/4eb1eaf04477b9a8947a57655cf36380b5b88b5c 8329617: Update stylesheet for specs and tool documentation Reviewed-by: jjg ! make/data/docs-resources/resources/jdk-default.css Changeset: 9bb6169a Author: Hannes Walln?fer Date: 2024-05-17 12:36:06 +0000 URL: https://git.openjdk.org/loom/commit/9bb6169a1cba900fa79d63119696efe265762083 8317621: --add-script should support JavaScript modules Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java + test/langtools/jdk/javadoc/doclet/testJavaScriptModules/TestJavaScriptModules.java Changeset: 44bdf996 Author: Hannes Walln?fer Date: 2024-05-17 13:28:51 +0000 URL: https://git.openjdk.org/loom/commit/44bdf9964eb2dd0eb4034576e1f903a27c410286 8332239: Improve CSS for block tags Reviewed-by: prappo, liach, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/stylesheet.css Changeset: e6111517 Author: Gui Cao Committer: Ludovic Henry Date: 2024-05-17 13:48:42 +0000 URL: https://git.openjdk.org/loom/commit/e611151796d71c40a9395cb6fbe734f36d4c1b55 8331281: RISC-V: C2: Support vector-scalar and vector-immediate bitwise logic instructions Reviewed-by: fjiang, fyang ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/riscv_v.ad Changeset: b7ae0ae1 Author: Erik Gahlin Date: 2024-05-17 14:06:08 +0000 URL: https://git.openjdk.org/loom/commit/b7ae0ae1d7481e66a07f40bf01c5614fdf44c2ed 8328572: JFR: Use Class.forPrimitiveName(String) Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/util/Utils.java Changeset: 39a55e97 Author: Vicente Romero Date: 2024-05-17 14:16:11 +0000 URL: https://git.openjdk.org/loom/commit/39a55e97799b5328da85aaa66c8d23175b305691 8324809: compiler can crash with SOE while proving if two recursive types are disjoint Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java + test/langtools/tools/javac/generics/wildcards/SOEWhileProvingDisjointnessTest.java Changeset: 0a58cffe Author: Jonathan Gibbons Date: 2024-05-17 17:42:46 +0000 URL: https://git.openjdk.org/loom/commit/0a58cffe88ba823e71fcdcca64b784ed04ca5398 8298405: Implement JEP 467: Markdown Documentation Comments 8329296: Update Elements for '///' documentation comments Co-authored-by: Jim Laskey Reviewed-by: prappo, darcy, hannesw ! make/CompileDemos.gmk ! make/autoconf/spec.gmk.template ! make/jdk/src/classes/build/tools/taglet/JSpec.java ! make/jdk/src/classes/build/tools/taglet/ToolGuide.java ! make/modules/java.base/Java.gmk ! make/modules/jdk.incubator.vector/Java.gmk ! make/modules/jdk.jpackage/Java.gmk = make/modules/jdk.unsupported/Java.gmk ! make/test/BuildMicrobenchmark.gmk ! src/java.base/share/classes/jdk/internal/jrtfs/JrtFileAttributes.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java + src/jdk.compiler/share/classes/com/sun/source/doctree/RawTextTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.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/LazyDocCommentTable.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/ScannerFactory.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocCommentTable.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 ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/jdk.compiler/share/classes/module-info.java ! src/jdk.compiler/share/man/javac.1 + src/jdk.internal.md/share/classes/jdk/internal/markdown/MarkdownTransformer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/Extension.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableBody.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableCell.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableHead.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TableRow.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/TablesExtension.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableHtmlNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableMarkdownNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/ext/gfm/tables/internal/TableTextContentNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContent.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockContinueImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockQuoteParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/BlockStartImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Bracket.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/Delimiter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/DocumentParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/FencedCodeBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HeadingParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/HtmlBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/IndentedCodeBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserContextImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/InlineParserImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitionParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/LinkReferenceDefinitions.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ListItemParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ParagraphParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/StaggeredDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/ThematicBreakParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AsteriskDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/AutolinkInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackslashInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/BackticksInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EmphasisDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/EntityInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/HtmlInlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineContentParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/InlineParserState.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInline.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/ParsedInlineImpl.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Position.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/Scanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/inline/UnderscoreDelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/NodeRendererMap.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/BulletListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/ListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/renderer/text/OrderedListHolder.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/AsciiMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/CharMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Escaping.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/LinkScanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Parsing.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/entities.txt + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/AbstractVisitor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Block.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BlockQuote.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/BulletList.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Code.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/CustomNode.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Delimited.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Document.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Emphasis.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/FencedCodeBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HardLineBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Heading.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/HtmlInline.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Image.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/IndentedCodeBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Link.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/LinkReferenceDefinition.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListBlock.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ListItem.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Node.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Nodes.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/OrderedList.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Paragraph.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SoftLineBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpan.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/SourceSpans.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/StrongEmphasis.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Text.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/ThematicBreak.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/Visitor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/node/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/IncludeSourceSpans.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/InlineParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/Parser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/PostProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLine.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/SourceLines.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/Position.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/Scanner.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/beta/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/AbstractBlockParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockContinue.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockParserFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/BlockStart.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/MatchedBlockParser.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/ParserState.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/block/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterProcessor.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/delimiter/DelimiterRun.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/parser/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/NodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/Renderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProvider.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/AttributeProviderFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/CoreHtmlNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/DefaultUrlSanitizer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/HtmlWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/UrlSanitizer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/html/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/CoreMarkdownNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/MarkdownWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/markdown/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/CoreTextContentNodeRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererContext.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentNodeRendererFactory.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentRenderer.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/TextContentWriter.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/renderer/text/package-info.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/AsciiMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/CharMatcher.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/Characters.java + src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/text/package-info.java + src/jdk.internal.md/share/classes/module-info.java + src/jdk.internal.md/share/legal/commonmark.md ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Content.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/ExternalSpecsWriter.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/NewAPIListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Text.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TextBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SeeTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SpecTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/NewAPIBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Env.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! src/jdk.javadoc/share/classes/module-info.java ! src/jdk.javadoc/share/man/javadoc.1 + test/langtools/jdk/javadoc/doclet/testMarkdown/DivTaglet.java + test/langtools/jdk/javadoc/doclet/testMarkdown/SpanTaglet.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdown.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeBlocks.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownCodeSpans.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownDeprecated.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFiles.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownFirstSentence.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownHeadings.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownInheritDoc.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownLinks.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownTaglets.java ! test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/util/PoorDocCommentTable.java + test/langtools/jdk/javadoc/tool/testLineCommentOption/TestLineCommentOption.java + test/langtools/jdk/javadoc/tool/testTransformer/TestTransformer.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass.enabled.out ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass.java + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Line.enabled.out + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Line.java + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Mixed.enabled.out + test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsClass_Mixed.java ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsEnum.enabled.out ! test/langtools/tools/javac/danglingDocComments/DanglingDocCommentsEnum.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/FirstSentenceTest.java + test/langtools/tools/javac/doctree/MDPrinter.java + test/langtools/tools/javac/doctree/MarkdownTest.java + test/langtools/tools/javac/doctree/MarkdownTransformerPositionTest.java + test/langtools/tools/javac/lexer/CommentTest.java ! test/langtools/tools/javac/lib/DPrinter.java + test/langtools/tools/javac/processing/model/util/elements/TestGetDocCommentKind.java = test/langtools/tools/javac/processing/model/util/elements/TestGetDocComment_Block.java + test/langtools/tools/javac/processing/model/util/elements/TestGetDocComment_Line.java Changeset: 8acdd2d7 Author: Cesar Soares Lucas Committer: Tobias Hartmann Date: 2024-05-17 23:39:31 +0000 URL: https://git.openjdk.org/loom/commit/8acdd2d7c8de17515b87815d54ce556237039406 8330565: C2: Multiple crashes with CTW after JDK-8316991 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNullableLoads.java Changeset: b92bd671 Author: Prasanta Sadhukhan Date: 2024-05-18 05:57:20 +0000 URL: https://git.openjdk.org/loom/commit/b92bd671835c37cff58e2cdcecd0fe4277557d7f 8332403: Anachronistic reference to Netscape Communicator in Swing API docs Reviewed-by: abhiscxk, aivanov, prr ! src/java.desktop/share/classes/javax/swing/CellEditor.java From duke at openjdk.org Tue May 21 19:34:51 2024 From: duke at openjdk.org (duke) Date: Tue, 21 May 2024 19:34:51 GMT Subject: git: openjdk/loom: fibers: 27 new changesets Message-ID: <0be2b85e-2156-4188-99a1-81690ec7bd86@openjdk.org> Changeset: d6b7f9b1 Author: Serhiy Sachkov Committer: Mahendra Chhipa Date: 2024-05-20 09:23:40 +0000 URL: https://git.openjdk.org/loom/commit/d6b7f9b170b6ce4f7275cc7595b71b9a3e93c133 8331851: Add specific regression leap year tests for Calendar.roll() Reviewed-by: naoto + test/jdk/java/util/Calendar/CalendarLeapYearRollTest.java Changeset: 7652f981 Author: Vladimir Ivanov Date: 2024-05-20 17:56:44 +0000 URL: https://git.openjdk.org/loom/commit/7652f9811bfddf08650b0c3277012074873deade 8331885: C2: meet between unloaded and speculative types is not symmetric Reviewed-by: roland, thartmann ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloaded.java Changeset: b78613b6 Author: Viktor Klang Date: 2024-05-20 18:52:34 +0000 URL: https://git.openjdk.org/loom/commit/b78613b6813a85662fb2af2004d0b68002fe471d 8332154: Memory leak in SynchronousQueue Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/SynchronousQueue.java ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java + test/jdk/java/util/concurrent/tck/SynchronousQueue20Test.java ! test/jdk/java/util/concurrent/tck/SynchronousQueueTest.java Changeset: 6e805127 Author: Jonathan Gibbons Date: 2024-05-21 00:39:46 +0000 URL: https://git.openjdk.org/loom/commit/6e805127f8091d46205165746d7c59a40703958d 8332545: Fix handling of HTML5 entities in Markdown comments Reviewed-by: prappo, erikj = make/modules/jdk.internal.md/Java.gmk ! src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownEntities.java Changeset: fb45bab8 Author: Abhishek Kumar Date: 2024-05-21 05:31:44 +0000 URL: https://git.openjdk.org/loom/commit/fb45bab8e15d7dc59fe801922d768d377d3f44cd 8075917: The regression-swing case failed as the text on label is not painted red with the GTK L&F 8298153: Colored text is not shown on disabled checkbox and radio button with GTK LAF for bug4314194 Reviewed-by: tr, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JRadioButton/4314194/bug4314194.java + test/jdk/javax/swing/plaf/basic/BasicHTML/bug4248210.java Changeset: 9f777930 Author: Axel Boldt-Christmas Date: 2024-05-21 06:14:34 +0000 URL: https://git.openjdk.org/loom/commit/9f7779305c4ccbb86bb0e6d0ed8bc92a4b8f3b9d 8332495: java/util/logging/LoggingDeadlock2.java fails with AssertionError: Some tests failed Reviewed-by: jpai, stefank ! test/jdk/java/util/logging/LoggingDeadlock2.java Changeset: f5ab7dff Author: Axel Boldt-Christmas Date: 2024-05-21 06:14:44 +0000 URL: https://git.openjdk.org/loom/commit/f5ab7dff402a3152f5d5736cc6521b4be617eccf 8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr Reviewed-by: jpai, stefank, dholmes ! test/jdk/java/util/zip/EntryCount64k.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java Changeset: ce99198e Author: Jaikiran Pai Date: 2024-05-21 06:37:15 +0000 URL: https://git.openjdk.org/loom/commit/ce99198e3a6dc81865c518b1fe4a67e93b8ebdd1 8332181: Deprecate for removal the MulticastSocket.send(DatagramPacket, byte) and setTTL/getTTL methods on DatagramSocketImpl and MulticastSocket Reviewed-by: dfuchs, iris, alanb ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/MulticastSocket.java ! src/java.base/share/classes/java/net/NetMulticastSocket.java ! src/java.base/share/classes/sun/nio/ch/DatagramSocketAdaptor.java Changeset: 8a49d47c Author: Matthias Baesken Date: 2024-05-21 07:35:35 +0000 URL: https://git.openjdk.org/loom/commit/8a49d47cf3e845ddccaaeafeee9dfe6ab3180ded 8332462: ubsan: c1_ValueStack.hpp:229:49: runtime error: load of value 171, which is not a valid value for type 'bool' Reviewed-by: chagedorn, mdoerr, thartmann ! src/hotspot/share/c1/c1_ValueStack.cpp Changeset: 5f2b8d02 Author: Albert Mingkun Yang Date: 2024-05-21 07:43:54 +0000 URL: https://git.openjdk.org/loom/commit/5f2b8d0224868d09ff54e93fabe4a6db177aef8f 8332448: Make SpaceMangler inherit AllStatic Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/spaceDecorator.cpp ! src/hotspot/share/gc/shared/spaceDecorator.hpp - src/hotspot/share/gc/shared/spaceDecorator.inline.hpp ! src/hotspot/share/runtime/globals.hpp Changeset: 451cc239 Author: Adam Sotona Date: 2024-05-21 07:59:33 +0000 URL: https://git.openjdk.org/loom/commit/451cc239050f097060be927171fe0e46962f3356 8332486: ClassFile API ArrayIndexOutOfBoundsException with label metadata Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 414a7fdc Author: Chen Liang Committer: Adam Sotona Date: 2024-05-21 08:02:18 +0000 URL: https://git.openjdk.org/loom/commit/414a7fdc5e4aae4cec25b0847bb7c163f271b4e0 8311175: Move BufWriter::asByteBuffer to BufWriterImpl Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/BufWriter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java Changeset: e529101e Author: Matthias Baesken Date: 2024-05-21 08:11:08 +0000 URL: https://git.openjdk.org/loom/commit/e529101ea30b49a6601088ce5ab81df590fc52f0 8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null Reviewed-by: jsjolen, clanger ! src/hotspot/share/utilities/growableArray.hpp Changeset: 7ffc9997 Author: Amit Kumar Date: 2024-05-21 08:17:06 +0000 URL: https://git.openjdk.org/loom/commit/7ffc9997bd4a93cefe30f672a5f0e9c49215d2c7 8332498: [aarch64, x86] improving OpToAssembly output for partialSubtypeCheckConstSuper Instruct Reviewed-by: kvn, thartmann ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: 4e169d1e Author: Albert Mingkun Yang Date: 2024-05-21 08:34:00 +0000 URL: https://git.openjdk.org/loom/commit/4e169d1ed7501d1de8fd4ea326f84b6c1a34270d 8332401: G1: TestFromCardCacheIndex.java with -XX:GCCardSizeInBytes=128 triggers underflow assertion Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp ! src/hotspot/share/gc/parallel/objectStartArray.hpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.inline.hpp Changeset: 9bfae889 Author: Vicente Romero Date: 2024-05-21 08:53:26 +0000 URL: https://git.openjdk.org/loom/commit/9bfae8891e6efa58c557bd6dac61de111a16f71e 8332297: annotation processor that generates records sometimes fails due to NPE in javac Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java + test/langtools/tools/javac/processing/RecordGenerationTest.java Changeset: 3479b46c Author: Albert Mingkun Yang Date: 2024-05-21 11:41:43 +0000 URL: https://git.openjdk.org/loom/commit/3479b46c5bea3afd92b6ab4acd2fe7f274df38aa 8332595: Serial: Remove unused TenuredGeneration::should_collect Reviewed-by: tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp Changeset: ae9ad862 Author: Amit Kumar Date: 2024-05-21 12:01:48 +0000 URL: https://git.openjdk.org/loom/commit/ae9ad862ee54e119553efec919f1061dca36b954 8331934: [s390x] Add support for primitive array C1 clone intrinsic Reviewed-by: mdoerr, sjayagond ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIR.cpp Changeset: 5cf8288b Author: Hamlin Li Date: 2024-05-21 12:34:06 +0000 URL: https://git.openjdk.org/loom/commit/5cf8288b8071bdcf0c923dd7ba36f91bc7594ef3 8332153: RISC-V: enable tests and add comment for vector shift instruct (shared by vectorization and Vector API) Reviewed-by: fyang ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/c2/cr7200264/TestIntVect.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeURShiftSubword.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java Changeset: 42e3c842 Author: Raffaello Giulietti Date: 2024-05-21 12:53:03 +0000 URL: https://git.openjdk.org/loom/commit/42e3c842ae2684265c794868fc76eb0ff2dea3d9 8332086: Remove the usage of ServiceLoader in j.u.r.RandomGeneratorFactory 8332476: j.u.r.RandomGeneratorFactor.create(long|byte[]) should throw rather than silently fallback to no-arg create() Reviewed-by: jpai ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SplittableRandom.java ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java ! src/java.base/share/classes/java/util/random/package-info.java ! src/java.base/share/classes/jdk/internal/random/L128X1024MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L128X128MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L128X256MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L32X64MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X1024MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X128MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X128StarStarRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X256MixRandom.java ! src/java.base/share/classes/jdk/internal/random/Xoroshiro128PlusPlus.java ! src/java.base/share/classes/jdk/internal/random/Xoshiro256PlusPlus.java ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java ! src/java.base/share/classes/module-info.java ! test/jdk/java/util/Random/RandomTestCoverage.java Changeset: 8291c94b Author: Roger Riggs Date: 2024-05-21 14:11:39 +0000 URL: https://git.openjdk.org/loom/commit/8291c94bcdbb01beddc94f290f2749841404cc0c 8331224: ClassCastException in ObjectInputStream hides ClassNotFoundException Reviewed-by: smarks ! src/java.base/share/classes/java/io/ObjectInputStream.java + test/jdk/java/io/Serializable/serialProxy/SerialProxyClassNotFound.java Changeset: d999b81e Author: Aleksey Shipilev Date: 2024-05-21 14:56:53 +0000 URL: https://git.openjdk.org/loom/commit/d999b81e7110751be402012e1ed41b3256f5895e 8331572: Allow using OopMapCache outside of STW GC phases Co-authored-by: Zhengyu Gu Reviewed-by: coleenp, zgu ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/x/xDriver.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/oopMapCache.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/serviceThread.cpp Changeset: 4e497c01 Author: Alan Bateman Date: 2024-05-21 16:16:31 +0000 URL: https://git.openjdk.org/loom/commit/4e497c0105ec372d3d73df0c106b134d978468f8 Merge ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: a97c4aa9 Author: Alan Bateman Date: 2024-05-20 09:41:39 +0000 URL: https://git.openjdk.org/loom/commit/a97c4aa9f5b2a166e0c3998b1f367d632f17a4d7 Reorder list + implementations ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: fef916cc Author: Alan Bateman Date: 2024-05-20 10:30:57 +0000 URL: https://git.openjdk.org/loom/commit/fef916cc4271bbf9786fd89319999d885cc6f945 Clarify comment ! test/jdk/java/lang/Thread/virtual/JfrEvents.java Changeset: a445e4a3 Author: Alan Bateman Date: 2024-05-21 16:17:22 +0000 URL: https://git.openjdk.org/loom/commit/a445e4a308c6a06b0a48d41e964eee16f2e50b7e Merge Changeset: 78d8e724 Author: Alan Bateman Date: 2024-05-21 20:31:36 +0000 URL: https://git.openjdk.org/loom/commit/78d8e72480216e212c615ebf0b10e1c916dfec42 Sync up ForkJoinPool ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java From duke at openjdk.org Tue May 21 19:36:04 2024 From: duke at openjdk.org (duke) Date: Tue, 21 May 2024 19:36:04 GMT Subject: git: openjdk/loom: master: 22 new changesets Message-ID: Changeset: d6b7f9b1 Author: Serhiy Sachkov Committer: Mahendra Chhipa Date: 2024-05-20 09:23:40 +0000 URL: https://git.openjdk.org/loom/commit/d6b7f9b170b6ce4f7275cc7595b71b9a3e93c133 8331851: Add specific regression leap year tests for Calendar.roll() Reviewed-by: naoto + test/jdk/java/util/Calendar/CalendarLeapYearRollTest.java Changeset: 7652f981 Author: Vladimir Ivanov Date: 2024-05-20 17:56:44 +0000 URL: https://git.openjdk.org/loom/commit/7652f9811bfddf08650b0c3277012074873deade 8331885: C2: meet between unloaded and speculative types is not symmetric Reviewed-by: roland, thartmann ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! test/hotspot/jtreg/compiler/runtime/unloaded/TestMHUnloaded.java Changeset: b78613b6 Author: Viktor Klang Date: 2024-05-20 18:52:34 +0000 URL: https://git.openjdk.org/loom/commit/b78613b6813a85662fb2af2004d0b68002fe471d 8332154: Memory leak in SynchronousQueue Reviewed-by: alanb ! src/java.base/share/classes/java/util/concurrent/SynchronousQueue.java ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java + test/jdk/java/util/concurrent/tck/SynchronousQueue20Test.java ! test/jdk/java/util/concurrent/tck/SynchronousQueueTest.java Changeset: 6e805127 Author: Jonathan Gibbons Date: 2024-05-21 00:39:46 +0000 URL: https://git.openjdk.org/loom/commit/6e805127f8091d46205165746d7c59a40703958d 8332545: Fix handling of HTML5 entities in Markdown comments Reviewed-by: prappo, erikj = make/modules/jdk.internal.md/Java.gmk ! src/jdk.internal.md/share/classes/jdk/internal/org/commonmark/internal/util/Html5Entities.java + test/langtools/jdk/javadoc/doclet/testMarkdown/TestMarkdownEntities.java Changeset: fb45bab8 Author: Abhishek Kumar Date: 2024-05-21 05:31:44 +0000 URL: https://git.openjdk.org/loom/commit/fb45bab8e15d7dc59fe801922d768d377d3f44cd 8075917: The regression-swing case failed as the text on label is not painted red with the GTK L&F 8298153: Colored text is not shown on disabled checkbox and radio button with GTK LAF for bug4314194 Reviewed-by: tr, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JRadioButton/4314194/bug4314194.java + test/jdk/javax/swing/plaf/basic/BasicHTML/bug4248210.java Changeset: 9f777930 Author: Axel Boldt-Christmas Date: 2024-05-21 06:14:34 +0000 URL: https://git.openjdk.org/loom/commit/9f7779305c4ccbb86bb0e6d0ed8bc92a4b8f3b9d 8332495: java/util/logging/LoggingDeadlock2.java fails with AssertionError: Some tests failed Reviewed-by: jpai, stefank ! test/jdk/java/util/logging/LoggingDeadlock2.java Changeset: f5ab7dff Author: Axel Boldt-Christmas Date: 2024-05-21 06:14:44 +0000 URL: https://git.openjdk.org/loom/commit/f5ab7dff402a3152f5d5736cc6521b4be617eccf 8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr Reviewed-by: jpai, stefank, dholmes ! test/jdk/java/util/zip/EntryCount64k.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java Changeset: ce99198e Author: Jaikiran Pai Date: 2024-05-21 06:37:15 +0000 URL: https://git.openjdk.org/loom/commit/ce99198e3a6dc81865c518b1fe4a67e93b8ebdd1 8332181: Deprecate for removal the MulticastSocket.send(DatagramPacket, byte) and setTTL/getTTL methods on DatagramSocketImpl and MulticastSocket Reviewed-by: dfuchs, iris, alanb ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/MulticastSocket.java ! src/java.base/share/classes/java/net/NetMulticastSocket.java ! src/java.base/share/classes/sun/nio/ch/DatagramSocketAdaptor.java Changeset: 8a49d47c Author: Matthias Baesken Date: 2024-05-21 07:35:35 +0000 URL: https://git.openjdk.org/loom/commit/8a49d47cf3e845ddccaaeafeee9dfe6ab3180ded 8332462: ubsan: c1_ValueStack.hpp:229:49: runtime error: load of value 171, which is not a valid value for type 'bool' Reviewed-by: chagedorn, mdoerr, thartmann ! src/hotspot/share/c1/c1_ValueStack.cpp Changeset: 5f2b8d02 Author: Albert Mingkun Yang Date: 2024-05-21 07:43:54 +0000 URL: https://git.openjdk.org/loom/commit/5f2b8d0224868d09ff54e93fabe4a6db177aef8f 8332448: Make SpaceMangler inherit AllStatic Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/parallel/mutableNUMASpace.cpp ! src/hotspot/share/gc/parallel/mutableNUMASpace.hpp ! src/hotspot/share/gc/parallel/mutableSpace.cpp ! src/hotspot/share/gc/parallel/mutableSpace.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psOldGen.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp ! src/hotspot/share/gc/parallel/psYoungGen.hpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/serial/generation.cpp ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/spaceDecorator.cpp ! src/hotspot/share/gc/shared/spaceDecorator.hpp - src/hotspot/share/gc/shared/spaceDecorator.inline.hpp ! src/hotspot/share/runtime/globals.hpp Changeset: 451cc239 Author: Adam Sotona Date: 2024-05-21 07:59:33 +0000 URL: https://git.openjdk.org/loom/commit/451cc239050f097060be927171fe0e46962f3356 8332486: ClassFile API ArrayIndexOutOfBoundsException with label metadata Reviewed-by: psandoz ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! test/jdk/jdk/classfile/LimitsTest.java Changeset: 414a7fdc Author: Chen Liang Committer: Adam Sotona Date: 2024-05-21 08:02:18 +0000 URL: https://git.openjdk.org/loom/commit/414a7fdc5e4aae4cec25b0847bb7c163f271b4e0 8311175: Move BufWriter::asByteBuffer to BufWriterImpl Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/BufWriter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java Changeset: e529101e Author: Matthias Baesken Date: 2024-05-21 08:11:08 +0000 URL: https://git.openjdk.org/loom/commit/e529101ea30b49a6601088ce5ab81df590fc52f0 8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null Reviewed-by: jsjolen, clanger ! src/hotspot/share/utilities/growableArray.hpp Changeset: 7ffc9997 Author: Amit Kumar Date: 2024-05-21 08:17:06 +0000 URL: https://git.openjdk.org/loom/commit/7ffc9997bd4a93cefe30f672a5f0e9c49215d2c7 8332498: [aarch64, x86] improving OpToAssembly output for partialSubtypeCheckConstSuper Instruct Reviewed-by: kvn, thartmann ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: 4e169d1e Author: Albert Mingkun Yang Date: 2024-05-21 08:34:00 +0000 URL: https://git.openjdk.org/loom/commit/4e169d1ed7501d1de8fd4ea326f84b6c1a34270d 8332401: G1: TestFromCardCacheIndex.java with -XX:GCCardSizeInBytes=128 triggers underflow assertion Reviewed-by: tschatzl, iwalulya ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp ! src/hotspot/share/gc/parallel/objectStartArray.hpp ! src/hotspot/share/gc/serial/serialBlockOffsetTable.inline.hpp Changeset: 9bfae889 Author: Vicente Romero Date: 2024-05-21 08:53:26 +0000 URL: https://git.openjdk.org/loom/commit/9bfae8891e6efa58c557bd6dac61de111a16f71e 8332297: annotation processor that generates records sometimes fails due to NPE in javac Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java + test/langtools/tools/javac/processing/RecordGenerationTest.java Changeset: 3479b46c Author: Albert Mingkun Yang Date: 2024-05-21 11:41:43 +0000 URL: https://git.openjdk.org/loom/commit/3479b46c5bea3afd92b6ab4acd2fe7f274df38aa 8332595: Serial: Remove unused TenuredGeneration::should_collect Reviewed-by: tschatzl ! src/hotspot/share/gc/serial/tenuredGeneration.cpp ! src/hotspot/share/gc/serial/tenuredGeneration.hpp Changeset: ae9ad862 Author: Amit Kumar Date: 2024-05-21 12:01:48 +0000 URL: https://git.openjdk.org/loom/commit/ae9ad862ee54e119553efec919f1061dca36b954 8331934: [s390x] Add support for primitive array C1 clone intrinsic Reviewed-by: mdoerr, sjayagond ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.hpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIR.cpp Changeset: 5cf8288b Author: Hamlin Li Date: 2024-05-21 12:34:06 +0000 URL: https://git.openjdk.org/loom/commit/5cf8288b8071bdcf0c923dd7ba36f91bc7594ef3 8332153: RISC-V: enable tests and add comment for vector shift instruct (shared by vectorization and Vector API) Reviewed-by: fyang ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/c2/cr7200264/TestIntVect.java ! test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeURShiftSubword.java ! test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicCharOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java ! test/hotspot/jtreg/compiler/vectorization/runner/BasicShortOpTest.java Changeset: 42e3c842 Author: Raffaello Giulietti Date: 2024-05-21 12:53:03 +0000 URL: https://git.openjdk.org/loom/commit/42e3c842ae2684265c794868fc76eb0ff2dea3d9 8332086: Remove the usage of ServiceLoader in j.u.r.RandomGeneratorFactory 8332476: j.u.r.RandomGeneratorFactor.create(long|byte[]) should throw rather than silently fallback to no-arg create() Reviewed-by: jpai ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SplittableRandom.java ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java ! src/java.base/share/classes/java/util/random/package-info.java ! src/java.base/share/classes/jdk/internal/random/L128X1024MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L128X128MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L128X256MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L32X64MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X1024MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X128MixRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X128StarStarRandom.java ! src/java.base/share/classes/jdk/internal/random/L64X256MixRandom.java ! src/java.base/share/classes/jdk/internal/random/Xoroshiro128PlusPlus.java ! src/java.base/share/classes/jdk/internal/random/Xoshiro256PlusPlus.java ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java ! src/java.base/share/classes/module-info.java ! test/jdk/java/util/Random/RandomTestCoverage.java Changeset: 8291c94b Author: Roger Riggs Date: 2024-05-21 14:11:39 +0000 URL: https://git.openjdk.org/loom/commit/8291c94bcdbb01beddc94f290f2749841404cc0c 8331224: ClassCastException in ObjectInputStream hides ClassNotFoundException Reviewed-by: smarks ! src/java.base/share/classes/java/io/ObjectInputStream.java + test/jdk/java/io/Serializable/serialProxy/SerialProxyClassNotFound.java Changeset: d999b81e Author: Aleksey Shipilev Date: 2024-05-21 14:56:53 +0000 URL: https://git.openjdk.org/loom/commit/d999b81e7110751be402012e1ed41b3256f5895e 8331572: Allow using OopMapCache outside of STW GC phases Co-authored-by: Zhengyu Gu Reviewed-by: coleenp, zgu ! src/hotspot/share/gc/shared/gcVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/x/xDriver.cpp ! src/hotspot/share/gc/z/zGeneration.cpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/oopMapCache.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/serviceThread.cpp From duke at openjdk.org Wed May 22 18:20:08 2024 From: duke at openjdk.org (duke) Date: Wed, 22 May 2024 18:20:08 GMT Subject: git: openjdk/loom: fibers: 4 new changesets Message-ID: <5014c65d-ebc2-42f9-8f83-da106924c825@openjdk.org> Changeset: d016acd5 Author: Alan Bateman Date: 2024-05-22 08:51:02 +0000 URL: https://git.openjdk.org/loom/commit/d016acd503da43eba75cb1deef331404055f7426 javadoc updates ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: c3f3ec95 Author: Alan Bateman Date: 2024-05-22 12:50:45 +0000 URL: https://git.openjdk.org/loom/commit/c3f3ec950d76f8ffb2b3dd34573fcf9474c6a19c Remove empty test - test/jdk/java/util/concurrent/StructuredTaskScope/StressShutdown.java Changeset: 7b38ffdb Author: Alan Bateman Date: 2024-05-22 14:53:13 +0000 URL: https://git.openjdk.org/loom/commit/7b38ffdb89de2c362c61e1777ec30018120c70c3 Skip when testing with JTREG_TEST_THREAD_FACTORY=Virtual ! test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadEventTest/VThreadEventTest.java Changeset: 3ead0d86 Author: Alan Bateman Date: 2024-05-22 18:13:50 +0000 URL: https://git.openjdk.org/loom/commit/3ead0d86f6cdcf5e7d7559966714741443c037c4 Stress test for cancellation + test/jdk/java/util/concurrent/StructuredTaskScope/StressCancellation.java From duke at openjdk.org Thu May 23 21:13:28 2024 From: duke at openjdk.org (duke) Date: Thu, 23 May 2024 21:13:28 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <5680f038-8248-4931-8bf7-33bfca796e72@openjdk.org> Changeset: 756743da Author: Patricio Chilano Mateo Date: 2024-05-23 16:46:54 +0000 URL: https://git.openjdk.org/loom/commit/756743dae93f07029cba3362c0ec66f7bc7c1a61 release carrier on Object.wait ! src/hotspot/cpu/aarch64/continuationFreezeThaw_aarch64.inline.hpp ! src/hotspot/cpu/aarch64/continuationHelper_aarch64.inline.hpp ! src/hotspot/cpu/aarch64/frame_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stackChunkFrameStream_aarch64.inline.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/continuationFreezeThaw_arm.inline.hpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/ppc/continuationFreezeThaw_ppc.inline.hpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/riscv/continuationFreezeThaw_riscv.inline.hpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/s390/continuationFreezeThaw_s390.inline.hpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/x86/continuationFreezeThaw_x86.inline.hpp ! src/hotspot/cpu/x86/continuationHelper_x86.inline.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stackChunkFrameStream_x86.inline.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/zero/continuationFreezeThaw_zero.inline.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.hpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp ! src/hotspot/share/interpreter/templateInterpreterGenerator.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/stackChunkOop.cpp ! src/hotspot/share/oops/stackChunkOop.hpp ! src/hotspot/share/oops/stackChunkOop.inline.hpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/jvmtiThreadState.cpp ! src/hotspot/share/runtime/continuation.cpp ! src/hotspot/share/runtime/continuation.hpp ! src/hotspot/share/runtime/continuationFreezeThaw.cpp ! src/hotspot/share/runtime/continuationHelper.hpp ! src/hotspot/share/runtime/continuationJavaClasses.cpp ! src/hotspot/share/runtime/continuationJavaClasses.hpp ! src/hotspot/share/runtime/continuationJavaClasses.inline.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/javaThread.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vframe.inline.hpp ! src/java.base/share/classes/java/lang/Object.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! test/hotspot/jtreg/serviceability/jvmti/events/MonitorWaited/monitorwaited01/libmonitorwaited01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectMonitorUsage/objmonusage001.java ! test/jdk/java/lang/Thread/virtual/GetStackTrace.java ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java ! test/jdk/java/lang/Thread/virtual/SynchronizedNative.java ! test/jdk/java/lang/Thread/virtual/ThreadAPI.java Changeset: 293ae7a0 Author: Patricio Chilano Mateo Date: 2024-05-23 16:49:50 +0000 URL: https://git.openjdk.org/loom/commit/293ae7a00dad586a871696604de2e8037f17abef fix old comments ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/share/runtime/objectMonitor.cpp From duke at openjdk.org Sat May 25 07:46:45 2024 From: duke at openjdk.org (duke) Date: Sat, 25 May 2024 07:46:45 GMT Subject: git: openjdk/loom: fibers: 71 new changesets Message-ID: <93a840b4-cc11-4e1f-a5a0-d41f525fabd8@openjdk.org> Changeset: 52eda795 Author: Vladimir Kozlov Date: 2024-05-21 15:52:52 +0000 URL: https://git.openjdk.org/loom/commit/52eda79522a5bd71b527e5946b654a331b021473 8332538: Switch off JIT memory limit check for TestAlignVectorFuzzer.java Reviewed-by: stuefe, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java Changeset: 5f804b2e Author: Jaikiran Pai Date: 2024-05-22 01:20:51 +0000 URL: https://git.openjdk.org/loom/commit/5f804b2ec12627b593353ceeab881187b0bb5cd6 8329825: Clarify the value type for java.net.SocketOptions.SO_LINGER Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/SocketOptions.java Changeset: 67f03f2a Author: Gui Cao Committer: Fei Yang Date: 2024-05-22 06:56:40 +0000 URL: https://git.openjdk.org/loom/commit/67f03f2a4f5ac12748ffbf5c04f248a60869e180 8332533: RISC-V: Enable vector variable shift instructions for machines with RVV Reviewed-by: fyang, mli ! src/hotspot/cpu/riscv/matcher_riscv.hpp Changeset: 3d511ff6 Author: Tobias Holenstein Date: 2024-05-22 08:50:15 +0000 URL: https://git.openjdk.org/loom/commit/3d511ff63e59f542ae20c722bfef1c867cd1da0e 8329748: Change default value of AssertWXAtThreadSync to true Reviewed-by: kvn, rrich ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/share/jfr/support/jfrIntrinsics.cpp Changeset: 8a9d77d5 Author: Fei Gao Date: 2024-05-22 11:33:35 +0000 URL: https://git.openjdk.org/loom/commit/8a9d77d58de259b6b2bdc2cc9e7bfdc28dcf7165 8320622: [TEST] Improve coverage of compiler/loopopts/superword/TestMulAddS2I.java on different platforms Reviewed-by: epeter, kvn ! test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java Changeset: c3bc23fe Author: Robbin Ehn Date: 2024-05-22 11:47:54 +0000 URL: https://git.openjdk.org/loom/commit/c3bc23fe48ca1603afe68a6ac4aaa523a1edbb41 8326306: RISC-V: Re-structure MASM calls and jumps Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/jniFastGetField_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp Changeset: 4f1a10f8 Author: Coleen Phillimore Date: 2024-05-22 12:08:33 +0000 URL: https://git.openjdk.org/loom/commit/4f1a10f84bcfadef263a0890b6834ccd3d5bb52f 8332360: JVM hangs at exit when running on a uniprocessor Reviewed-by: dholmes, dcubed, shade ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: 92d33501 Author: Ivan Walulya Date: 2024-05-22 13:45:37 +0000 URL: https://git.openjdk.org/loom/commit/92d33501e091bdfaab52886078053b849a5a8f68 8331920: ubsan: g1CardSetContainers.inline.hpp:266:5: runtime error: index 2 out of bounds for type 'G1CardSetHowl::ContainerPtr [2]' reported Reviewed-by: tschatzl, aboldtch ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: 9ca90ccd Author: Johan Sj?len Date: 2024-05-22 13:52:51 +0000 URL: https://git.openjdk.org/loom/commit/9ca90ccd6bfec76e54e2e870bd706fad5abf233c 8332610: Remove unused nWakeups in ObjectMonitor Reviewed-by: coleenp, dcubed ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: afed7d0b Author: Volodymyr Paprotski Committer: Sandhya Viswanathan Date: 2024-05-22 16:27:27 +0000 URL: https://git.openjdk.org/loom/commit/afed7d0b0593864e5595840a6b645c210ff28c7c 8329538: Accelerate P256 on x86_64 using Montgomery intrinsic Reviewed-by: ihse, ascarpino, sviswanathan ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java ! make/test/BuildMicrobenchmark.gmk ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp = src/hotspot/cpu/x86/stubGenerator_x86_64_poly1305.cpp + src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! 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/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/java.base/share/classes/sun/security/ec/ECDHKeyAgreement.java ! src/java.base/share/classes/sun/security/ec/ECDSAOperations.java ! src/java.base/share/classes/sun/security/ec/ECOperations.java ! src/java.base/share/classes/sun/security/ec/point/AffinePoint.java ! src/java.base/share/classes/sun/security/ec/point/ProjectivePoint.java + src/java.base/share/classes/sun/security/util/math/IntegerMontgomeryFieldModuloP.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomialModBinP.java + src/java.base/share/classes/sun/security/util/math/intpoly/MontgomeryIntegerPolynomialP256.java + test/jdk/com/sun/security/ec/ECOperationsFuzzTest.java + test/jdk/com/sun/security/ec/ECOperationsKATTest.java + test/jdk/com/sun/security/util/math/intpoly/IntegerPolynomialTest.java + test/jdk/com/sun/security/util/math/intpoly/MontgomeryPolynomialFuzzTest.java + test/micro/org/openjdk/bench/javax/crypto/full/PolynomialP256Bench.java Changeset: a0c5714d Author: Nizar Benalla Committer: Kevin Walls Date: 2024-05-22 16:31:17 +0000 URL: https://git.openjdk.org/loom/commit/a0c5714dbc8a60d905f9deea153e7f31fbd64d06 8332071: Convert package.html files in `java.management.rmi` to package-info.java 8332376: Add `@since` tags to `java.management.rmi` Reviewed-by: kevinw, rriggs ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectorServer.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/package-info.java - src/java.management.rmi/share/classes/javax/management/remote/rmi/package.html Changeset: 2170e99c Author: Liam Miller-Cushon Date: 2024-05-22 18:02:37 +0000 URL: https://git.openjdk.org/loom/commit/2170e99cb49a4ef2086ecec7515a72d56148d0f2 8331081: 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java + test/langtools/tools/javac/options/system/SystemSunProprietary.java Changeset: 37c47785 Author: Alex Menkov Date: 2024-05-22 18:38:10 +0000 URL: https://git.openjdk.org/loom/commit/37c477856d543163b60dd2b85a5e6ac35a752211 8332096: hotspot-ide-project fails with this-escape Reviewed-by: erikj ! make/ide/visualstudio/hotspot/src/classes/build/tools/projectcreator/FileTreeCreator.java Changeset: b4d14540 Author: Daniel D. Daugherty Date: 2024-05-22 19:06:06 +0000 URL: https://git.openjdk.org/loom/commit/b4d14540851d792b5366a3723abcea1264a5737c 8332740: [BACKOUT] JDK-8331081 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version Reviewed-by: mikael, prr, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java - test/langtools/tools/javac/options/system/SystemSunProprietary.java Changeset: d59c12fe Author: Nizar Benalla Committer: Vicente Romero Date: 2024-05-22 19:13:21 +0000 URL: https://git.openjdk.org/loom/commit/d59c12fe1041a1f61f68408241a9aa4d96ac4fd2 8329718: Incorrect `@since` tags in elements in jdk.compiler and java.compiler Reviewed-by: darcy, jjg ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/SwitchExpressionTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/tree/YieldTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java ! src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Changeset: c4557a7b Author: Aggelos Biboudis Date: 2024-05-22 19:48:23 +0000 URL: https://git.openjdk.org/loom/commit/c4557a7b0db5b55585b4caa7cdec81e1c1093cbc 8332463: Byte conditional pattern case element dominates short constant case element Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.out + test/langtools/tools/javac/patterns/T8332463a.java + test/langtools/tools/javac/patterns/T8332463b.java Changeset: 3d4185a9 Author: Mikhailo Seledtsov Date: 2024-05-22 20:05:33 +0000 URL: https://git.openjdk.org/loom/commit/3d4185a9ce482cc655a4c67f39cb2682b02ae4fe 8332739: Problemlist compiler/codecache/CheckLargePages until JDK-8332654 is fixed Reviewed-by: kvn, dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 98f6a808 Author: Jaikiran Pai Date: 2024-05-23 01:03:19 +0000 URL: https://git.openjdk.org/loom/commit/98f6a80852383dcbdad7292b7d269a8547d54d45 8332490: JMH org.openjdk.bench.java.util.zip.InflaterInputStreams.inflaterInputStreamRead OOM Reviewed-by: aturbanov, redestad ! test/micro/org/openjdk/bench/java/util/zip/InflaterInputStreams.java Changeset: 9d332e65 Author: Prasanta Sadhukhan Date: 2024-05-23 04:23:04 +0000 URL: https://git.openjdk.org/loom/commit/9d332e6591334a71335da65a4dd7b2ed0482b6cb 8307193: Several Swing jtreg tests use class.forName on L&F classes Reviewed-by: abhiscxk, prr + test/jdk/javax/swing/JMenuBar/RightLeftOrientation.java + test/jdk/javax/swing/JToolBar/RightLeftOrientation.java Changeset: 6829d9ac Author: Sonia Zaldana Calles Committer: Thomas Stuefe Date: 2024-05-23 05:53:09 +0000 URL: https://git.openjdk.org/loom/commit/6829d9ac67fb131462d3ef1c4bdfaa07df5d6be6 8332122: [nmt] Totals for malloc should show total peak Reviewed-by: stuefe, jsjolen ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/memReporter.cpp + test/hotspot/jtreg/runtime/NMT/PeakMallocTest.java Changeset: 2a11e0da Author: Dan Heidinga Committer: Thomas Stuefe Date: 2024-05-23 05:55:16 +0000 URL: https://git.openjdk.org/loom/commit/2a11e0da026066191e4d4f30b9daca986c484630 8332743: Update comment related to JDK-8320522 Reviewed-by: coleenp ! src/hotspot/share/interpreter/interpreterRuntime.cpp Changeset: c2180d14 Author: Sergey Chernyshev Committer: Jaikiran Pai Date: 2024-05-23 06:12:45 +0000 URL: https://git.openjdk.org/loom/commit/c2180d141ccca0e396ee9a0cd3044c4428b963d5 8315767: InetAddress: constructing objects from BSD literal addresses Reviewed-by: dfuchs, aefimov, michaelm, jpai ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! test/jdk/java/net/InetAddress/OfLiteralTest.java Changeset: 1e5a2780 Author: Albert Mingkun Yang Date: 2024-05-23 07:00:10 +0000 URL: https://git.openjdk.org/loom/commit/1e5a2780d9cc8e73ce65bdccb98c1808aadd0784 8332676: Remove unused BarrierSetAssembler::incr_allocated_bytes Reviewed-by: tschatzl, kbarrett ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: 94af3c23 Author: Albert Mingkun Yang Date: 2024-05-23 07:13:57 +0000 URL: https://git.openjdk.org/loom/commit/94af3c23ea09ef2869cdc666d8170a655a0b3602 8329203: Parallel: Investigate Mark-Compact for Full GC to decrease memory usage Reviewed-by: rkennke, gli ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp Changeset: 1ea76d33 Author: Matthias Baesken Date: 2024-05-23 07:28:28 +0000 URL: https://git.openjdk.org/loom/commit/1ea76d338b99900089277b7a2da82c24382a6ce1 8332675: test/hotspot/jtreg/gc/testlibrary/Helpers.java compileClass javadoc does not match after 8321812 Reviewed-by: mdoerr, ayang ! test/hotspot/jtreg/gc/testlibrary/Helpers.java Changeset: 612ae928 Author: Doug Simon Date: 2024-05-23 08:11:22 +0000 URL: https://git.openjdk.org/loom/commit/612ae9289a130b8701f74253fe5499358a2e2b5b 8332735: [JVMCI] Add extra JVMCI events for exception translation Reviewed-by: never ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: 4e6d851f Author: Jan Lahoda Date: 2024-05-23 09:43:29 +0000 URL: https://git.openjdk.org/loom/commit/4e6d851f3f061b4a9c2b5d2e3fba6a0277ac1f34 8325324: Implement JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) Reviewed-by: asotona, vromero, mcimadamore ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java + test/langtools/tools/javac/ImplicitClass/ImplicitImports.java ! test/langtools/tools/javac/processing/model/TestSymtabItems.java Changeset: b890336e Author: Serguei Spitsyn Date: 2024-05-23 12:07:17 +0000 URL: https://git.openjdk.org/loom/commit/b890336e111ea8473ae49e9992bc2fd61e716792 8328083: degrade virtual thread support for GetObjectMonitorUsage Reviewed-by: cjplummer, alanb ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/threads.cpp ! src/hotspot/share/runtime/threads.hpp ! src/java.se/share/data/jdwp/jdwp.spec ! src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java ! test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/entryCount/entrycount002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/owningThread/owningthread002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectMonitorUsage/objmonusage001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectMonitorUsage/objmonusage004.java Changeset: 2581935b Author: Claes Redestad Date: 2024-05-23 12:26:19 +0000 URL: https://git.openjdk.org/loom/commit/2581935b47afaf661a94c8a8e50ce08065d632f6 8332528: Generate code in SwitchBootstraps.generateTypeSwitch that require fewer adaptations Reviewed-by: liach, jlahoda ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java ! src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java + test/micro/org/openjdk/bench/java/lang/runtime/SwitchSanity.java Changeset: e19a421c Author: Matthias Baesken Date: 2024-05-23 13:22:30 +0000 URL: https://git.openjdk.org/loom/commit/e19a421c30534566ba0dea0fa84f812ebeecfc87 8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array' Reviewed-by: stefank, mdoerr ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 90758f67 Author: Magnus Ihse Bursie Date: 2024-05-23 14:36:23 +0000 URL: https://git.openjdk.org/loom/commit/90758f6735620776fcb60da9e0e2c91a4f53aaf1 8332808: Always set java.io.tmpdir to a suitable value in the build Reviewed-by: erikj ! make/InitSupport.gmk ! make/autoconf/spec.gmk.template ! make/common/JavaCompilation.gmk Changeset: 303ac9f2 Author: Thomas Stuefe Date: 2024-05-23 15:54:11 +0000 URL: https://git.openjdk.org/loom/commit/303ac9f270f567d821d156f3a9d4f4c070f43f95 8332671: Logging for pretouching thread stacks shows wrong memory range Reviewed-by: shade ! src/hotspot/share/runtime/javaThread.cpp Changeset: 417d174a Author: Nizar Benalla Committer: Magnus Ihse Bursie Date: 2024-05-23 16:04:40 +0000 URL: https://git.openjdk.org/loom/commit/417d174aa1b7bd3b5755e5f2352d9bbe6ce6f183 8331348: Some incremental builds deposit files in the make directory Reviewed-by: ihse, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Changeset: 7fd9d6c7 Author: Ioi Lam Date: 2024-05-23 16:04:56 +0000 URL: https://git.openjdk.org/loom/commit/7fd9d6c760c66d3e2f4034cf1a6b1b583ff829a9 8332340: Add JavacBench as a test case for CDS Reviewed-by: ccheung, matsaave + test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBench.java + test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBenchApp.java + test/lib/jdk/test/lib/StringArrayUtils.java + test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: c9a7b977 Author: Roland Westrelin Date: 2024-05-23 16:37:01 +0000 URL: https://git.openjdk.org/loom/commit/c9a7b9772d96d9a4825d9da2aacc277534282860 8332829: [BACKOUT] C2: crash in compiled code because of dependency on removed range check CastIIs Reviewed-by: thartmann ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp - test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: 0a9d1f8c Author: Per Minborg Date: 2024-05-23 18:13:23 +0000 URL: https://git.openjdk.org/loom/commit/0a9d1f8c89e946d99f01549515f6044e53992168 8332749: Broken link in MemorySegment.Scope.html Reviewed-by: iris ! src/java.base/share/classes/java/lang/foreign/MemorySegment.java Changeset: ddd73b45 Author: William Kemper Date: 2024-05-23 22:33:24 +0000 URL: https://git.openjdk.org/loom/commit/ddd73b458355bffeaa8e0e5017c27d6c6af2dc94 8332082: Shenandoah: Use consistent tests to determine when pre-write barrier is active Reviewed-by: kdnilsen, shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp Changeset: f8a3e4e4 Author: steveatgh Committer: Sandhya Viswanathan Date: 2024-05-23 22:54:24 +0000 URL: https://git.openjdk.org/loom/commit/f8a3e4e428f7d3e62177bdf148fe25e22d3ee2bf 8328998: Encoding support for Intel APX extended general-purpose registers Reviewed-by: kvn, sviswanathan, jbhateja ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/assembler_x86.inline.hpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 9b1d6d66 Author: Sergey Bylokhov Date: 2024-05-23 23:40:00 +0000 URL: https://git.openjdk.org/loom/commit/9b1d6d66b8297d53c6b96b9e2f9bd69af90ab8fb 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes Reviewed-by: phh, shade, egahlin ! test/jdk/jdk/jfr/event/oldobject/TestSanityDefault.java Changeset: 424eb60d Author: Alex Menkov Date: 2024-05-24 00:32:49 +0000 URL: https://git.openjdk.org/loom/commit/424eb60dedb332237b8ec97e9da6bd95442c0083 8331683: Clean up GetCarrierThread Reviewed-by: sspitsyn, cjplummer ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/prims/jvmtiExtensions.cpp Changeset: da3001da Author: Weijun Wang Date: 2024-05-24 01:16:43 +0000 URL: https://git.openjdk.org/loom/commit/da3001daf79bf943d6194d9fd60250d519b9680d 8331975: Enable case-insensitive check in ccache and keytab entry lookup Reviewed-by: mpowers, valeriep ! src/java.base/share/conf/security/java.security ! src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java + test/jdk/sun/security/krb5/auto/CaseSensitive.java ! test/jdk/sun/security/krb5/auto/KDC.java Changeset: af056c16 Author: Jan Lahoda Date: 2024-05-24 06:27:45 +0000 URL: https://git.openjdk.org/loom/commit/af056c1676dab3b0b35666a8259db60f9bbf824e 8332106: VerifyError when using switch pattern in this(...) or super(...) Reviewed-by: abimpoudis, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/langtools/tools/javac/patterns/UninitializedThisException.java Changeset: a71b4047 Author: Thomas Schatzl Date: 2024-05-24 07:12:12 +0000 URL: https://git.openjdk.org/loom/commit/a71b40478510db3c69696df608fd1b32f41c57f3 8331398: G1: G1HeapRegionPrinter reclamation events should print the original region type Reviewed-by: ayang, iwalulya, gli ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp - src/hotspot/share/gc/g1/g1HeapRegionPrinter.cpp ! src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 9b61a760 Author: Gui Cao Committer: Fei Yang Date: 2024-05-24 07:12:22 +0000 URL: https://git.openjdk.org/loom/commit/9b61a7608efff13fc3685488f3f54a810ec0ac22 8332615: RISC-V: Support vector unsigned comparison instructions for machines with RVV Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/matcher_riscv.hpp Changeset: 239c1b33 Author: Albert Mingkun Yang Date: 2024-05-24 07:29:22 +0000 URL: https://git.openjdk.org/loom/commit/239c1b33b47de43369673f33d9449e1904477ce0 8332807: Parallel: Make some APIs in ParMarkBitMap private Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp Changeset: 5a2ba952 Author: Cesar Soares Lucas Committer: Coleen Phillimore Date: 2024-05-24 11:55:46 +0000 URL: https://git.openjdk.org/loom/commit/5a2ba952b120394d7cc0d0890619780c1c27a078 8325841: Remove unused references to vmSymbols.hpp Reviewed-by: kvn, coleenp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/opto/macro.cpp Changeset: f16265d6 Author: Christian Stein Date: 2024-05-24 12:24:15 +0000 URL: https://git.openjdk.org/loom/commit/f16265d69b09640b972b7494ad57158dbdc426bb 8332226: "Invalid package name:" from source launcher Reviewed-by: alanb ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/ProgramDescriptor.java ! test/langtools/tools/javac/launcher/ModuleSourceLauncherTests.java Changeset: 6a353114 Author: Daniel Fuchs Date: 2024-05-24 12:42:16 +0000 URL: https://git.openjdk.org/loom/commit/6a35311468222f9335b43d548df2ecb80746b389 8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use" Reviewed-by: jpai, mullan ! test/jdk/sun/security/ssl/SSLSocketImpl/ReuseAddr.java Changeset: c099f14f Author: Pavel Rappo Date: 2024-05-24 13:37:14 +0000 URL: https://git.openjdk.org/loom/commit/c099f14f07260713229cffbe7d23aa8305415a67 8305457: Implement java.io.IO Reviewed-by: naoto, smarks, jpai, jlahoda ! src/java.base/share/classes/java/io/Console.java + src/java.base/share/classes/java/io/IO.java ! src/java.base/share/classes/java/io/ProxyingConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java + test/jdk/java/io/IO/IO.java + test/jdk/java/io/IO/Input.java + test/jdk/java/io/IO/Methods.java + test/jdk/java/io/IO/Output.java + test/jdk/java/io/IO/input.exp + test/jdk/java/io/IO/output.exp ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/ImplicitClass.java Changeset: 0c934ff4 Author: Damon Fenacci Date: 2024-05-24 13:39:17 +0000 URL: https://git.openjdk.org/loom/commit/0c934ff4e2fb53a72ad25a080d956745a5649f9b 8325520: Vector loads and stores with indices and masks incorrectly compiled Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/vectornode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/VectorGatherMaskFoldingTest.java Changeset: cfdc64fc Author: Adam Sotona Date: 2024-05-24 15:58:34 +0000 URL: https://git.openjdk.org/loom/commit/cfdc64fcb43e3b261dddc6cc6947235a9e76154e 8331291: java.lang.classfile.Attributes class performs a lot of static initializations Reviewed-by: liach, redestad, vromero ! src/java.base/share/classes/java/lang/classfile/Attributes.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java ! src/jdk.jartool/share/classes/sun/tools/jar/FingerPrint.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/SourceWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/StackMapWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/jdk/java/lang/StackWalker/TestBCI.java ! test/jdk/java/lang/invoke/lambda/LambdaAsm.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/AnnotationModelTest.java + test/jdk/jdk/classfile/AttributesTest.java ! test/jdk/jdk/classfile/BoundAttributeTest.java ! test/jdk/jdk/classfile/CorpusTest.java ! test/jdk/jdk/classfile/FilterDeadLabelsTest.java ! test/jdk/jdk/classfile/LimitsTest.java ! test/jdk/jdk/classfile/LowJCovAttributeTest.java ! test/jdk/jdk/classfile/LvtTest.java ! test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java ! test/jdk/jdk/classfile/ModuleBuilderTest.java ! test/jdk/jdk/classfile/SignaturesTest.java ! test/jdk/jdk/classfile/TestRecordComponent.java ! test/jdk/jdk/classfile/examples/AnnotationsExamples.java ! test/jdk/jdk/classfile/examples/ModuleExamples.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CheckCSMs.java ! test/jdk/tools/jlink/plugins/StripJavaDebugAttributesPluginTest.java ! test/langtools/tools/javac/4241573/T4241573.java ! test/langtools/tools/javac/7003595/T7003595.java ! test/langtools/tools/javac/8009170/RedundantByteCodeInArrayTest.java ! test/langtools/tools/javac/AnonymousClass/AnonymousClassFlags.java ! test/langtools/tools/javac/MethodParameters/ClassFileVisitor.java ! test/langtools/tools/javac/MethodParameters/LegacyOutputTest/LegacyOutputTest.java ! test/langtools/tools/javac/MethodParametersTest.java ! test/langtools/tools/javac/RequiredParameterFlags/ImplicitParameters.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java ! test/langtools/tools/javac/StringConcat/WellKnownTypeSignatures.java ! test/langtools/tools/javac/StringConcat/access/Test.java ! test/langtools/tools/javac/T6695379/AnnotationsAreNotCopiedToBridgeMethodsTest.java ! test/langtools/tools/javac/T6970173/DebugPointerAtBadPositionTest.java ! test/langtools/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java ! test/langtools/tools/javac/T7053059/DoubleCastTest.java ! test/langtools/tools/javac/T7093325.java ! test/langtools/tools/javac/T7165659/InnerClassAttrMustNotHaveStrictFPFlagTest.java ! test/langtools/tools/javac/T8019486/WrongLNTForLambdaTest.java ! test/langtools/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java ! test/langtools/tools/javac/T8024039/NoDeadCodeGenerationOnTrySmtTest.java ! test/langtools/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java ! test/langtools/tools/javac/T8180141/MissingLNTEntryForBreakContinueTest.java ! test/langtools/tools/javac/T8180660/MissingLNTEntryForFinalizerTest.java ! test/langtools/tools/javac/T8210435/NoLocalsMustBeReservedForDCEedVarsTest.java ! test/langtools/tools/javac/T8222949/TestConstantDynamic.java ! test/langtools/tools/javac/TryWithResources/TwrSimpleClose.java ! test/langtools/tools/javac/annotations/ApplicableAnnotationsOnRecords.java ! test/langtools/tools/javac/annotations/typeAnnotations/TypeAnnotationsPositionsOnRecords.java ! test/langtools/tools/javac/annotations/typeAnnotations/VariablesDeclaredWithVarTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TestNewCastArray.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TypeAnnotationPropagationTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/langtools/tools/javac/cast/intersection/DuplicatedCheckcastTest.java ! test/langtools/tools/javac/classfiles/InnerClasses/SyntheticClasses.java ! test/langtools/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultTest.java ! test/langtools/tools/javac/classfiles/attributes/EnclosingMethod/EnclosingMethodTest.java ! test/langtools/tools/javac/classfiles/attributes/LineNumberTable/LineNumberTestBase.java ! test/langtools/tools/javac/classfiles/attributes/LineNumberTable/T8050993.java ! test/langtools/tools/javac/classfiles/attributes/LocalVariableTable/LocalVariableTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Module/ModuleTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Signature/Driver.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/NoSourceFileAttribute.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/SyntheticTestDriver.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsTestBase.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForLambdaTest.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsTestBase.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesHierarchyTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesIndexTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesTestBase.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/NoInnerClassesTest.java ! test/langtools/tools/javac/classwriter/IndyCorrectInvocationName.java ! test/langtools/tools/javac/code/CharImmediateValue.java ! test/langtools/tools/javac/defaultMethods/TestDefaultBody.java ! test/langtools/tools/javac/defaultMethods/super/TestDirectSuperInterfaceInvoke.java ! test/langtools/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java ! test/langtools/tools/javac/file/SymLinkTest.java ! test/langtools/tools/javac/flow/LVTHarness.java ! test/langtools/tools/javac/lambda/ByteCodeTest.java ! test/langtools/tools/javac/lambda/LocalVariableTable.java ! test/langtools/tools/javac/lambda/TestBootstrapMethodsCount.java ! test/langtools/tools/javac/lambda/TestInvokeDynamic.java ! test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecode.java ! test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecodeTargetRelease14.java ! test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/linenumbers/ConditionalLineNumberTest.java ! test/langtools/tools/javac/linenumbers/FinallyLineNumberTest.java ! test/langtools/tools/javac/linenumbers/NestedLineNumberTest.java ! test/langtools/tools/javac/linenumbers/NullCheckLineNumberTest.java ! test/langtools/tools/javac/meth/TestCP.java ! test/langtools/tools/javac/modules/AnnotationsOnModules.java ! test/langtools/tools/javac/modules/JavaBaseTest.java ! test/langtools/tools/javac/modules/ModuleVersion.java ! test/langtools/tools/javac/modules/OpenModulesTest.java ! test/langtools/tools/javac/multicatch/7005371/T7005371.java ! test/langtools/tools/javac/multicatch/Pos05.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/patterns/LocalVariableTable.java ! test/langtools/tools/javac/patterns/NestedPatternVariablesBytecode.java ! test/langtools/tools/javac/patterns/NoUnnecessaryCast.java ! test/langtools/tools/javac/platform/ModuleVersionTest.java ! test/langtools/tools/javac/processing/model/element/TestOrigin.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/records/recordComponent/RecordComponentTypeTest.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/javac/varargs/6199075/T6199075.java ! test/langtools/tools/javac/varargs/7042566/T7042566.java ! test/langtools/tools/javap/T6716452.java ! test/langtools/tools/javap/classfile/6888367/T6888367.java ! test/langtools/tools/javap/typeAnnotations/JSR175Annotations.java ! test/langtools/tools/javap/typeAnnotations/NewArray.java ! test/langtools/tools/javap/typeAnnotations/Presence.java ! test/langtools/tools/javap/typeAnnotations/PresenceInner.java ! test/langtools/tools/javap/typeAnnotations/TypeCasts.java ! test/langtools/tools/javap/typeAnnotations/Visibility.java ! test/langtools/tools/javap/typeAnnotations/Wildcards.java Changeset: 6d2aeb82 Author: Dan Heidinga Committer: Coleen Phillimore Date: 2024-05-24 16:03:12 +0000 URL: https://git.openjdk.org/loom/commit/6d2aeb82bc6f8b6894bf3777162be0efb2826397 8332745: Method::is_vanilla_constructor is never used Reviewed-by: coleenp, ayang ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlassFlags.hpp ! src/hotspot/share/oops/method.cpp Changeset: c2cca2ab Author: Calvin Cheung Date: 2024-05-24 16:07:36 +0000 URL: https://git.openjdk.org/loom/commit/c2cca2ab443ff87f689810b747985adfdbfbe54a 8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC Reviewed-by: dholmes, iklam ! test/jtreg-ext/requires/VMProps.java Changeset: cd3e4c03 Author: Alexey Ivanov Date: 2024-05-24 16:30:30 +0000 URL: https://git.openjdk.org/loom/commit/cd3e4c03661f770ebeefcd3637d56589243ac0a9 8326734: text-decoration applied to lost when mixed with or 8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for , , Reviewed-by: honkar, prr ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java ! src/java.desktop/share/classes/javax/swing/text/html/MuxingAttributeSet.java ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLStrikeOnly.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLTextDecoration.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLUnderlineOnly.java ! test/jdk/javax/swing/text/html/HTMLDocument/HTMLUnderlineStrike.java Changeset: f66a5866 Author: Leonid Mesnik Date: 2024-05-24 17:31:30 +0000 URL: https://git.openjdk.org/loom/commit/f66a58661459bf64212ec332540c12d5d691270f 8332641: Update nsk.share.jpda.Jdb to don't use finalization Reviewed-by: cjplummer, kevinw ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Jdb.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java Changeset: b3b33667 Author: Leonid Mesnik Date: 2024-05-24 17:34:00 +0000 URL: https://git.openjdk.org/loom/commit/b3b33667ad3bdb7be868fb165a1ea53054947cd0 8332631: Update nsk.share.jpda.BindServer to don't use finalization Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java Changeset: 236432db Author: Naoto Sato Date: 2024-05-24 17:51:49 +0000 URL: https://git.openjdk.org/loom/commit/236432dbdb9bab4aece54c2fea08f055e5dbf97e 8332084: Ensure JdkConsoleImpl.restoreEcho visibility in a shutdown hook Reviewed-by: prappo, joehw, smarks ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java Changeset: ebc520e8 Author: William Kemper Date: 2024-05-24 18:10:31 +0000 URL: https://git.openjdk.org/loom/commit/ebc520e83f503eeb4e5af6d5aef62df9227af4f7 8332841: GenShen: Pull shared members from control thread into common base class Reviewed-by: ysr ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp + src/hotspot/share/gc/shenandoah/shenandoahController.cpp + src/hotspot/share/gc/shenandoah/shenandoahController.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 253508b0 Author: Kevin Walls Date: 2024-05-24 19:31:20 +0000 URL: https://git.openjdk.org/loom/commit/253508b03a3de4dab00ed7fb57e9f345d8aed1a4 8332303: Better JMX interoperability with older JDKs, after removing Subject Delegation Reviewed-by: dfuchs, cjplummer ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Changeset: 7bf1989f Author: Vicente Romero Date: 2024-05-24 20:43:23 +0000 URL: https://git.openjdk.org/loom/commit/7bf1989f59695c3d08b4bd116fb4c022cf9661f4 8320575: generic type information lost on mandated parameters of record's compact constructors Co-authored-by: Chen Liang Reviewed-by: jlahoda ! src/java.base/share/classes/java/lang/reflect/Executable.java + test/jdk/java/lang/reflect/records/R10.jcod ! test/jdk/java/lang/reflect/records/RecordReflectionTest.java Changeset: 05f13e75 Author: Alexander Zuev Date: 2024-05-25 00:35:56 +0000 URL: https://git.openjdk.org/loom/commit/05f13e75ee4407ba9213c69b33c6032aa87c9e95 8329667: [macos] Issue with JTree related fix for JDK-8317771 Reviewed-by: asemenov, abhiscxk, psadhukhan ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.m Changeset: 985b9ce7 Author: Lei Zaakjyu Committer: Kim Barrett Date: 2024-05-25 02:10:05 +0000 URL: https://git.openjdk.org/loom/commit/985b9ce79a2d620a8b8675d1ae6c9730d72a757f 8330694: Rename 'HeapRegion' to 'G1HeapRegion' Reviewed-by: cjplummer, kbarrett, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardTable.cpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1CodeRootSet.cpp ! src/hotspot/share/gc/g1/g1CodeRootSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1CollectionSet.hpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.cpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.inline.hpp ! src/hotspot/share/gc/g1/g1CollectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1CollectionSetChooser.hpp ! 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/g1ConcurrentMarkBitMap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRebuildAndScrub.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThreadsNeeded.cpp ! src/hotspot/share/gc/g1/g1EdenRegions.hpp ! src/hotspot/share/gc/g1/g1EvacFailureRegions.inline.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullCollector.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCHeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.cpp ! src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.cpp ! 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/g1HeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1HeapRegionEventSender.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.inline.hpp ! src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.inline.hpp ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1NMethodClosure.cpp ! src/hotspot/share/gc/g1/g1NUMA.cpp ! src/hotspot/share/gc/g1/g1NUMA.hpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RegionsOnNodes.cpp ! src/hotspot/share/gc/g1/g1RegionsOnNodes.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.hpp ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.cpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.hpp ! src/hotspot/share/gc/g1/g1UncommitRegionTask.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp ! src/hotspot/share/gc/g1/g1YoungGenSizer.cpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1CollectedHeap.java = src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1HeapRegion.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1HeapRegionTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1MonitoringSupport.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionClosure.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionManager.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/PrintRegionClosure.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerFinder.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_heapRegion.cpp ! test/hotspot/jtreg/gc/g1/TestHumongousAllocNearlyFullRegion.java ! test/hotspot/jtreg/gc/g1/numa/TestG1NUMATouchRegions.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsHumongous.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestObjectAlignment.java Changeset: a1c6ef29 Author: Alan Bateman Date: 2024-05-25 07:08:03 +0000 URL: https://git.openjdk.org/loom/commit/a1c6ef29027e73fb04f25ecde213bc1b7a18b5f0 Merge ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/threads.cpp ! src/hotspot/share/runtime/threads.hpp ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/javaThread.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/threads.cpp ! src/hotspot/share/runtime/threads.hpp ! test/hotspot/jtreg/ProblemList-Virtual.txt ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java Changeset: 67f71787 Author: Alan Bateman Date: 2024-05-23 10:52:26 +0000 URL: https://git.openjdk.org/loom/commit/67f717875811a543646eddee28ac7a2dfcf00734 Cleanup ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java Changeset: 20bd4c85 Author: Alan Bateman Date: 2024-05-23 14:04:46 +0000 URL: https://git.openjdk.org/loom/commit/20bd4c856f237a6fd2d065d2a2a479f0cf8f6a2c More javadoc on exceptions ! src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java Changeset: ef48687a Author: Alan Bateman Date: 2024-05-25 06:15:02 +0000 URL: https://git.openjdk.org/loom/commit/ef48687ae75e806688b1150b22ccd5fc8ef06a6e Expand tests for Object.wait for timeouts + pinning ! test/hotspot/jtreg/serviceability/jvmti/vthread/GetThreadState/GetThreadStateTest.java ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java ! test/jdk/java/lang/Thread/virtual/ThreadAPI.java Changeset: 653b54fe Author: Alan Bateman Date: 2024-05-25 06:30:12 +0000 URL: https://git.openjdk.org/loom/commit/653b54fe74b1c13633fecf1fa3fa12c45b04d1b3 Fixed event reason when pinned while waiting ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: 88d89b42 Author: Alan Bateman Date: 2024-05-25 06:30:32 +0000 URL: https://git.openjdk.org/loom/commit/88d89b42f6273d0def52722d042924d618fd9bc8 Cleanup ! src/java.base/share/classes/java/lang/Object.java Changeset: 17d6395d Author: Alan Bateman Date: 2024-05-25 07:10:14 +0000 URL: https://git.openjdk.org/loom/commit/17d6395dc0f145462359a93204ad2dc97aa7559e Merge ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: e29f3512 Author: Alan Bateman Date: 2024-05-25 07:57:29 +0000 URL: https://git.openjdk.org/loom/commit/e29f351290b491cd47e4078388064a50a67110a8 Sync up ForkJoinPool from pull/19131 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 778fc5cd Author: Alan Bateman Date: 2024-05-25 08:05:36 +0000 URL: https://git.openjdk.org/loom/commit/778fc5cdf0432690b203488938b8c31384db4acf Remove tools/javac/switchnull/SwitchNull.java from exclude list ! test/langtools/ProblemList.txt From duke at openjdk.org Sat May 25 07:50:20 2024 From: duke at openjdk.org (duke) Date: Sat, 25 May 2024 07:50:20 GMT Subject: git: openjdk/loom: master: 62 new changesets Message-ID: <925f01d2-b79f-4864-8c33-556a59faa351@openjdk.org> Changeset: 52eda795 Author: Vladimir Kozlov Date: 2024-05-21 15:52:52 +0000 URL: https://git.openjdk.org/loom/commit/52eda79522a5bd71b527e5946b654a331b021473 8332538: Switch off JIT memory limit check for TestAlignVectorFuzzer.java Reviewed-by: stuefe, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java Changeset: 5f804b2e Author: Jaikiran Pai Date: 2024-05-22 01:20:51 +0000 URL: https://git.openjdk.org/loom/commit/5f804b2ec12627b593353ceeab881187b0bb5cd6 8329825: Clarify the value type for java.net.SocketOptions.SO_LINGER Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/SocketOptions.java Changeset: 67f03f2a Author: Gui Cao Committer: Fei Yang Date: 2024-05-22 06:56:40 +0000 URL: https://git.openjdk.org/loom/commit/67f03f2a4f5ac12748ffbf5c04f248a60869e180 8332533: RISC-V: Enable vector variable shift instructions for machines with RVV Reviewed-by: fyang, mli ! src/hotspot/cpu/riscv/matcher_riscv.hpp Changeset: 3d511ff6 Author: Tobias Holenstein Date: 2024-05-22 08:50:15 +0000 URL: https://git.openjdk.org/loom/commit/3d511ff63e59f542ae20c722bfef1c867cd1da0e 8329748: Change default value of AssertWXAtThreadSync to true Reviewed-by: kvn, rrich ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/share/jfr/support/jfrIntrinsics.cpp Changeset: 8a9d77d5 Author: Fei Gao Date: 2024-05-22 11:33:35 +0000 URL: https://git.openjdk.org/loom/commit/8a9d77d58de259b6b2bdc2cc9e7bfdc28dcf7165 8320622: [TEST] Improve coverage of compiler/loopopts/superword/TestMulAddS2I.java on different platforms Reviewed-by: epeter, kvn ! test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java Changeset: c3bc23fe Author: Robbin Ehn Date: 2024-05-22 11:47:54 +0000 URL: https://git.openjdk.org/loom/commit/c3bc23fe48ca1603afe68a6ac4aaa523a1edbb41 8326306: RISC-V: Re-structure MASM calls and jumps Reviewed-by: fyang, luhenry ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/jniFastGetField_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp Changeset: 4f1a10f8 Author: Coleen Phillimore Date: 2024-05-22 12:08:33 +0000 URL: https://git.openjdk.org/loom/commit/4f1a10f84bcfadef263a0890b6834ccd3d5bb52f 8332360: JVM hangs at exit when running on a uniprocessor Reviewed-by: dholmes, dcubed, shade ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: 92d33501 Author: Ivan Walulya Date: 2024-05-22 13:45:37 +0000 URL: https://git.openjdk.org/loom/commit/92d33501e091bdfaab52886078053b849a5a8f68 8331920: ubsan: g1CardSetContainers.inline.hpp:266:5: runtime error: index 2 out of bounds for type 'G1CardSetHowl::ContainerPtr [2]' reported Reviewed-by: tschatzl, aboldtch ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: 9ca90ccd Author: Johan Sj?len Date: 2024-05-22 13:52:51 +0000 URL: https://git.openjdk.org/loom/commit/9ca90ccd6bfec76e54e2e870bd706fad5abf233c 8332610: Remove unused nWakeups in ObjectMonitor Reviewed-by: coleenp, dcubed ! src/hotspot/share/runtime/objectMonitor.cpp Changeset: afed7d0b Author: Volodymyr Paprotski Committer: Sandhya Viswanathan Date: 2024-05-22 16:27:27 +0000 URL: https://git.openjdk.org/loom/commit/afed7d0b0593864e5595840a6b645c210ff28c7c 8329538: Accelerate P256 on x86_64 using Montgomery intrinsic Reviewed-by: ihse, ascarpino, sviswanathan ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java ! make/test/BuildMicrobenchmark.gmk ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.hpp = src/hotspot/cpu/x86/stubGenerator_x86_64_poly1305.cpp + src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! 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/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/java.base/share/classes/sun/security/ec/ECDHKeyAgreement.java ! src/java.base/share/classes/sun/security/ec/ECDSAOperations.java ! src/java.base/share/classes/sun/security/ec/ECOperations.java ! src/java.base/share/classes/sun/security/ec/point/AffinePoint.java ! src/java.base/share/classes/sun/security/ec/point/ProjectivePoint.java + src/java.base/share/classes/sun/security/util/math/IntegerMontgomeryFieldModuloP.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomialModBinP.java + src/java.base/share/classes/sun/security/util/math/intpoly/MontgomeryIntegerPolynomialP256.java + test/jdk/com/sun/security/ec/ECOperationsFuzzTest.java + test/jdk/com/sun/security/ec/ECOperationsKATTest.java + test/jdk/com/sun/security/util/math/intpoly/IntegerPolynomialTest.java + test/jdk/com/sun/security/util/math/intpoly/MontgomeryPolynomialFuzzTest.java + test/micro/org/openjdk/bench/javax/crypto/full/PolynomialP256Bench.java Changeset: a0c5714d Author: Nizar Benalla Committer: Kevin Walls Date: 2024-05-22 16:31:17 +0000 URL: https://git.openjdk.org/loom/commit/a0c5714dbc8a60d905f9deea153e7f31fbd64d06 8332071: Convert package.html files in `java.management.rmi` to package-info.java 8332376: Add `@since` tags to `java.management.rmi` Reviewed-by: kevinw, rriggs ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectorServer.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/package-info.java - src/java.management.rmi/share/classes/javax/management/remote/rmi/package.html Changeset: 2170e99c Author: Liam Miller-Cushon Date: 2024-05-22 18:02:37 +0000 URL: https://git.openjdk.org/loom/commit/2170e99cb49a4ef2086ecec7515a72d56148d0f2 8331081: 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java + test/langtools/tools/javac/options/system/SystemSunProprietary.java Changeset: 37c47785 Author: Alex Menkov Date: 2024-05-22 18:38:10 +0000 URL: https://git.openjdk.org/loom/commit/37c477856d543163b60dd2b85a5e6ac35a752211 8332096: hotspot-ide-project fails with this-escape Reviewed-by: erikj ! make/ide/visualstudio/hotspot/src/classes/build/tools/projectcreator/FileTreeCreator.java Changeset: b4d14540 Author: Daniel D. Daugherty Date: 2024-05-22 19:06:06 +0000 URL: https://git.openjdk.org/loom/commit/b4d14540851d792b5366a3723abcea1264a5737c 8332740: [BACKOUT] JDK-8331081 'internal proprietary API' diagnostics if --system is configured to an earlier JDK version Reviewed-by: mikael, prr, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java - test/langtools/tools/javac/options/system/SystemSunProprietary.java Changeset: d59c12fe Author: Nizar Benalla Committer: Vicente Romero Date: 2024-05-22 19:13:21 +0000 URL: https://git.openjdk.org/loom/commit/d59c12fe1041a1f61f68408241a9aa4d96ac4fd2 8329718: Incorrect `@since` tags in elements in jdk.compiler and java.compiler Reviewed-by: darcy, jjg ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/SwitchExpressionTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/tree/YieldTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java ! src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Changeset: c4557a7b Author: Aggelos Biboudis Date: 2024-05-22 19:48:23 +0000 URL: https://git.openjdk.org/loom/commit/c4557a7b0db5b55585b4caa7cdec81e1c1093cbc 8332463: Byte conditional pattern case element dominates short constant case element Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.java ! test/langtools/tools/javac/patterns/PrimitivePatternsSwitchErrors.out + test/langtools/tools/javac/patterns/T8332463a.java + test/langtools/tools/javac/patterns/T8332463b.java Changeset: 3d4185a9 Author: Mikhailo Seledtsov Date: 2024-05-22 20:05:33 +0000 URL: https://git.openjdk.org/loom/commit/3d4185a9ce482cc655a4c67f39cb2682b02ae4fe 8332739: Problemlist compiler/codecache/CheckLargePages until JDK-8332654 is fixed Reviewed-by: kvn, dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 98f6a808 Author: Jaikiran Pai Date: 2024-05-23 01:03:19 +0000 URL: https://git.openjdk.org/loom/commit/98f6a80852383dcbdad7292b7d269a8547d54d45 8332490: JMH org.openjdk.bench.java.util.zip.InflaterInputStreams.inflaterInputStreamRead OOM Reviewed-by: aturbanov, redestad ! test/micro/org/openjdk/bench/java/util/zip/InflaterInputStreams.java Changeset: 9d332e65 Author: Prasanta Sadhukhan Date: 2024-05-23 04:23:04 +0000 URL: https://git.openjdk.org/loom/commit/9d332e6591334a71335da65a4dd7b2ed0482b6cb 8307193: Several Swing jtreg tests use class.forName on L&F classes Reviewed-by: abhiscxk, prr + test/jdk/javax/swing/JMenuBar/RightLeftOrientation.java + test/jdk/javax/swing/JToolBar/RightLeftOrientation.java Changeset: 6829d9ac Author: Sonia Zaldana Calles Committer: Thomas Stuefe Date: 2024-05-23 05:53:09 +0000 URL: https://git.openjdk.org/loom/commit/6829d9ac67fb131462d3ef1c4bdfaa07df5d6be6 8332122: [nmt] Totals for malloc should show total peak Reviewed-by: stuefe, jsjolen ! src/hotspot/share/nmt/mallocTracker.hpp ! src/hotspot/share/nmt/memReporter.cpp + test/hotspot/jtreg/runtime/NMT/PeakMallocTest.java Changeset: 2a11e0da Author: Dan Heidinga Committer: Thomas Stuefe Date: 2024-05-23 05:55:16 +0000 URL: https://git.openjdk.org/loom/commit/2a11e0da026066191e4d4f30b9daca986c484630 8332743: Update comment related to JDK-8320522 Reviewed-by: coleenp ! src/hotspot/share/interpreter/interpreterRuntime.cpp Changeset: c2180d14 Author: Sergey Chernyshev Committer: Jaikiran Pai Date: 2024-05-23 06:12:45 +0000 URL: https://git.openjdk.org/loom/commit/c2180d141ccca0e396ee9a0cd3044c4428b963d5 8315767: InetAddress: constructing objects from BSD literal addresses Reviewed-by: dfuchs, aefimov, michaelm, jpai ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! test/jdk/java/net/InetAddress/OfLiteralTest.java Changeset: 1e5a2780 Author: Albert Mingkun Yang Date: 2024-05-23 07:00:10 +0000 URL: https://git.openjdk.org/loom/commit/1e5a2780d9cc8e73ce65bdccb98c1808aadd0784 8332676: Remove unused BarrierSetAssembler::incr_allocated_bytes Reviewed-by: tschatzl, kbarrett ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp ! src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp ! src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: 94af3c23 Author: Albert Mingkun Yang Date: 2024-05-23 07:13:57 +0000 URL: https://git.openjdk.org/loom/commit/94af3c23ea09ef2869cdc666d8170a655a0b3602 8329203: Parallel: Investigate Mark-Compact for Full GC to decrease memory usage Reviewed-by: rkennke, gli ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp Changeset: 1ea76d33 Author: Matthias Baesken Date: 2024-05-23 07:28:28 +0000 URL: https://git.openjdk.org/loom/commit/1ea76d338b99900089277b7a2da82c24382a6ce1 8332675: test/hotspot/jtreg/gc/testlibrary/Helpers.java compileClass javadoc does not match after 8321812 Reviewed-by: mdoerr, ayang ! test/hotspot/jtreg/gc/testlibrary/Helpers.java Changeset: 612ae928 Author: Doug Simon Date: 2024-05-23 08:11:22 +0000 URL: https://git.openjdk.org/loom/commit/612ae9289a130b8701f74253fe5499358a2e2b5b 8332735: [JVMCI] Add extra JVMCI events for exception translation Reviewed-by: never ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: 4e6d851f Author: Jan Lahoda Date: 2024-05-23 09:43:29 +0000 URL: https://git.openjdk.org/loom/commit/4e6d851f3f061b4a9c2b5d2e3fba6a0277ac1f34 8325324: Implement JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) Reviewed-by: asotona, vromero, mcimadamore ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java + test/langtools/tools/javac/ImplicitClass/ImplicitImports.java ! test/langtools/tools/javac/processing/model/TestSymtabItems.java Changeset: b890336e Author: Serguei Spitsyn Date: 2024-05-23 12:07:17 +0000 URL: https://git.openjdk.org/loom/commit/b890336e111ea8473ae49e9992bc2fd61e716792 8328083: degrade virtual thread support for GetObjectMonitorUsage Reviewed-by: cjplummer, alanb ! src/hotspot/share/prims/jvmti.xml ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/threads.cpp ! src/hotspot/share/runtime/threads.hpp ! src/java.se/share/data/jdwp/jdwp.spec ! src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java ! test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/entryCount/entrycount002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/owningThread/owningthread002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/waitingThreads/waitingthreads002.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectMonitorUsage/objmonusage001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectMonitorUsage/objmonusage004.java Changeset: 2581935b Author: Claes Redestad Date: 2024-05-23 12:26:19 +0000 URL: https://git.openjdk.org/loom/commit/2581935b47afaf661a94c8a8e50ce08065d632f6 8332528: Generate code in SwitchBootstraps.generateTypeSwitch that require fewer adaptations Reviewed-by: liach, jlahoda ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java ! src/java.base/share/classes/java/lang/runtime/SwitchBootstraps.java ! src/java.base/share/classes/jdk/internal/constant/ReferenceClassDescImpl.java + test/micro/org/openjdk/bench/java/lang/runtime/SwitchSanity.java Changeset: e19a421c Author: Matthias Baesken Date: 2024-05-23 13:22:30 +0000 URL: https://git.openjdk.org/loom/commit/e19a421c30534566ba0dea0fa84f812ebeecfc87 8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array' Reviewed-by: stefank, mdoerr ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 90758f67 Author: Magnus Ihse Bursie Date: 2024-05-23 14:36:23 +0000 URL: https://git.openjdk.org/loom/commit/90758f6735620776fcb60da9e0e2c91a4f53aaf1 8332808: Always set java.io.tmpdir to a suitable value in the build Reviewed-by: erikj ! make/InitSupport.gmk ! make/autoconf/spec.gmk.template ! make/common/JavaCompilation.gmk Changeset: 303ac9f2 Author: Thomas Stuefe Date: 2024-05-23 15:54:11 +0000 URL: https://git.openjdk.org/loom/commit/303ac9f270f567d821d156f3a9d4f4c070f43f95 8332671: Logging for pretouching thread stacks shows wrong memory range Reviewed-by: shade ! src/hotspot/share/runtime/javaThread.cpp Changeset: 417d174a Author: Nizar Benalla Committer: Magnus Ihse Bursie Date: 2024-05-23 16:04:40 +0000 URL: https://git.openjdk.org/loom/commit/417d174aa1b7bd3b5755e5f2352d9bbe6ce6f183 8331348: Some incremental builds deposit files in the make directory Reviewed-by: ihse, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Changeset: 7fd9d6c7 Author: Ioi Lam Date: 2024-05-23 16:04:56 +0000 URL: https://git.openjdk.org/loom/commit/7fd9d6c760c66d3e2f4034cf1a6b1b583ff829a9 8332340: Add JavacBench as a test case for CDS Reviewed-by: ccheung, matsaave + test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBench.java + test/hotspot/jtreg/runtime/cds/appcds/applications/JavacBenchApp.java + test/lib/jdk/test/lib/StringArrayUtils.java + test/lib/jdk/test/lib/cds/CDSAppTester.java Changeset: c9a7b977 Author: Roland Westrelin Date: 2024-05-23 16:37:01 +0000 URL: https://git.openjdk.org/loom/commit/c9a7b9772d96d9a4825d9da2aacc277534282860 8332829: [BACKOUT] C2: crash in compiled code because of dependency on removed range check CastIIs Reviewed-by: thartmann ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp - test/hotspot/jtreg/compiler/rangechecks/TestArrayAccessAboveRCAfterRCCastIIEliminated.java Changeset: 0a9d1f8c Author: Per Minborg Date: 2024-05-23 18:13:23 +0000 URL: https://git.openjdk.org/loom/commit/0a9d1f8c89e946d99f01549515f6044e53992168 8332749: Broken link in MemorySegment.Scope.html Reviewed-by: iris ! src/java.base/share/classes/java/lang/foreign/MemorySegment.java Changeset: ddd73b45 Author: William Kemper Date: 2024-05-23 22:33:24 +0000 URL: https://git.openjdk.org/loom/commit/ddd73b458355bffeaa8e0e5017c27d6c6af2dc94 8332082: Shenandoah: Use consistent tests to determine when pre-write barrier is active Reviewed-by: kdnilsen, shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp Changeset: f8a3e4e4 Author: steveatgh Committer: Sandhya Viswanathan Date: 2024-05-23 22:54:24 +0000 URL: https://git.openjdk.org/loom/commit/f8a3e4e428f7d3e62177bdf148fe25e22d3ee2bf 8328998: Encoding support for Intel APX extended general-purpose registers Reviewed-by: kvn, sviswanathan, jbhateja ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/assembler_x86.inline.hpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 9b1d6d66 Author: Sergey Bylokhov Date: 2024-05-23 23:40:00 +0000 URL: https://git.openjdk.org/loom/commit/9b1d6d66b8297d53c6b96b9e2f9bd69af90ab8fb 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes Reviewed-by: phh, shade, egahlin ! test/jdk/jdk/jfr/event/oldobject/TestSanityDefault.java Changeset: 424eb60d Author: Alex Menkov Date: 2024-05-24 00:32:49 +0000 URL: https://git.openjdk.org/loom/commit/424eb60dedb332237b8ec97e9da6bd95442c0083 8331683: Clean up GetCarrierThread Reviewed-by: sspitsyn, cjplummer ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiEnvBase.hpp ! src/hotspot/share/prims/jvmtiExtensions.cpp Changeset: da3001da Author: Weijun Wang Date: 2024-05-24 01:16:43 +0000 URL: https://git.openjdk.org/loom/commit/da3001daf79bf943d6194d9fd60250d519b9680d 8331975: Enable case-insensitive check in ccache and keytab entry lookup Reviewed-by: mpowers, valeriep ! src/java.base/share/conf/security/java.security ! src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java + test/jdk/sun/security/krb5/auto/CaseSensitive.java ! test/jdk/sun/security/krb5/auto/KDC.java Changeset: af056c16 Author: Jan Lahoda Date: 2024-05-24 06:27:45 +0000 URL: https://git.openjdk.org/loom/commit/af056c1676dab3b0b35666a8259db60f9bbf824e 8332106: VerifyError when using switch pattern in this(...) or super(...) Reviewed-by: abimpoudis, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/langtools/tools/javac/patterns/UninitializedThisException.java Changeset: a71b4047 Author: Thomas Schatzl Date: 2024-05-24 07:12:12 +0000 URL: https://git.openjdk.org/loom/commit/a71b40478510db3c69696df608fd1b32f41c57f3 8331398: G1: G1HeapRegionPrinter reclamation events should print the original region type Reviewed-by: ayang, iwalulya, gli ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp - src/hotspot/share/gc/g1/g1HeapRegionPrinter.cpp ! src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: 9b61a760 Author: Gui Cao Committer: Fei Yang Date: 2024-05-24 07:12:22 +0000 URL: https://git.openjdk.org/loom/commit/9b61a7608efff13fc3685488f3f54a810ec0ac22 8332615: RISC-V: Support vector unsigned comparison instructions for machines with RVV Reviewed-by: fyang ! src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/matcher_riscv.hpp Changeset: 239c1b33 Author: Albert Mingkun Yang Date: 2024-05-24 07:29:22 +0000 URL: https://git.openjdk.org/loom/commit/239c1b33b47de43369673f33d9449e1904477ce0 8332807: Parallel: Make some APIs in ParMarkBitMap private Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp Changeset: 5a2ba952 Author: Cesar Soares Lucas Committer: Coleen Phillimore Date: 2024-05-24 11:55:46 +0000 URL: https://git.openjdk.org/loom/commit/5a2ba952b120394d7cc0d0890619780c1c27a078 8325841: Remove unused references to vmSymbols.hpp Reviewed-by: kvn, coleenp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/opto/macro.cpp Changeset: f16265d6 Author: Christian Stein Date: 2024-05-24 12:24:15 +0000 URL: https://git.openjdk.org/loom/commit/f16265d69b09640b972b7494ad57158dbdc426bb 8332226: "Invalid package name:" from source launcher Reviewed-by: alanb ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/ProgramDescriptor.java ! test/langtools/tools/javac/launcher/ModuleSourceLauncherTests.java Changeset: 6a353114 Author: Daniel Fuchs Date: 2024-05-24 12:42:16 +0000 URL: https://git.openjdk.org/loom/commit/6a35311468222f9335b43d548df2ecb80746b389 8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use" Reviewed-by: jpai, mullan ! test/jdk/sun/security/ssl/SSLSocketImpl/ReuseAddr.java Changeset: c099f14f Author: Pavel Rappo Date: 2024-05-24 13:37:14 +0000 URL: https://git.openjdk.org/loom/commit/c099f14f07260713229cffbe7d23aa8305415a67 8305457: Implement java.io.IO Reviewed-by: naoto, smarks, jpai, jlahoda ! src/java.base/share/classes/java/io/Console.java + src/java.base/share/classes/java/io/IO.java ! src/java.base/share/classes/java/io/ProxyingConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsole.java ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/JdkConsoleProviderImpl.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java + test/jdk/java/io/IO/IO.java + test/jdk/java/io/IO/Input.java + test/jdk/java/io/IO/Methods.java + test/jdk/java/io/IO/Output.java + test/jdk/java/io/IO/input.exp + test/jdk/java/io/IO/output.exp ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/ImplicitClass.java Changeset: 0c934ff4 Author: Damon Fenacci Date: 2024-05-24 13:39:17 +0000 URL: https://git.openjdk.org/loom/commit/0c934ff4e2fb53a72ad25a080d956745a5649f9b 8325520: Vector loads and stores with indices and masks incorrectly compiled Reviewed-by: epeter, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/vectornode.hpp ! test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java + test/hotspot/jtreg/compiler/vectorapi/VectorGatherMaskFoldingTest.java Changeset: cfdc64fc Author: Adam Sotona Date: 2024-05-24 15:58:34 +0000 URL: https://git.openjdk.org/loom/commit/cfdc64fcb43e3b261dddc6cc6947235a9e76154e 8331291: java.lang.classfile.Attributes class performs a lot of static initializations Reviewed-by: liach, redestad, vromero ! src/java.base/share/classes/java/lang/classfile/Attributes.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/Util.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java ! src/jdk.jartool/share/classes/sun/tools/jar/FingerPrint.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/SourceWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/StackMapWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Dependencies.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/jdk/java/lang/StackWalker/TestBCI.java ! test/jdk/java/lang/invoke/lambda/LambdaAsm.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java ! test/jdk/jdk/classfile/AnnotationModelTest.java + test/jdk/jdk/classfile/AttributesTest.java ! test/jdk/jdk/classfile/BoundAttributeTest.java ! test/jdk/jdk/classfile/CorpusTest.java ! test/jdk/jdk/classfile/FilterDeadLabelsTest.java ! test/jdk/jdk/classfile/LimitsTest.java ! test/jdk/jdk/classfile/LowJCovAttributeTest.java ! test/jdk/jdk/classfile/LvtTest.java ! test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java ! test/jdk/jdk/classfile/ModuleBuilderTest.java ! test/jdk/jdk/classfile/SignaturesTest.java ! test/jdk/jdk/classfile/TestRecordComponent.java ! test/jdk/jdk/classfile/examples/AnnotationsExamples.java ! test/jdk/jdk/classfile/examples/ModuleExamples.java ! test/jdk/jdk/classfile/helpers/ClassRecord.java ! test/jdk/jdk/classfile/helpers/RebuildingTransformation.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CallerSensitiveFinder.java ! test/jdk/jdk/internal/reflect/CallerSensitive/CheckCSMs.java ! test/jdk/tools/jlink/plugins/StripJavaDebugAttributesPluginTest.java ! test/langtools/tools/javac/4241573/T4241573.java ! test/langtools/tools/javac/7003595/T7003595.java ! test/langtools/tools/javac/8009170/RedundantByteCodeInArrayTest.java ! test/langtools/tools/javac/AnonymousClass/AnonymousClassFlags.java ! test/langtools/tools/javac/MethodParameters/ClassFileVisitor.java ! test/langtools/tools/javac/MethodParameters/LegacyOutputTest/LegacyOutputTest.java ! test/langtools/tools/javac/MethodParametersTest.java ! test/langtools/tools/javac/RequiredParameterFlags/ImplicitParameters.java ! test/langtools/tools/javac/StringConcat/TestIndyStringConcat.java ! test/langtools/tools/javac/StringConcat/WellKnownTypeSignatures.java ! test/langtools/tools/javac/StringConcat/access/Test.java ! test/langtools/tools/javac/T6695379/AnnotationsAreNotCopiedToBridgeMethodsTest.java ! test/langtools/tools/javac/T6970173/DebugPointerAtBadPositionTest.java ! test/langtools/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java ! test/langtools/tools/javac/T7053059/DoubleCastTest.java ! test/langtools/tools/javac/T7093325.java ! test/langtools/tools/javac/T7165659/InnerClassAttrMustNotHaveStrictFPFlagTest.java ! test/langtools/tools/javac/T8019486/WrongLNTForLambdaTest.java ! test/langtools/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java ! test/langtools/tools/javac/T8024039/NoDeadCodeGenerationOnTrySmtTest.java ! test/langtools/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java ! test/langtools/tools/javac/T8180141/MissingLNTEntryForBreakContinueTest.java ! test/langtools/tools/javac/T8180660/MissingLNTEntryForFinalizerTest.java ! test/langtools/tools/javac/T8210435/NoLocalsMustBeReservedForDCEedVarsTest.java ! test/langtools/tools/javac/T8222949/TestConstantDynamic.java ! test/langtools/tools/javac/TryWithResources/TwrSimpleClose.java ! test/langtools/tools/javac/annotations/ApplicableAnnotationsOnRecords.java ! test/langtools/tools/javac/annotations/typeAnnotations/TypeAnnotationsPositionsOnRecords.java ! test/langtools/tools/javac/annotations/typeAnnotations/VariablesDeclaredWithVarTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TestAnonInnerClasses.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TestNewCastArray.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/TypeAnnotationPropagationTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/langtools/tools/javac/cast/intersection/DuplicatedCheckcastTest.java ! test/langtools/tools/javac/classfiles/InnerClasses/SyntheticClasses.java ! test/langtools/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultTest.java ! test/langtools/tools/javac/classfiles/attributes/EnclosingMethod/EnclosingMethodTest.java ! test/langtools/tools/javac/classfiles/attributes/LineNumberTable/LineNumberTestBase.java ! test/langtools/tools/javac/classfiles/attributes/LineNumberTable/T8050993.java ! test/langtools/tools/javac/classfiles/attributes/LocalVariableTable/LocalVariableTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Module/ModuleTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Signature/Driver.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/NoSourceFileAttribute.java ! test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/SyntheticTestDriver.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeAnnotationsTestBase.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForLambdaTest.java ! test/langtools/tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsTestBase.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedPackageTest.java ! test/langtools/tools/javac/classfiles/attributes/deprecated/DeprecatedTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesHierarchyTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesIndexTest.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesTestBase.java ! test/langtools/tools/javac/classfiles/attributes/innerclasses/NoInnerClassesTest.java ! test/langtools/tools/javac/classwriter/IndyCorrectInvocationName.java ! test/langtools/tools/javac/code/CharImmediateValue.java ! test/langtools/tools/javac/defaultMethods/TestDefaultBody.java ! test/langtools/tools/javac/defaultMethods/super/TestDirectSuperInterfaceInvoke.java ! test/langtools/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java ! test/langtools/tools/javac/file/SymLinkTest.java ! test/langtools/tools/javac/flow/LVTHarness.java ! test/langtools/tools/javac/lambda/ByteCodeTest.java ! test/langtools/tools/javac/lambda/LocalVariableTable.java ! test/langtools/tools/javac/lambda/TestBootstrapMethodsCount.java ! test/langtools/tools/javac/lambda/TestInvokeDynamic.java ! test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecode.java ! test/langtools/tools/javac/lambda/bytecode/TestLambdaBytecodeTargetRelease14.java ! test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/linenumbers/ConditionalLineNumberTest.java ! test/langtools/tools/javac/linenumbers/FinallyLineNumberTest.java ! test/langtools/tools/javac/linenumbers/NestedLineNumberTest.java ! test/langtools/tools/javac/linenumbers/NullCheckLineNumberTest.java ! test/langtools/tools/javac/meth/TestCP.java ! test/langtools/tools/javac/modules/AnnotationsOnModules.java ! test/langtools/tools/javac/modules/JavaBaseTest.java ! test/langtools/tools/javac/modules/ModuleVersion.java ! test/langtools/tools/javac/modules/OpenModulesTest.java ! test/langtools/tools/javac/multicatch/7005371/T7005371.java ! test/langtools/tools/javac/multicatch/Pos05.java ! test/langtools/tools/javac/patterns/Annotations.java ! test/langtools/tools/javac/patterns/LocalVariableTable.java ! test/langtools/tools/javac/patterns/NestedPatternVariablesBytecode.java ! test/langtools/tools/javac/patterns/NoUnnecessaryCast.java ! test/langtools/tools/javac/platform/ModuleVersionTest.java ! test/langtools/tools/javac/processing/model/element/TestOrigin.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/records/recordComponent/RecordComponentTypeTest.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/javac/varargs/6199075/T6199075.java ! test/langtools/tools/javac/varargs/7042566/T7042566.java ! test/langtools/tools/javap/T6716452.java ! test/langtools/tools/javap/classfile/6888367/T6888367.java ! test/langtools/tools/javap/typeAnnotations/JSR175Annotations.java ! test/langtools/tools/javap/typeAnnotations/NewArray.java ! test/langtools/tools/javap/typeAnnotations/Presence.java ! test/langtools/tools/javap/typeAnnotations/PresenceInner.java ! test/langtools/tools/javap/typeAnnotations/TypeCasts.java ! test/langtools/tools/javap/typeAnnotations/Visibility.java ! test/langtools/tools/javap/typeAnnotations/Wildcards.java Changeset: 6d2aeb82 Author: Dan Heidinga Committer: Coleen Phillimore Date: 2024-05-24 16:03:12 +0000 URL: https://git.openjdk.org/loom/commit/6d2aeb82bc6f8b6894bf3777162be0efb2826397 8332745: Method::is_vanilla_constructor is never used Reviewed-by: coleenp, ayang ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlassFlags.hpp ! src/hotspot/share/oops/method.cpp Changeset: c2cca2ab Author: Calvin Cheung Date: 2024-05-24 16:07:36 +0000 URL: https://git.openjdk.org/loom/commit/c2cca2ab443ff87f689810b747985adfdbfbe54a 8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC Reviewed-by: dholmes, iklam ! test/jtreg-ext/requires/VMProps.java Changeset: cd3e4c03 Author: Alexey Ivanov Date: 2024-05-24 16:30:30 +0000 URL: https://git.openjdk.org/loom/commit/cd3e4c03661f770ebeefcd3637d56589243ac0a9 8326734: text-decoration applied to lost when mixed with or 8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for , , Reviewed-by: honkar, prr ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java ! src/java.desktop/share/classes/javax/swing/text/html/MuxingAttributeSet.java ! src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLStrikeOnly.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLTextDecoration.java + test/jdk/javax/swing/text/html/HTMLDocument/HTMLUnderlineOnly.java ! test/jdk/javax/swing/text/html/HTMLDocument/HTMLUnderlineStrike.java Changeset: f66a5866 Author: Leonid Mesnik Date: 2024-05-24 17:31:30 +0000 URL: https://git.openjdk.org/loom/commit/f66a58661459bf64212ec332540c12d5d691270f 8332641: Update nsk.share.jpda.Jdb to don't use finalization Reviewed-by: cjplummer, kevinw ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/Jdb.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java Changeset: b3b33667 Author: Leonid Mesnik Date: 2024-05-24 17:34:00 +0000 URL: https://git.openjdk.org/loom/commit/b3b33667ad3bdb7be868fb165a1ea53054947cd0 8332631: Update nsk.share.jpda.BindServer to don't use finalization Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java Changeset: 236432db Author: Naoto Sato Date: 2024-05-24 17:51:49 +0000 URL: https://git.openjdk.org/loom/commit/236432dbdb9bab4aece54c2fea08f055e5dbf97e 8332084: Ensure JdkConsoleImpl.restoreEcho visibility in a shutdown hook Reviewed-by: prappo, joehw, smarks ! src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java Changeset: ebc520e8 Author: William Kemper Date: 2024-05-24 18:10:31 +0000 URL: https://git.openjdk.org/loom/commit/ebc520e83f503eeb4e5af6d5aef62df9227af4f7 8332841: GenShen: Pull shared members from control thread into common base class Reviewed-by: ysr ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp + src/hotspot/share/gc/shenandoah/shenandoahController.cpp + src/hotspot/share/gc/shenandoah/shenandoahController.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 253508b0 Author: Kevin Walls Date: 2024-05-24 19:31:20 +0000 URL: https://git.openjdk.org/loom/commit/253508b03a3de4dab00ed7fb57e9f345d8aed1a4 8332303: Better JMX interoperability with older JDKs, after removing Subject Delegation Reviewed-by: dfuchs, cjplummer ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Changeset: 7bf1989f Author: Vicente Romero Date: 2024-05-24 20:43:23 +0000 URL: https://git.openjdk.org/loom/commit/7bf1989f59695c3d08b4bd116fb4c022cf9661f4 8320575: generic type information lost on mandated parameters of record's compact constructors Co-authored-by: Chen Liang Reviewed-by: jlahoda ! src/java.base/share/classes/java/lang/reflect/Executable.java + test/jdk/java/lang/reflect/records/R10.jcod ! test/jdk/java/lang/reflect/records/RecordReflectionTest.java Changeset: 05f13e75 Author: Alexander Zuev Date: 2024-05-25 00:35:56 +0000 URL: https://git.openjdk.org/loom/commit/05f13e75ee4407ba9213c69b33c6032aa87c9e95 8329667: [macos] Issue with JTree related fix for JDK-8317771 Reviewed-by: asemenov, abhiscxk, psadhukhan ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.m Changeset: 985b9ce7 Author: Lei Zaakjyu Committer: Kim Barrett Date: 2024-05-25 02:10:05 +0000 URL: https://git.openjdk.org/loom/commit/985b9ce79a2d620a8b8675d1ae6c9730d72a757f 8330694: Rename 'HeapRegion' to 'G1HeapRegion' Reviewed-by: cjplummer, kbarrett, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/share/cds/archiveHeapWriter.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.cpp ! src/hotspot/share/gc/g1/g1AllocRegion.hpp ! src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp ! src/hotspot/share/gc/g1/g1Allocator.cpp ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardTable.cpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1CodeRootSet.cpp ! src/hotspot/share/gc/g1/g1CodeRootSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1CollectionSet.hpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.cpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.inline.hpp ! src/hotspot/share/gc/g1/g1CollectionSetChooser.cpp ! src/hotspot/share/gc/g1/g1CollectionSetChooser.hpp ! 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/g1ConcurrentMarkBitMap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRebuildAndScrub.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThreadsNeeded.cpp ! src/hotspot/share/gc/g1/g1EdenRegions.hpp ! src/hotspot/share/gc/g1/g1EvacFailureRegions.inline.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullCollector.hpp ! src/hotspot/share/gc/g1/g1FullCollector.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp ! src/hotspot/share/gc/g1/g1FullGCHeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.cpp ! src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.hpp ! src/hotspot/share/gc/g1/g1FullGCScope.cpp ! 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/g1HeapRegionAttr.hpp ! src/hotspot/share/gc/g1/g1HeapRegionEventSender.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.cpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.hpp ! src/hotspot/share/gc/g1/g1HeapRegionManager.inline.hpp ! src/hotspot/share/gc/g1/g1HeapRegionPrinter.hpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionRemSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.cpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.hpp ! src/hotspot/share/gc/g1/g1HeapRegionSet.inline.hpp ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1HeapVerifier.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1NMethodClosure.cpp ! src/hotspot/share/gc/g1/g1NUMA.cpp ! src/hotspot/share/gc/g1/g1NUMA.hpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RegionsOnNodes.cpp ! src/hotspot/share/gc/g1/g1RegionsOnNodes.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.cpp ! src/hotspot/share/gc/g1/g1RemSetTrackingPolicy.hpp ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.cpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.hpp ! src/hotspot/share/gc/g1/g1UncommitRegionTask.cpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/g1/g1YoungGCAllocationFailureInjector.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp ! src/hotspot/share/gc/g1/g1YoungGenSizer.cpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1CollectedHeap.java = src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1HeapRegion.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1HeapRegionTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1MonitoringSupport.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionClosure.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionManager.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/PrintRegionClosure.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerFinder.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp ! test/hotspot/gtest/gc/g1/test_heapRegion.cpp ! test/hotspot/jtreg/gc/g1/TestHumongousAllocNearlyFullRegion.java ! test/hotspot/jtreg/gc/g1/numa/TestG1NUMATouchRegions.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/SharedStringsHumongous.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestObjectAlignment.java From duke at openjdk.org Mon May 27 13:07:07 2024 From: duke at openjdk.org (duke) Date: Mon, 27 May 2024 13:07:07 GMT Subject: git: openjdk/loom: fibers: 5 new changesets Message-ID: Changeset: 53854338 Author: Alan Bateman Date: 2024-05-26 07:52:31 +0000 URL: https://git.openjdk.org/loom/commit/53854338c74d4182da2914f46cb0b8f01d64291b Exclude compiler/codecache/CodeCacheFullCountTest.java when running with jtreg main wrapper ! test/hotspot/jtreg/ProblemList-Virtual.txt Changeset: f8d08c52 Author: Alan Bateman Date: 2024-05-26 09:55:35 +0000 URL: https://git.openjdk.org/loom/commit/f8d08c526226108574225d34f6f218cb9ffd6aa7 Add more tests for wait/notify ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java Changeset: a929835f Author: Alan Bateman Date: 2024-05-27 12:22:56 +0000 URL: https://git.openjdk.org/loom/commit/a929835f9214973e586dd75bbd35dc0f3f190ec4 Timed-wait improvements ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/java.base/share/classes/java/lang/Object.java ! src/java.base/share/classes/java/lang/VirtualThread.java ! test/hotspot/jtreg/serviceability/jvmti/vthread/GetThreadState/GetThreadStateTest.java ! test/jdk/java/lang/Thread/virtual/MonitorEnterExit.java ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java + test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWithTimedWait.java Changeset: 6cfa498d Author: Alan Bateman Date: 2024-05-27 13:00:27 +0000 URL: https://git.openjdk.org/loom/commit/6cfa498db4070fd401ae529f83a58aa6051a1923 Add tests for wait duration ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java Changeset: 0320e26a Author: Alan Bateman Date: 2024-05-27 14:04:45 +0000 URL: https://git.openjdk.org/loom/commit/0320e26a17cc56b20a21bb58f38eaea194859584 Unused import ! src/java.base/share/classes/java/lang/Object.java From duke at openjdk.org Mon May 27 18:41:50 2024 From: duke at openjdk.org (duke) Date: Mon, 27 May 2024 18:41:50 GMT Subject: git: openjdk/loom: fibers: 2 new changesets Message-ID: <0aee9482-4629-47bc-b85d-0c42efad0926@openjdk.org> Changeset: 1b4ddc54 Author: Alan Bateman Date: 2024-05-27 19:20:06 +0000 URL: https://git.openjdk.org/loom/commit/1b4ddc54b7b1f440ca077c56d1a3a4a7a5062765 Sync up ForkJoinPool from pull/19131 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: f61c2df9 Author: Alan Bateman Date: 2024-05-27 19:41:06 +0000 URL: https://git.openjdk.org/loom/commit/f61c2df95d927d9bda49b4dd803fd314fa12bc56 MonitorWaitNotify.testTimedWaitDuration2 failing ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java From imediava at gmail.com Tue May 28 10:03:10 2024 From: imediava at gmail.com (=?UTF-8?Q?I=C3=B1igo_Mediavilla?=) Date: Tue, 28 May 2024 12:03:10 +0200 Subject: JDK-8330846 - Status check In-Reply-To: References: Message-ID: On Tue, May 28, 2024 at 11:28?AM I?igo Mediavilla wrote: > Hello, > > I've been looking at possible tickets that I could work on under the loom > label in JBS, and I've run into : JDK-8330846 - Add stacks of mounted > virtual threads to the HotSpot thread dump > > Link: https://bugs.openjdk.org/browse/JDK-8330846 > > It seems to be assigned to you, Alex Menkov. Is it something that you're > working on or that you'd want to work on, or would you be OK if I took it ? > > Regards > > ??igo Mediavilla Saiz > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at oracle.com Tue May 28 10:54:26 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 28 May 2024 11:54:26 +0100 Subject: JDK-8330846 - Status check In-Reply-To: References: Message-ID: <00b4ea11-57ed-4a22-9123-b3fc56d712ce@oracle.com> I don't know if Alex Menkov is subscribed here, better to ask on serviceability-dev. -Alan On 28/05/2024 11:03, I?igo Mediavilla wrote: > > > On Tue, May 28, 2024 at 11:28?AM I?igo Mediavilla > wrote: > > Hello, > > I've been looking at possible tickets that I could work on under > the loom label in JBS, and I've run into : JDK-8330846 - Add > stacks of mounted virtual threads to the HotSpot thread dump > > Link: https://bugs.openjdk.org/browse/JDK-8330846 > > It seems to be assigned to you, Alex Menkov. Is it something that > you're working on or that you'd want to work on, or would you be > OK if I took it ? > > Regards > > ??igo Mediavilla Saiz > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cushon at google.com Tue May 28 22:43:21 2024 From: cushon at google.com (Liam Miller-Cushon) Date: Tue, 28 May 2024 15:43:21 -0700 Subject: Performance of pooling virtual threads vs. semaphores Message-ID: Hello, JEP 444 [1] and the docs in [2] mention that virtual threads should not be pooled, and suggest semaphores as one possible alternative. My colleague Chi Wang has been investigating virtual thread performance, and has found that creating one virtual thread per task and synchronizing on a semaphore can result in worse performance on machines with large numbers of cores. A benchmark run on a 128 core machine is included below. It submits numTasks tasks to the executor determined by the strategy. The task itself is mixed with CPU and I/O work (simulated by fibonacci and sleep). The parallelism is set to 600 for all strategies. * Strategy 1 is the baseline where it just submits all the tasks to a ForkJoinPool whose pool size is 600. * Strategy 2 uses the method suggested by JEP 444. * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression that seems to increase with the number of cores. This result can be reproduced on the real-world program that is being migrated to a virtual-thread-per-task model. Diffing the cpu profile between strategy 1 and strategy 2 showed that most of the CPU regression comes from method `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, long, int)`. Are there any ideas for why the semaphore strategy uses more CPU than pooling virtual threads on machines with a large number of cores? Thanks, Liam [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads [2] https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Semaphore; public class Main { private static Semaphore semaphore = null; public static void main(String[] args) { int strategy = 0; int parallelism = 600; int numTasks = 10000; if (args.length > 1) { strategy = Integer.parseInt(args[1]); } if (args.length > 2) { numTasks = Integer.parseInt(args[2]); } ExecutorService executor; switch (strategy) { case 1 -> { executor = new ForkJoinPool(parallelism); } case 2 -> { executor = Executors.newVirtualThreadPerTaskExecutor(); semaphore = new Semaphore(parallelism); } case 3 -> { executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); } default -> { throw new IllegalArgumentException(); } } try (executor) { for (var i = 0; i < numTasks; ++i) { executor.execute(Main::task); } } } private static void task() { if (semaphore != null) { try { semaphore.acquire(); } catch (InterruptedException e) { throw new IllegalStateException(); } } try { fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } fibonacci(20); } finally { if (semaphore != null) { semaphore.release(); } } } private static int fibonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } } # openjdk full version "23-ea+24-1995" # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: 493.7 ms] Range (min ? max): 613.1 ms ? 702.0 ms 10 runs Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: 501.5 ms] Range (min ? max): 451.0 ms ? 533.4 ms 10 runs Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: 335.8 ms] Range (min ? max): 435.6 ms ? 470.6 ms 10 runs Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: 1.188 s] Range (min ? max): 3.628 s ? 3.704 s 10 runs Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: 2.072 s] Range (min ? max): 3.563 s ? 3.687 s 10 runs Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: 1.211 s] Range (min ? max): 3.492 s ? 3.515 s 10 runs Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: 14.313 s] Range (min ? max): 34.015 s ? 34.120 s 10 runs Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: 17.501 s] Range (min ? max): 34.267 s ? 34.479 s 10 runs Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: 10.258 s] Range (min ? max): 34.124 s ? 37.420 s 10 runs Summary ./jdk-23/bin/java Main -- 3 10000 ran 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Tue May 28 23:12:52 2024 From: rengels at ix.netcom.com (robert engels) Date: Tue, 28 May 2024 18:12:52 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: I don?t think this code is written correctly. With the implementation of option #2 - the system is going to create a virtual thread for every task up front, then try and schedule them on to the 128 carrier threads, then once a task runs, it is going to try and limit concurrency using a semaphore. I think this is inverted, and you should have the Executor use the semaphore to limit the concurrent virtual thread creation in order to have similar performance. The way it is written now, the virtual thread scheduler has to manage 1 million ?virtual? threads - versus in the native thread impl the system is only managing 600. The reason the CPU usage is much higher is because you have the semaphore code only enabled for option 2. You should be able to create and use the semaphore in all impl to compare similar performance, PLUS the scheduler having to manage scheduling 1M threads. > On May 28, 2024, at 5:43 PM, Liam Miller-Cushon wrote: > > Hello, > > JEP 444 [1] and the docs in [2] mention that virtual threads should not be pooled, and suggest semaphores as one possible alternative. > > My colleague Chi Wang has been investigating virtual thread performance, and has found that creating one virtual thread per task and synchronizing on a semaphore can result in worse performance on machines with large numbers of cores. > > A benchmark run on a 128 core machine is included below. It submits numTasks tasks to the executor determined by the strategy. The task itself is mixed with CPU and I/O work (simulated by fibonacci and sleep). The parallelism is set to 600 for all strategies. > > * Strategy 1 is the baseline where it just submits all the tasks to a ForkJoinPool whose pool size is 600. > * Strategy 2 uses the method suggested by JEP 444. > * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. > > Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression that seems to increase with the number of cores. This result can be reproduced on the real-world program that is being migrated to a virtual-thread-per-task model. > > Diffing the cpu profile between strategy 1 and strategy 2 showed that most of the CPU regression comes from method `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, long, int)`. > > Are there any ideas for why the semaphore strategy uses more CPU than pooling virtual threads on machines with a large number of cores? > > Thanks, > Liam > > [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads > [2] https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 > > import java.util.concurrent.ExecutorService; > import java.util.concurrent.Executors; > import java.util.concurrent.ForkJoinPool; > import java.util.concurrent.Semaphore; > > public class Main { > > private static Semaphore semaphore = null; > > public static void main(String[] args) { > int strategy = 0; > int parallelism = 600; > int numTasks = 10000; > > if (args.length > 1) { > strategy = Integer.parseInt(args[1]); > } > > if (args.length > 2) { > numTasks = Integer.parseInt(args[2]); > } > > ExecutorService executor; > switch (strategy) { > case 1 -> { > executor = new ForkJoinPool(parallelism); > } > case 2 -> { > executor = Executors.newVirtualThreadPerTaskExecutor(); > semaphore = new Semaphore(parallelism); > } > case 3 -> { > executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); > } > default -> { > throw new IllegalArgumentException(); > } > } > > try (executor) { > for (var i = 0; i < numTasks; ++i) { > executor.execute(Main::task); > } > } > } > > private static void task() { > if (semaphore != null) { > try { > semaphore.acquire(); > } catch (InterruptedException e) { > throw new IllegalStateException(); > } > } > > try { > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > } finally { > if (semaphore != null) { > semaphore.release(); > } > } > } > > private static int fibonacci(int n) { > if (n == 0) { > return 0; > } else if (n == 1) { > return 1; > } else { > return fibonacci(n - 1) + fibonacci(n - 2); > } > } > } > > # openjdk full version "23-ea+24-1995" > # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled > > $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' > > Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 > Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: 493.7 ms] > Range (min ? max): 613.1 ms ? 702.0 ms 10 runs > > Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 > Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: 501.5 ms] > Range (min ? max): 451.0 ms ? 533.4 ms 10 runs > > Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 > Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: 335.8 ms] > Range (min ? max): 435.6 ms ? 470.6 ms 10 runs > > Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 > Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: 1.188 s] > Range (min ? max): 3.628 s ? 3.704 s 10 runs > > Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 > Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: 2.072 s] > Range (min ? max): 3.563 s ? 3.687 s 10 runs > > Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 > Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: 1.211 s] > Range (min ? max): 3.492 s ? 3.515 s 10 runs > > Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 > Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: 14.313 s] > Range (min ? max): 34.015 s ? 34.120 s 10 runs > > Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 > Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: 17.501 s] > Range (min ? max): 34.267 s ? 34.479 s 10 runs > > Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 > Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: 10.258 s] > Range (min ? max): 34.124 s ? 37.420 s 10 runs > > Summary > ./jdk-23/bin/java Main -- 3 10000 ran > 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 > 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 > 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 > 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 > 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 > 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 > 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 > 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Tue May 28 23:15:00 2024 From: rengels at ix.netcom.com (robert engels) Date: Tue, 28 May 2024 18:15:00 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: <686B2762-1666-4052-8295-B1092BD192A7@ix.netcom.com> To clarify, with option #2, you have potentially a million thread contention on the semaphore. > On May 28, 2024, at 6:12 PM, robert engels wrote: > > I don?t think this code is written correctly. With the implementation of option #2 - the system is going to create a virtual thread for every task up front, then try and schedule them on to the 128 carrier threads, then once a task runs, it is going to try and limit concurrency using a semaphore. > > I think this is inverted, and you should have the Executor use the semaphore to limit the concurrent virtual thread creation in order to have similar performance. > > The way it is written now, the virtual thread scheduler has to manage 1 million ?virtual? threads - versus in the native thread impl the system is only managing 600. > > The reason the CPU usage is much higher is because you have the semaphore code only enabled for option 2. You should be able to create and use the semaphore in all impl to compare similar performance, PLUS the scheduler having to manage scheduling 1M threads. > > > >> On May 28, 2024, at 5:43 PM, Liam Miller-Cushon > wrote: >> >> Hello, >> >> JEP 444 [1] and the docs in [2] mention that virtual threads should not be pooled, and suggest semaphores as one possible alternative. >> >> My colleague Chi Wang has been investigating virtual thread performance, and has found that creating one virtual thread per task and synchronizing on a semaphore can result in worse performance on machines with large numbers of cores. >> >> A benchmark run on a 128 core machine is included below. It submits numTasks tasks to the executor determined by the strategy. The task itself is mixed with CPU and I/O work (simulated by fibonacci and sleep). The parallelism is set to 600 for all strategies. >> >> * Strategy 1 is the baseline where it just submits all the tasks to a ForkJoinPool whose pool size is 600. >> * Strategy 2 uses the method suggested by JEP 444. >> * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. >> >> Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression that seems to increase with the number of cores. This result can be reproduced on the real-world program that is being migrated to a virtual-thread-per-task model. >> >> Diffing the cpu profile between strategy 1 and strategy 2 showed that most of the CPU regression comes from method `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, long, int)`. >> >> Are there any ideas for why the semaphore strategy uses more CPU than pooling virtual threads on machines with a large number of cores? >> >> Thanks, >> Liam >> >> [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads >> [2] https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 >> >> import java.util.concurrent.ExecutorService; >> import java.util.concurrent.Executors; >> import java.util.concurrent.ForkJoinPool; >> import java.util.concurrent.Semaphore; >> >> public class Main { >> >> private static Semaphore semaphore = null; >> >> public static void main(String[] args) { >> int strategy = 0; >> int parallelism = 600; >> int numTasks = 10000; >> >> if (args.length > 1) { >> strategy = Integer.parseInt(args[1]); >> } >> >> if (args.length > 2) { >> numTasks = Integer.parseInt(args[2]); >> } >> >> ExecutorService executor; >> switch (strategy) { >> case 1 -> { >> executor = new ForkJoinPool(parallelism); >> } >> case 2 -> { >> executor = Executors.newVirtualThreadPerTaskExecutor(); >> semaphore = new Semaphore(parallelism); >> } >> case 3 -> { >> executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); >> } >> default -> { >> throw new IllegalArgumentException(); >> } >> } >> >> try (executor) { >> for (var i = 0; i < numTasks; ++i) { >> executor.execute(Main::task); >> } >> } >> } >> >> private static void task() { >> if (semaphore != null) { >> try { >> semaphore.acquire(); >> } catch (InterruptedException e) { >> throw new IllegalStateException(); >> } >> } >> >> try { >> fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> fibonacci(20); >> } finally { >> if (semaphore != null) { >> semaphore.release(); >> } >> } >> } >> >> private static int fibonacci(int n) { >> if (n == 0) { >> return 0; >> } else if (n == 1) { >> return 1; >> } else { >> return fibonacci(n - 1) + fibonacci(n - 2); >> } >> } >> } >> >> # openjdk full version "23-ea+24-1995" >> # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled >> >> $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' >> >> Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 >> Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: 493.7 ms] >> Range (min ? max): 613.1 ms ? 702.0 ms 10 runs >> >> Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 >> Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: 501.5 ms] >> Range (min ? max): 451.0 ms ? 533.4 ms 10 runs >> >> Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 >> Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: 335.8 ms] >> Range (min ? max): 435.6 ms ? 470.6 ms 10 runs >> >> Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 >> Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: 1.188 s] >> Range (min ? max): 3.628 s ? 3.704 s 10 runs >> >> Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 >> Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: 2.072 s] >> Range (min ? max): 3.563 s ? 3.687 s 10 runs >> >> Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 >> Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: 1.211 s] >> Range (min ? max): 3.492 s ? 3.515 s 10 runs >> >> Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 >> Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: 14.313 s] >> Range (min ? max): 34.015 s ? 34.120 s 10 runs >> >> Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 >> Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: 17.501 s] >> Range (min ? max): 34.267 s ? 34.479 s 10 runs >> >> Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 >> Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: 10.258 s] >> Range (min ? max): 34.124 s ? 37.420 s 10 runs >> >> Summary >> ./jdk-23/bin/java Main -- 3 10000 ran >> 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 >> 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 >> 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 >> 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 >> 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 >> 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 >> 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 >> 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From werner.randelshofer at fibermail.ch Wed May 29 05:39:52 2024 From: werner.randelshofer at fibermail.ch (Werner Randelshofer) Date: Wed, 29 May 2024 07:39:52 +0200 Subject: Question about StructuredTaskScope.joinUntil(Instant) Message-ID: <439D398A-5972-49CE-8C06-1E6E05D92E60@fibermail.ch> Hello everyone, I have a question about StructuredTaskScope.joinUntil(Instant). I am implementing a solver algorithm that has an execution time limit. The solver spawns sub-tasks and gathers all results that have been computed within the time limit. I made a proof-of-concept that uses StructuredTaskScope.joinUntil(Instant) to define the deadline as Instant.now().plus(30, ChronoUnit.SECONDS); Now, I am concerned that the System clock changes unpredictably due to NTP, while the solver runs. So that, as the solver spawns new sub-tasks, the deadline will not stay constant. I noticed that the code in StructuredTaskScope.joinUntil(Instant) calls Instant.now() to compute a timeout for the deadline. I tried to create a subclass that uses a Clock instance of my own that is based on an internal time source (System.nanoTime), but I could not do this, because method StructuredTaskScope.implJoin(Duration timeout) is private. So my question is: Is there a way to use the StructuredTaskScope deadline feature so that it does only rely on resources provided by the current process - instead of relying on System time over which the current process has no control? With best regards, Werner Randelshofer From yuval.l at securithings.com Wed May 29 07:25:05 2024 From: yuval.l at securithings.com (Yuval Lombard) Date: Wed, 29 May 2024 10:25:05 +0300 Subject: EA builds with changes to object monitor implementation to avoid pinning with virtual threads In-Reply-To: References: <3730ab5a-140a-4376-adc2-d636ccaaf0bf@oracle.com> Message-ID: Hey team, hope you are all well Following up on this one, I noticed that changes to the Object.wait issue were committed few days ago, and wanted to ask how far are you from issuing a new EA build? On Wed, 24 Apr 2024 at 17:43, Alan Bateman wrote: > On 24/04/2024 12:02, Yuval Lombard wrote: > > Thanks Alan! > > > > Are you able to estimate the due date? > > > No, but we'll refresh the EA build once the changes are in the loom repo > and we are happy with the stability. > > -Alan > -- Kind regards, *Yuval Lombard* *Lead Software Engineer* +972.50.548.0111 yuval.l at securithings.com [image: logo_black.png] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: logo_black.png Type: image/png Size: 99833 bytes Desc: not available URL: From Alan.Bateman at oracle.com Wed May 29 07:33:18 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 29 May 2024 08:33:18 +0100 Subject: EA builds with changes to object monitor implementation to avoid pinning with virtual threads In-Reply-To: References: <3730ab5a-140a-4376-adc2-d636ccaaf0bf@oracle.com> Message-ID: <5eb0e784-1677-40de-a502-96dd5eb51e4a@oracle.com> On 29/05/2024 08:25, Yuval Lombard wrote: > Hey team, > hope you are all well > > Following up on this one, I noticed that changes to the Object.wait > issue were committed?few days ago, and wanted to ask how far are you > from issuing?a new EA build? > We'll refresh the EA builds soon, just want to make sure the changes are stable before doing that. -Alan From duke at openjdk.org Wed May 29 14:14:50 2024 From: duke at openjdk.org (duke) Date: Wed, 29 May 2024 14:14:50 GMT Subject: git: openjdk/loom: fibers: 49 new changesets Message-ID: Changeset: afd5d869 Author: Alan Bateman Date: 2024-05-29 11:46:48 +0000 URL: https://git.openjdk.org/loom/commit/afd5d86941e507d3d1514f1f1ed0aab3ab45d702 Ensure timeout task doesn't cause spurious wakeup ! src/java.base/share/classes/java/lang/VirtualThread.java Changeset: 837415a4 Author: Alan Bateman Date: 2024-05-29 11:50:55 +0000 URL: https://git.openjdk.org/loom/commit/837415a477d0556bbadf1a5d77bc26077c62c836 Tests fail on 1-cpu ! test/jdk/java/lang/Thread/virtual/JfrEvents.java ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java ! test/jdk/java/lang/Thread/virtual/ThreadAPI.java ! test/jdk/java/lang/Thread/virtual/VirtualThreadPinnedEventThrows.java ! test/jdk/java/lang/Thread/virtual/stress/GetStackTraceALotWhenBlocked.java Changeset: 6183f889 Author: Alan Bateman Date: 2024-05-29 13:09:24 +0000 URL: https://git.openjdk.org/loom/commit/6183f88928a3c3ccad133949743c7da3d53f13df Stress test to expires wait timeout at the same time as notify and/or interrupt + test/jdk/java/lang/Thread/virtual/stress/RaceWaitTimeout.java Changeset: 97ee2ffb Author: Phil Race Date: 2024-05-25 23:17:57 +0000 URL: https://git.openjdk.org/loom/commit/97ee2ffb89257a37a178b70c8fee96a1d831deb6 8332416: Add more font selection options to Font2DTest Reviewed-by: tr, honkar ! src/demo/share/jfc/Font2DTest/Font2DTest.java ! src/demo/share/jfc/Font2DTest/FontPanel.java Changeset: 08d51003 Author: Daniel Jeli?ski Date: 2024-05-27 05:23:26 +0000 URL: https://git.openjdk.org/loom/commit/08d51003d142e89b9d2f66187a4ea50e12b94fbb 8332724: x86 MacroAssembler may over-align code Reviewed-by: dlong, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: 4e8deb39 Author: SendaoYan Committer: Daniel Jeli?ski Date: 2024-05-27 06:32:21 +0000 URL: https://git.openjdk.org/loom/commit/4e8deb396e38c69de22b6348dca637d814d73aef 8332922: Test java/io/IO/IO.java fails when /usr/bin/expect not exist Reviewed-by: djelinski ! test/jdk/java/io/IO/IO.java Changeset: 16dba04e Author: Matthias Baesken Date: 2024-05-27 06:35:39 +0000 URL: https://git.openjdk.org/loom/commit/16dba04e8dfa871f8056480a42a9baeb24a2fb24 8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null Reviewed-by: rriggs, mdoerr ! src/java.base/unix/native/libjava/ProcessImpl_md.c Changeset: a0833645 Author: Thomas Schatzl Date: 2024-05-27 07:11:18 +0000 URL: https://git.openjdk.org/loom/commit/a083364520ab75cb5596f103b2fa51d7f7a8a706 8321292: SerialGC: NewSize vs InitialHeapSize check has an off-by-one error Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: 61db2f5b Author: Thomas Schatzl Date: 2024-05-27 07:11:39 +0000 URL: https://git.openjdk.org/loom/commit/61db2f5b90cd40ce104cb55bf9fd52d6e141161d 8079167: Fix documentation for G1SATBBufferEnqueueingThresholdPercent == 0 Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: a3a367ef Author: Albert Mingkun Yang Date: 2024-05-27 08:06:24 +0000 URL: https://git.openjdk.org/loom/commit/a3a367ef5d6c462ebca40104d05c11219e84a64f 8332871: Parallel: Remove public bits APIs in ParMarkBitMap Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: ffa4badb Author: Roberto Casta?eda Lozano Date: 2024-05-27 08:42:40 +0000 URL: https://git.openjdk.org/loom/commit/ffa4badb78118d154e47e41073e467c0e0e4273c 8332527: ZGC: generalize object cloning logic Reviewed-by: aboldtch, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 617edf3f Author: Evemose Committer: Jan Lahoda Date: 2024-05-27 08:54:20 +0000 URL: https://git.openjdk.org/loom/commit/617edf3f0dea2b73e4b444e085de2ad282826e31 8332497: javac prints an AssertionError when annotation processing runs on program with module imports Reviewed-by: liach, vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java + test/langtools/tools/javac/processing/ModuleImportProcessingTest.java Changeset: 7f0ad513 Author: Ludvig Janiuk Date: 2024-05-27 09:35:52 +0000 URL: https://git.openjdk.org/loom/commit/7f0ad513c30359816ac840f821ca0a22d723a642 8332898: failure_handler: log directory of commands Reviewed-by: lmesnik ! test/failure_handler/src/share/classes/jdk/test/failurehandler/action/ActionHelper.java Changeset: 08891553 Author: Ludvig Janiuk Date: 2024-05-27 09:43:31 +0000 URL: https://git.openjdk.org/loom/commit/08891553bbd3d71337d8a94c75051db74e15903f 8332885: Clarify failure_handler self-tests Reviewed-by: lmesnik ! make/test/BuildFailureHandler.gmk ! test/failure_handler/README Changeset: 72fbfe18 Author: Thomas Schatzl Date: 2024-05-27 09:48:49 +0000 URL: https://git.openjdk.org/loom/commit/72fbfe18cb20274bab2057f3d67920e0c86c5793 8330577: G1 sometimes sends jdk.G1HeapRegionTypeChange for non-changes Co-authored-by: Andreas Steiner Reviewed-by: ayang, asteiner ! src/hotspot/share/gc/g1/g1HeapRegion.cpp + test/jdk/jdk/jfr/event/gc/detailed/TestG1InvalidHeapRegionTypeChangeEvent.java Changeset: 0e7ea390 Author: Albert Mingkun Yang Date: 2024-05-27 10:25:38 +0000 URL: https://git.openjdk.org/loom/commit/0e7ea390bb523888533265394a642071aba0c0c1 8332678: Serial: Remove use of should_clear_all_soft_refs in serial folder Reviewed-by: iwalulya ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 1b8dea4a Author: Matthias Baesken Date: 2024-05-27 10:27:41 +0000 URL: https://git.openjdk.org/loom/commit/1b8dea4a9288c1518dc501a58d806c7365ea68b3 8332894: ubsan: vmError.cpp:2090:26: runtime error: division by zero Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: f3d6fbf5 Author: Thomas Schatzl Date: 2024-05-27 11:20:10 +0000 URL: https://git.openjdk.org/loom/commit/f3d6fbf52eac44734695935f73c5cfc0fb9ba167 8330847: G1 accesses uninitialized memory when predicting eden copy time Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp ! src/hotspot/share/gc/g1/g1SurvRateGroup.hpp Changeset: 891d5aed Author: Ivan Walulya Date: 2024-05-27 11:21:31 +0000 URL: https://git.openjdk.org/loom/commit/891d5aedf12e837c9a9c7cb800fb3affa7430f00 8332683: G1: G1CardSetArray::EntryDataType [2] triggers ubsan runtime errors Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: 793fd72f Author: Tobias Hartmann Date: 2024-05-27 13:22:49 +0000 URL: https://git.openjdk.org/loom/commit/793fd72fa66b1367b68fe798230ea61ea0aab1d8 8332956: Problem list CodeCacheFullCountTest.java until JDK-8332954 is fixed Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 08face8c Author: Jan Lahoda Date: 2024-05-27 14:19:26 +0000 URL: https://git.openjdk.org/loom/commit/08face8c4cd2d0b6f48f99bae5a380b7f7e4f2c2 8332890: Module imports don't work inside the same module Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! test/langtools/tools/javac/ImportModule.java Changeset: ed81a478 Author: Yudi Zheng Committer: Martin Doerr Date: 2024-05-27 14:25:13 +0000 URL: https://git.openjdk.org/loom/commit/ed81a478e175631f1de69eb4b43f927629fefd74 8327964: Simplify BigInteger.implMultiplyToLen intrinsic Reviewed-by: mdoerr, amitkumar, kvn, fyang ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/runtime.cpp ! src/java.base/share/classes/java/math/BigInteger.java Changeset: be1d374b Author: Matthias Baesken Date: 2024-05-27 14:32:30 +0000 URL: https://git.openjdk.org/loom/commit/be1d374bc54d43aae3b3c1feace22d38fe2156b6 8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null Reviewed-by: clanger, mdoerr ! src/hotspot/share/memory/guardedMemory.cpp Changeset: 86eb5d9f Author: David Holmes Date: 2024-05-27 21:52:49 +0000 URL: https://git.openjdk.org/loom/commit/86eb5d9f3be30ff9df1318f18ab73c7129c978f6 8329958: Windows x86 build fails: downcallLinker.cpp(36) redefinition Reviewed-by: kvn, shade ! src/hotspot/share/prims/downcallLinker.hpp Changeset: b5e1615c Author: Korov Committer: Per Minborg Date: 2024-05-28 06:43:07 +0000 URL: https://git.openjdk.org/loom/commit/b5e1615c0084538f2161fe9b56748d188983e972 8292955: Collections.checkedMap Map.merge does not properly check key and value Reviewed-by: gli, liach, pminborg ! src/java.base/share/classes/java/util/Collections.java ! test/jdk/java/util/Collections/CheckedMapBash.java Changeset: 2f2cf38b Author: Hamlin Li Date: 2024-05-28 07:51:49 +0000 URL: https://git.openjdk.org/loom/commit/2f2cf38bb5cecea698e519396574343cfbe4f359 8332883: Some simple cleanup in vectornode.cpp Reviewed-by: kvn ! src/hotspot/share/opto/vectornode.cpp Changeset: 18509143 Author: Albert Mingkun Yang Date: 2024-05-28 08:08:42 +0000 URL: https://git.openjdk.org/loom/commit/1850914380655ef3d08614a5656e7cc23478f38f 8332864: Parallel: Merge ParMarkBitMapClosure into MoveAndUpdateClosure Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 2edb6d98 Author: Christian Hagedorn Date: 2024-05-28 08:12:36 +0000 URL: https://git.openjdk.org/loom/commit/2edb6d98133d8bd6dc4527c7497c460283fdc53e 8330386: Replace Opaque4Node of Initialized Assertion Predicate with new OpaqueInitializedAssertionPredicateNode Reviewed-by: kvn, roland ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.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/TestOpaqueInitializedAssertionPredicateNode.java Changeset: cabe3374 Author: Magnus Ihse Bursie Date: 2024-05-28 11:37:36 +0000 URL: https://git.openjdk.org/loom/commit/cabe337400a0bd61d73bf3ca66e16266267299c7 8331921: Hotspot assembler files should use common logic to setup exported functions Reviewed-by: coleenp, erikj, dholmes ! make/hotspot/lib/CompileJvm.gmk + src/hotspot/os/bsd/defs.S.inc + src/hotspot/os/posix/defs.S.inc ! src/hotspot/os_cpu/bsd_aarch64/copy_bsd_aarch64.S + src/hotspot/os_cpu/bsd_aarch64/defs.S.inc ! src/hotspot/os_cpu/bsd_aarch64/safefetch_bsd_aarch64.S ! src/hotspot/os_cpu/bsd_x86/bsd_x86_32.S ! src/hotspot/os_cpu/bsd_x86/bsd_x86_64.S ! src/hotspot/os_cpu/bsd_x86/safefetch_bsd_x86_64.S ! src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/safefetch_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/threadLS_linux_aarch64.S ! src/hotspot/os_cpu/linux_arm/linux_arm_32.S ! src/hotspot/os_cpu/linux_arm/safefetch_linux_arm.S ! src/hotspot/os_cpu/linux_ppc/safefetch_linux_ppc.S ! src/hotspot/os_cpu/linux_riscv/safefetch_linux_riscv.S ! src/hotspot/os_cpu/linux_s390/safefetch_linux_s390.S ! src/hotspot/os_cpu/linux_x86/linux_x86_32.S ! src/hotspot/os_cpu/linux_x86/linux_x86_64.S ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_64.S Changeset: aa4c83a5 Author: Adam Sotona Date: 2024-05-28 12:29:30 +0000 URL: https://git.openjdk.org/loom/commit/aa4c83a5bfe146714a46fb454aafc7393d2d8453 8332505: JEP 457: ClassRemapper forgets to remap bootstrap method references Reviewed-by: jlahoda ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java Changeset: 7b52d0ac Author: Robbin Ehn Date: 2024-05-28 12:54:37 +0000 URL: https://git.openjdk.org/loom/commit/7b52d0acfc7d6083b407efa0877c139e9837f86b 8332265: RISC-V: Materialize pointers faster by using a temp register Reviewed-by: fyang, luhenry, mli ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/jvmciCodeInstaller_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/upcallLinker_riscv.cpp Changeset: e708d135 Author: Alan Bateman Date: 2024-05-28 13:08:02 +0000 URL: https://git.openjdk.org/loom/commit/e708d135e3af7e0652cdbb680388a0735582ba74 8332064: Implementation of Structured Concurrency (Third Preview) Reviewed-by: jpai, bpb, mcimadamore ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java Changeset: 87a06b6c Author: Archie Cobbs Committer: Vicente Romero Date: 2024-05-28 13:15:20 +0000 URL: https://git.openjdk.org/loom/commit/87a06b6ce41f8623d9111b4e41c72f0ddf842acd 8325805: Compiler Implementation for Flexible Constructor Bodies (Second Preview) Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/DefiniteAssignment/DA_DUConstructors.java + test/langtools/tools/javac/DefiniteAssignment/DA_DUConstructors.out + test/langtools/tools/javac/SuperInit/EarlyAssignments.java + test/langtools/tools/javac/SuperInit/EarlyAssignments.out + test/langtools/tools/javac/SuperInit/EarlyLocalClass.java + test/langtools/tools/javac/SuperInit/EarlyLocalClass.out ! test/langtools/tools/javac/SuperInit/SuperInitFails.java ! test/langtools/tools/javac/SuperInit/SuperInitFails.out ! test/langtools/tools/javac/SuperInit/SuperInitGood.java + test/langtools/tools/javac/diags/examples/CantAssignInitializedBeforeCtorCalled.java + test/langtools/tools/javac/diags/examples/FeatureFlexibleConstructors.java - test/langtools/tools/javac/diags/examples/FeatureStatementsBeforeSuper.java Changeset: 4754f059 Author: Albert Mingkun Yang Date: 2024-05-28 14:47:04 +0000 URL: https://git.openjdk.org/loom/commit/4754f059f99a426cc8c5d94b0809e79d563ffc2e 8333035: Parallel: Remove ParMarkBitMap::IterationStatus Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 51ae08f7 Author: Ashutosh Mehra Date: 2024-05-28 15:02:50 +0000 URL: https://git.openjdk.org/loom/commit/51ae08f72b879bc611177ea643cd88e36185d9e8 8333093: Incorrect comment in zAddress_aarch64.cpp Reviewed-by: stefank ! src/hotspot/cpu/aarch64/gc/z/zAddress_aarch64.cpp Changeset: 0f3e2cc3 Author: Alan Bateman Date: 2024-05-28 15:05:54 +0000 URL: https://git.openjdk.org/loom/commit/0f3e2cc334e5926d53bbbce22e4a6bfeb2752140 8331670: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal Reviewed-by: mcimadamore, jpai, pminborg ! make/test/BuildMicrobenchmark.gmk ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/man/java.1 ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java + test/jdk/sun/misc/TryUnsafeMemoryAccess.java + test/jdk/sun/misc/UnsafeMemoryAccessWarnings.java + test/micro/org/openjdk/bench/sun/misc/UnsafeOps.java Changeset: b8f2ec90 Author: Steven Loomis Date: 2024-05-28 16:44:44 +0000 URL: https://git.openjdk.org/loom/commit/b8f2ec9091f9f7e5f4611991d04dd8aa113b94fd 8195675: Call to insertText with single character from custom Input Method ignored Reviewed-by: prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m Changeset: da6aa2a8 Author: Mikael Vidstedt Date: 2024-05-28 17:07:27 +0000 URL: https://git.openjdk.org/loom/commit/da6aa2a86c86ba5fce747b36dcb2d6001cfcc44e 8332849: Update doc/testing.{md,html} (spelling and stale information) Reviewed-by: iris, ihse, erikj, djelinski ! doc/testing.html ! doc/testing.md Changeset: 91caec07 Author: Joe Wang Date: 2024-05-28 19:26:17 +0000 URL: https://git.openjdk.org/loom/commit/91caec07cb2e4d98d4366f5627f55834282caa94 8330542: Template for Creating Strict JAXP Configuration File Reviewed-by: lancea, erikj, alanb, ihse, mullan, naoto ! make/modules/java.xml/Copy.gmk + src/java.xml/share/conf/jaxp-strict.properties.template ! src/java.xml/share/conf/jaxp.properties + test/jaxp/javax/xml/jaxp/unittest/common/config/ConfigFileTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/util/TestBase.java Changeset: 9ac8d05a Author: Martin Doerr Date: 2024-05-28 20:00:14 +0000 URL: https://git.openjdk.org/loom/commit/9ac8d05a2567fbf65b944660739e5f8ad1fc2020 8332228: TypePollution.java: Unrecognized VM option 'UseSecondarySuperCache' Reviewed-by: chagedorn, kvn ! test/micro/org/openjdk/bench/vm/lang/TypePollution.java Changeset: 91ab088d Author: Alexey Semenyuk Date: 2024-05-28 21:39:38 +0000 URL: https://git.openjdk.org/loom/commit/91ab088d5e64e068bafcda8d08f1769c39ba10d6 8333116: test/jdk/tools/jpackage/share/ServiceTest.java test fails Reviewed-by: almatvee ! test/jdk/tools/jpackage/share/ServiceTest.java Changeset: 673f767d Author: David Holmes Date: 2024-05-28 22:43:35 +0000 URL: https://git.openjdk.org/loom/commit/673f767dadc8f3a784b9c31c406422846df3279b 8285506: Unify os::vsnprintf implementations Reviewed-by: jwaters, kbarrett, jsjolen ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 01060ad4 Author: Jatin Bhateja Date: 2024-05-29 02:18:20 +0000 URL: https://git.openjdk.org/loom/commit/01060ad4ab18581aa46bc16e64c7f12a591a682b 8325083: jdk/incubator/vector/Double512VectorTests.java crashes in Assembler::vex_prefix_and_encode Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/x86.ad Changeset: 9a83dfee Author: Prasanta Sadhukhan Date: 2024-05-29 05:09:39 +0000 URL: https://git.openjdk.org/loom/commit/9a83dfee14f4cd9cda476d11a027294a810953cb 8332431: NullPointerException in JTable of SwingSet2 Reviewed-by: abhiscxk, kizune ! src/java.desktop/share/classes/javax/swing/ToolTipManager.java Changeset: b8ae11e9 Author: Matthias Baesken Date: 2024-05-29 06:41:53 +0000 URL: https://git.openjdk.org/loom/commit/b8ae11e99b99866888ad090c98c96e6d0c33a3c9 8332960: ubsan: classListParser.hpp:159:12: runtime error: load of value 2101478704, which is not a valid value for type 'ParseMode' Reviewed-by: dholmes, mdoerr ! src/hotspot/share/cds/classListParser.cpp Changeset: 5a8c4dd0 Author: Alan Bateman Date: 2024-05-29 08:42:49 +0000 URL: https://git.openjdk.org/loom/commit/5a8c4dd0a05a735128ee0b1a209779af7e76d27e Merge ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/ProblemList.txt ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: d7b0de8c Author: Alan Bateman Date: 2024-05-29 13:12:57 +0000 URL: https://git.openjdk.org/loom/commit/d7b0de8cf21cd0130eafbfc958d09789471e9c1b Merge Changeset: 2aabe9c8 Author: Alan Bateman Date: 2024-05-29 13:47:21 +0000 URL: https://git.openjdk.org/loom/commit/2aabe9c83dfcc36dd7fbca3cf9c2fca919fd133b Sync up ForkJoinPool from pull/19131 ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: b6a53edc Author: Alan Bateman Date: 2024-05-29 13:49:58 +0000 URL: https://git.openjdk.org/loom/commit/b6a53edc3819d66fa6a060d8a4fc0a172fa8fd4b Testing range of timeouts in testReleaseWhenWaiting2, dial down RaceWaitTimeout ! test/jdk/java/lang/Thread/virtual/MonitorWaitNotify.java ! test/jdk/java/lang/Thread/virtual/stress/RaceWaitTimeout.java From duke at openjdk.org Wed May 29 14:17:19 2024 From: duke at openjdk.org (duke) Date: Wed, 29 May 2024 14:17:19 GMT Subject: git: openjdk/loom: master: 42 new changesets Message-ID: <9660384f-d485-4566-a228-9e2259d656cf@openjdk.org> Changeset: 97ee2ffb Author: Phil Race Date: 2024-05-25 23:17:57 +0000 URL: https://git.openjdk.org/loom/commit/97ee2ffb89257a37a178b70c8fee96a1d831deb6 8332416: Add more font selection options to Font2DTest Reviewed-by: tr, honkar ! src/demo/share/jfc/Font2DTest/Font2DTest.java ! src/demo/share/jfc/Font2DTest/FontPanel.java Changeset: 08d51003 Author: Daniel Jeli?ski Date: 2024-05-27 05:23:26 +0000 URL: https://git.openjdk.org/loom/commit/08d51003d142e89b9d2f66187a4ea50e12b94fbb 8332724: x86 MacroAssembler may over-align code Reviewed-by: dlong, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: 4e8deb39 Author: SendaoYan Committer: Daniel Jeli?ski Date: 2024-05-27 06:32:21 +0000 URL: https://git.openjdk.org/loom/commit/4e8deb396e38c69de22b6348dca637d814d73aef 8332922: Test java/io/IO/IO.java fails when /usr/bin/expect not exist Reviewed-by: djelinski ! test/jdk/java/io/IO/IO.java Changeset: 16dba04e Author: Matthias Baesken Date: 2024-05-27 06:35:39 +0000 URL: https://git.openjdk.org/loom/commit/16dba04e8dfa871f8056480a42a9baeb24a2fb24 8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null Reviewed-by: rriggs, mdoerr ! src/java.base/unix/native/libjava/ProcessImpl_md.c Changeset: a0833645 Author: Thomas Schatzl Date: 2024-05-27 07:11:18 +0000 URL: https://git.openjdk.org/loom/commit/a083364520ab75cb5596f103b2fa51d7f7a8a706 8321292: SerialGC: NewSize vs InitialHeapSize check has an off-by-one error Reviewed-by: ayang, iwalulya ! src/hotspot/share/gc/shared/genArguments.cpp Changeset: 61db2f5b Author: Thomas Schatzl Date: 2024-05-27 07:11:39 +0000 URL: https://git.openjdk.org/loom/commit/61db2f5b90cd40ce104cb55bf9fd52d6e141161d 8079167: Fix documentation for G1SATBBufferEnqueueingThresholdPercent == 0 Reviewed-by: kbarrett, iwalulya ! src/hotspot/share/gc/g1/g1_globals.hpp Changeset: a3a367ef Author: Albert Mingkun Yang Date: 2024-05-27 08:06:24 +0000 URL: https://git.openjdk.org/loom/commit/a3a367ef5d6c462ebca40104d05c11219e84a64f 8332871: Parallel: Remove public bits APIs in ParMarkBitMap Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: ffa4badb Author: Roberto Casta?eda Lozano Date: 2024-05-27 08:42:40 +0000 URL: https://git.openjdk.org/loom/commit/ffa4badb78118d154e47e41073e467c0e0e4273c 8332527: ZGC: generalize object cloning logic Reviewed-by: aboldtch, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 617edf3f Author: Evemose Committer: Jan Lahoda Date: 2024-05-27 08:54:20 +0000 URL: https://git.openjdk.org/loom/commit/617edf3f0dea2b73e4b444e085de2ad282826e31 8332497: javac prints an AssertionError when annotation processing runs on program with module imports Reviewed-by: liach, vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java + test/langtools/tools/javac/processing/ModuleImportProcessingTest.java Changeset: 7f0ad513 Author: Ludvig Janiuk Date: 2024-05-27 09:35:52 +0000 URL: https://git.openjdk.org/loom/commit/7f0ad513c30359816ac840f821ca0a22d723a642 8332898: failure_handler: log directory of commands Reviewed-by: lmesnik ! test/failure_handler/src/share/classes/jdk/test/failurehandler/action/ActionHelper.java Changeset: 08891553 Author: Ludvig Janiuk Date: 2024-05-27 09:43:31 +0000 URL: https://git.openjdk.org/loom/commit/08891553bbd3d71337d8a94c75051db74e15903f 8332885: Clarify failure_handler self-tests Reviewed-by: lmesnik ! make/test/BuildFailureHandler.gmk ! test/failure_handler/README Changeset: 72fbfe18 Author: Thomas Schatzl Date: 2024-05-27 09:48:49 +0000 URL: https://git.openjdk.org/loom/commit/72fbfe18cb20274bab2057f3d67920e0c86c5793 8330577: G1 sometimes sends jdk.G1HeapRegionTypeChange for non-changes Co-authored-by: Andreas Steiner Reviewed-by: ayang, asteiner ! src/hotspot/share/gc/g1/g1HeapRegion.cpp + test/jdk/jdk/jfr/event/gc/detailed/TestG1InvalidHeapRegionTypeChangeEvent.java Changeset: 0e7ea390 Author: Albert Mingkun Yang Date: 2024-05-27 10:25:38 +0000 URL: https://git.openjdk.org/loom/commit/0e7ea390bb523888533265394a642071aba0c0c1 8332678: Serial: Remove use of should_clear_all_soft_refs in serial folder Reviewed-by: iwalulya ! src/hotspot/share/gc/serial/serialFullGC.cpp ! src/hotspot/share/gc/serial/serialHeap.cpp Changeset: 1b8dea4a Author: Matthias Baesken Date: 2024-05-27 10:27:41 +0000 URL: https://git.openjdk.org/loom/commit/1b8dea4a9288c1518dc501a58d806c7365ea68b3 8332894: ubsan: vmError.cpp:2090:26: runtime error: division by zero Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: f3d6fbf5 Author: Thomas Schatzl Date: 2024-05-27 11:20:10 +0000 URL: https://git.openjdk.org/loom/commit/f3d6fbf52eac44734695935f73c5cfc0fb9ba167 8330847: G1 accesses uninitialized memory when predicting eden copy time Reviewed-by: iwalulya, ayang ! src/hotspot/share/gc/g1/g1SurvRateGroup.cpp ! src/hotspot/share/gc/g1/g1SurvRateGroup.hpp Changeset: 891d5aed Author: Ivan Walulya Date: 2024-05-27 11:21:31 +0000 URL: https://git.openjdk.org/loom/commit/891d5aedf12e837c9a9c7cb800fb3affa7430f00 8332683: G1: G1CardSetArray::EntryDataType [2] triggers ubsan runtime errors Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: 793fd72f Author: Tobias Hartmann Date: 2024-05-27 13:22:49 +0000 URL: https://git.openjdk.org/loom/commit/793fd72fa66b1367b68fe798230ea61ea0aab1d8 8332956: Problem list CodeCacheFullCountTest.java until JDK-8332954 is fixed Reviewed-by: chagedorn ! test/hotspot/jtreg/ProblemList.txt Changeset: 08face8c Author: Jan Lahoda Date: 2024-05-27 14:19:26 +0000 URL: https://git.openjdk.org/loom/commit/08face8c4cd2d0b6f48f99bae5a380b7f7e4f2c2 8332890: Module imports don't work inside the same module Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! test/langtools/tools/javac/ImportModule.java Changeset: ed81a478 Author: Yudi Zheng Committer: Martin Doerr Date: 2024-05-27 14:25:13 +0000 URL: https://git.openjdk.org/loom/commit/ed81a478e175631f1de69eb4b43f927629fefd74 8327964: Simplify BigInteger.implMultiplyToLen intrinsic Reviewed-by: mdoerr, amitkumar, kvn, fyang ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/stubGenerator_riscv.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/runtime.cpp ! src/java.base/share/classes/java/math/BigInteger.java Changeset: be1d374b Author: Matthias Baesken Date: 2024-05-27 14:32:30 +0000 URL: https://git.openjdk.org/loom/commit/be1d374bc54d43aae3b3c1feace22d38fe2156b6 8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null Reviewed-by: clanger, mdoerr ! src/hotspot/share/memory/guardedMemory.cpp Changeset: 86eb5d9f Author: David Holmes Date: 2024-05-27 21:52:49 +0000 URL: https://git.openjdk.org/loom/commit/86eb5d9f3be30ff9df1318f18ab73c7129c978f6 8329958: Windows x86 build fails: downcallLinker.cpp(36) redefinition Reviewed-by: kvn, shade ! src/hotspot/share/prims/downcallLinker.hpp Changeset: b5e1615c Author: Korov Committer: Per Minborg Date: 2024-05-28 06:43:07 +0000 URL: https://git.openjdk.org/loom/commit/b5e1615c0084538f2161fe9b56748d188983e972 8292955: Collections.checkedMap Map.merge does not properly check key and value Reviewed-by: gli, liach, pminborg ! src/java.base/share/classes/java/util/Collections.java ! test/jdk/java/util/Collections/CheckedMapBash.java Changeset: 2f2cf38b Author: Hamlin Li Date: 2024-05-28 07:51:49 +0000 URL: https://git.openjdk.org/loom/commit/2f2cf38bb5cecea698e519396574343cfbe4f359 8332883: Some simple cleanup in vectornode.cpp Reviewed-by: kvn ! src/hotspot/share/opto/vectornode.cpp Changeset: 18509143 Author: Albert Mingkun Yang Date: 2024-05-28 08:08:42 +0000 URL: https://git.openjdk.org/loom/commit/1850914380655ef3d08614a5656e7cc23478f38f 8332864: Parallel: Merge ParMarkBitMapClosure into MoveAndUpdateClosure Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 2edb6d98 Author: Christian Hagedorn Date: 2024-05-28 08:12:36 +0000 URL: https://git.openjdk.org/loom/commit/2edb6d98133d8bd6dc4527c7497c460283fdc53e 8330386: Replace Opaque4Node of Initialized Assertion Predicate with new OpaqueInitializedAssertionPredicateNode Reviewed-by: kvn, roland ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.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/TestOpaqueInitializedAssertionPredicateNode.java Changeset: cabe3374 Author: Magnus Ihse Bursie Date: 2024-05-28 11:37:36 +0000 URL: https://git.openjdk.org/loom/commit/cabe337400a0bd61d73bf3ca66e16266267299c7 8331921: Hotspot assembler files should use common logic to setup exported functions Reviewed-by: coleenp, erikj, dholmes ! make/hotspot/lib/CompileJvm.gmk + src/hotspot/os/bsd/defs.S.inc + src/hotspot/os/posix/defs.S.inc ! src/hotspot/os_cpu/bsd_aarch64/copy_bsd_aarch64.S + src/hotspot/os_cpu/bsd_aarch64/defs.S.inc ! src/hotspot/os_cpu/bsd_aarch64/safefetch_bsd_aarch64.S ! src/hotspot/os_cpu/bsd_x86/bsd_x86_32.S ! src/hotspot/os_cpu/bsd_x86/bsd_x86_64.S ! src/hotspot/os_cpu/bsd_x86/safefetch_bsd_x86_64.S ! src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/safefetch_linux_aarch64.S ! src/hotspot/os_cpu/linux_aarch64/threadLS_linux_aarch64.S ! src/hotspot/os_cpu/linux_arm/linux_arm_32.S ! src/hotspot/os_cpu/linux_arm/safefetch_linux_arm.S ! src/hotspot/os_cpu/linux_ppc/safefetch_linux_ppc.S ! src/hotspot/os_cpu/linux_riscv/safefetch_linux_riscv.S ! src/hotspot/os_cpu/linux_s390/safefetch_linux_s390.S ! src/hotspot/os_cpu/linux_x86/linux_x86_32.S ! src/hotspot/os_cpu/linux_x86/linux_x86_64.S ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S ! src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_64.S Changeset: aa4c83a5 Author: Adam Sotona Date: 2024-05-28 12:29:30 +0000 URL: https://git.openjdk.org/loom/commit/aa4c83a5bfe146714a46fb454aafc7393d2d8453 8332505: JEP 457: ClassRemapper forgets to remap bootstrap method references Reviewed-by: jlahoda ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassRemapperImpl.java ! test/jdk/jdk/classfile/AdvancedTransformationsTest.java Changeset: 7b52d0ac Author: Robbin Ehn Date: 2024-05-28 12:54:37 +0000 URL: https://git.openjdk.org/loom/commit/7b52d0acfc7d6083b407efa0877c139e9837f86b 8332265: RISC-V: Materialize pointers faster by using a temp register Reviewed-by: fyang, luhenry, mli ! src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp ! src/hotspot/cpu/riscv/jvmciCodeInstaller_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.cpp ! src/hotspot/cpu/riscv/macroAssembler_riscv.hpp ! src/hotspot/cpu/riscv/nativeInst_riscv.cpp ! src/hotspot/cpu/riscv/nativeInst_riscv.hpp ! src/hotspot/cpu/riscv/riscv.ad ! src/hotspot/cpu/riscv/upcallLinker_riscv.cpp Changeset: e708d135 Author: Alan Bateman Date: 2024-05-28 13:08:02 +0000 URL: https://git.openjdk.org/loom/commit/e708d135e3af7e0652cdbb680388a0735582ba74 8332064: Implementation of Structured Concurrency (Third Preview) Reviewed-by: jpai, bpb, mcimadamore ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java Changeset: 87a06b6c Author: Archie Cobbs Committer: Vicente Romero Date: 2024-05-28 13:15:20 +0000 URL: https://git.openjdk.org/loom/commit/87a06b6ce41f8623d9111b4e41c72f0ddf842acd 8325805: Compiler Implementation for Flexible Constructor Bodies (Second Preview) Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/DefiniteAssignment/DA_DUConstructors.java + test/langtools/tools/javac/DefiniteAssignment/DA_DUConstructors.out + test/langtools/tools/javac/SuperInit/EarlyAssignments.java + test/langtools/tools/javac/SuperInit/EarlyAssignments.out + test/langtools/tools/javac/SuperInit/EarlyLocalClass.java + test/langtools/tools/javac/SuperInit/EarlyLocalClass.out ! test/langtools/tools/javac/SuperInit/SuperInitFails.java ! test/langtools/tools/javac/SuperInit/SuperInitFails.out ! test/langtools/tools/javac/SuperInit/SuperInitGood.java + test/langtools/tools/javac/diags/examples/CantAssignInitializedBeforeCtorCalled.java + test/langtools/tools/javac/diags/examples/FeatureFlexibleConstructors.java - test/langtools/tools/javac/diags/examples/FeatureStatementsBeforeSuper.java Changeset: 4754f059 Author: Albert Mingkun Yang Date: 2024-05-28 14:47:04 +0000 URL: https://git.openjdk.org/loom/commit/4754f059f99a426cc8c5d94b0809e79d563ffc2e 8333035: Parallel: Remove ParMarkBitMap::IterationStatus Reviewed-by: tschatzl ! src/hotspot/share/gc/parallel/parMarkBitMap.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp Changeset: 51ae08f7 Author: Ashutosh Mehra Date: 2024-05-28 15:02:50 +0000 URL: https://git.openjdk.org/loom/commit/51ae08f72b879bc611177ea643cd88e36185d9e8 8333093: Incorrect comment in zAddress_aarch64.cpp Reviewed-by: stefank ! src/hotspot/cpu/aarch64/gc/z/zAddress_aarch64.cpp Changeset: 0f3e2cc3 Author: Alan Bateman Date: 2024-05-28 15:05:54 +0000 URL: https://git.openjdk.org/loom/commit/0f3e2cc334e5926d53bbbce22e4a6bfeb2752140 8331670: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal Reviewed-by: mcimadamore, jpai, pminborg ! make/test/BuildMicrobenchmark.gmk ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/man/java.1 ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java + test/jdk/sun/misc/TryUnsafeMemoryAccess.java + test/jdk/sun/misc/UnsafeMemoryAccessWarnings.java + test/micro/org/openjdk/bench/sun/misc/UnsafeOps.java Changeset: b8f2ec90 Author: Steven Loomis Date: 2024-05-28 16:44:44 +0000 URL: https://git.openjdk.org/loom/commit/b8f2ec9091f9f7e5f4611991d04dd8aa113b94fd 8195675: Call to insertText with single character from custom Input Method ignored Reviewed-by: prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m Changeset: da6aa2a8 Author: Mikael Vidstedt Date: 2024-05-28 17:07:27 +0000 URL: https://git.openjdk.org/loom/commit/da6aa2a86c86ba5fce747b36dcb2d6001cfcc44e 8332849: Update doc/testing.{md,html} (spelling and stale information) Reviewed-by: iris, ihse, erikj, djelinski ! doc/testing.html ! doc/testing.md Changeset: 91caec07 Author: Joe Wang Date: 2024-05-28 19:26:17 +0000 URL: https://git.openjdk.org/loom/commit/91caec07cb2e4d98d4366f5627f55834282caa94 8330542: Template for Creating Strict JAXP Configuration File Reviewed-by: lancea, erikj, alanb, ihse, mullan, naoto ! make/modules/java.xml/Copy.gmk + src/java.xml/share/conf/jaxp-strict.properties.template ! src/java.xml/share/conf/jaxp.properties + test/jaxp/javax/xml/jaxp/unittest/common/config/ConfigFileTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/util/TestBase.java Changeset: 9ac8d05a Author: Martin Doerr Date: 2024-05-28 20:00:14 +0000 URL: https://git.openjdk.org/loom/commit/9ac8d05a2567fbf65b944660739e5f8ad1fc2020 8332228: TypePollution.java: Unrecognized VM option 'UseSecondarySuperCache' Reviewed-by: chagedorn, kvn ! test/micro/org/openjdk/bench/vm/lang/TypePollution.java Changeset: 91ab088d Author: Alexey Semenyuk Date: 2024-05-28 21:39:38 +0000 URL: https://git.openjdk.org/loom/commit/91ab088d5e64e068bafcda8d08f1769c39ba10d6 8333116: test/jdk/tools/jpackage/share/ServiceTest.java test fails Reviewed-by: almatvee ! test/jdk/tools/jpackage/share/ServiceTest.java Changeset: 673f767d Author: David Holmes Date: 2024-05-28 22:43:35 +0000 URL: https://git.openjdk.org/loom/commit/673f767dadc8f3a784b9c31c406422846df3279b 8285506: Unify os::vsnprintf implementations Reviewed-by: jwaters, kbarrett, jsjolen ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 01060ad4 Author: Jatin Bhateja Date: 2024-05-29 02:18:20 +0000 URL: https://git.openjdk.org/loom/commit/01060ad4ab18581aa46bc16e64c7f12a591a682b 8325083: jdk/incubator/vector/Double512VectorTests.java crashes in Assembler::vex_prefix_and_encode Reviewed-by: kvn, sviswanathan ! src/hotspot/cpu/x86/x86.ad Changeset: 9a83dfee Author: Prasanta Sadhukhan Date: 2024-05-29 05:09:39 +0000 URL: https://git.openjdk.org/loom/commit/9a83dfee14f4cd9cda476d11a027294a810953cb 8332431: NullPointerException in JTable of SwingSet2 Reviewed-by: abhiscxk, kizune ! src/java.desktop/share/classes/javax/swing/ToolTipManager.java Changeset: b8ae11e9 Author: Matthias Baesken Date: 2024-05-29 06:41:53 +0000 URL: https://git.openjdk.org/loom/commit/b8ae11e99b99866888ad090c98c96e6d0c33a3c9 8332960: ubsan: classListParser.hpp:159:12: runtime error: load of value 2101478704, which is not a valid value for type 'ParseMode' Reviewed-by: dholmes, mdoerr ! src/hotspot/share/cds/classListParser.cpp From attila.kelemen85 at gmail.com Wed May 29 22:12:19 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 00:12:19 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: I vaguely remember Alan or Ron saying that timed waits for VTs are not yet as efficient as they want them to be (though I'm not sure if that is the case for JDK 23 still). So, I would expect that the major performance difference you are seeing might be because of the sleep calls (and in realistic scenarios, I'm guessing the same would be true for other timed waits). Liam Miller-Cushon ezt ?rta (id?pont: 2024. m?j. 29., Sze, 0:44): > Hello, > > JEP 444 [1] and the docs in [2] mention that virtual threads should not be > pooled, and suggest semaphores as one possible alternative. > > My colleague Chi Wang has been investigating virtual thread performance, > and has found that creating one virtual thread per task and synchronizing > on a semaphore can result in worse performance on machines with large > numbers of cores. > > A benchmark run on a 128 core machine is included below. It submits > numTasks tasks to the executor determined by the strategy. The task itself > is mixed with CPU and I/O work (simulated by fibonacci and sleep). The > parallelism is set to 600 for all strategies. > > * Strategy 1 is the baseline where it just submits all the tasks to a > ForkJoinPool whose pool size is 600. > * Strategy 2 uses the method suggested by JEP 444. > * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. > > Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression > that seems to increase with the number of cores. This result can be > reproduced on the real-world program that is being migrated to a > virtual-thread-per-task model. > > Diffing the cpu profile between strategy 1 and strategy 2 showed that most > of the CPU regression comes from method > `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, > long, int)`. > > Are there any ideas for why the semaphore strategy uses more CPU than > pooling virtual threads on machines with a large number of cores? > > Thanks, > Liam > > [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads > [2] > https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 > > import java.util.concurrent.ExecutorService; > import java.util.concurrent.Executors; > import java.util.concurrent.ForkJoinPool; > import java.util.concurrent.Semaphore; > > public class Main { > > private static Semaphore semaphore = null; > > public static void main(String[] args) { > int strategy = 0; > int parallelism = 600; > int numTasks = 10000; > > if (args.length > 1) { > strategy = Integer.parseInt(args[1]); > } > > if (args.length > 2) { > numTasks = Integer.parseInt(args[2]); > } > > ExecutorService executor; > switch (strategy) { > case 1 -> { > executor = new ForkJoinPool(parallelism); > } > case 2 -> { > executor = Executors.newVirtualThreadPerTaskExecutor(); > semaphore = new Semaphore(parallelism); > } > case 3 -> { > executor = Executors.newFixedThreadPool(parallelism, > Thread.ofVirtual().factory()); > } > default -> { > throw new IllegalArgumentException(); > } > } > > try (executor) { > for (var i = 0; i < numTasks; ++i) { > executor.execute(Main::task); > } > } > } > > private static void task() { > if (semaphore != null) { > try { > semaphore.acquire(); > } catch (InterruptedException e) { > throw new IllegalStateException(); > } > } > > try { > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > } finally { > if (semaphore != null) { > semaphore.release(); > } > } > } > > private static int fibonacci(int n) { > if (n == 0) { > return 0; > } else if (n == 1) { > return 1; > } else { > return fibonacci(n - 1) + fibonacci(n - 2); > } > } > } > > # openjdk full version "23-ea+24-1995" > # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled > > $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks > 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' > > Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 > Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: > 493.7 ms] > Range (min ? max): 613.1 ms ? 702.0 ms 10 runs > > Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 > Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: > 501.5 ms] > Range (min ? max): 451.0 ms ? 533.4 ms 10 runs > > Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 > Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: > 335.8 ms] > Range (min ? max): 435.6 ms ? 470.6 ms 10 runs > > Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 > Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: > 1.188 s] > Range (min ? max): 3.628 s ? 3.704 s 10 runs > > Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 > Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: > 2.072 s] > Range (min ? max): 3.563 s ? 3.687 s 10 runs > > Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 > Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: > 1.211 s] > Range (min ? max): 3.492 s ? 3.515 s 10 runs > > Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 > Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: > 14.313 s] > Range (min ? max): 34.015 s ? 34.120 s 10 runs > > Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 > Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: > 17.501 s] > Range (min ? max): 34.267 s ? 34.479 s 10 runs > > Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 > Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: > 10.258 s] > Range (min ? max): 34.124 s ? 37.420 s 10 runs > > Summary > ./jdk-23/bin/java Main -- 3 10000 ran > 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 > 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 > 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 > 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 > 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 > 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 > 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 > 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Wed May 29 22:58:52 2024 From: rengels at ix.netcom.com (robert engels) Date: Wed, 29 May 2024 17:58:52 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: I remember that too, but in this case I don?t think it is the cause. In the bounded/pooled thread scenario - you are only scheduling 600 threads (either platform or virtual). In ?scenario #2? all 1M virtual threads are created and are contending on a sempahore. This contention on a single resource does not occur in the other scenarios - this will lead to thrashing of the scheduler. I suspect if it is run under a profiler it will be obvious. With 128 carrier threads, you have increased the contention over a typical machine by an order of magnitude. > On May 29, 2024, at 5:12 PM, Attila Kelemen wrote: > > I vaguely remember Alan or Ron saying that timed waits for VTs are not yet as efficient as they want them to be (though I'm not sure if that is the case for JDK 23 still). So, I would expect that the major performance difference you are seeing might be because of the sleep calls (and in realistic scenarios, I'm guessing the same would be true for other timed waits). > > Liam Miller-Cushon > ezt ?rta (id?pont: 2024. m?j. 29., Sze, 0:44): > Hello, > > JEP 444 [1] and the docs in [2] mention that virtual threads should not be pooled, and suggest semaphores as one possible alternative. > > My colleague Chi Wang has been investigating virtual thread performance, and has found that creating one virtual thread per task and synchronizing on a semaphore can result in worse performance on machines with large numbers of cores. > > A benchmark run on a 128 core machine is included below. It submits numTasks tasks to the executor determined by the strategy. The task itself is mixed with CPU and I/O work (simulated by fibonacci and sleep). The parallelism is set to 600 for all strategies. > > * Strategy 1 is the baseline where it just submits all the tasks to a ForkJoinPool whose pool size is 600. > * Strategy 2 uses the method suggested by JEP 444. > * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. > > Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression that seems to increase with the number of cores. This result can be reproduced on the real-world program that is being migrated to a virtual-thread-per-task model. > > Diffing the cpu profile between strategy 1 and strategy 2 showed that most of the CPU regression comes from method `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, long, int)`. > > Are there any ideas for why the semaphore strategy uses more CPU than pooling virtual threads on machines with a large number of cores? > > Thanks, > Liam > > [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads > [2] https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 > > import java.util.concurrent.ExecutorService; > import java.util.concurrent.Executors; > import java.util.concurrent.ForkJoinPool; > import java.util.concurrent.Semaphore; > > public class Main { > > private static Semaphore semaphore = null; > > public static void main(String[] args) { > int strategy = 0; > int parallelism = 600; > int numTasks = 10000; > > if (args.length > 1) { > strategy = Integer.parseInt(args[1]); > } > > if (args.length > 2) { > numTasks = Integer.parseInt(args[2]); > } > > ExecutorService executor; > switch (strategy) { > case 1 -> { > executor = new ForkJoinPool(parallelism); > } > case 2 -> { > executor = Executors.newVirtualThreadPerTaskExecutor(); > semaphore = new Semaphore(parallelism); > } > case 3 -> { > executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); > } > default -> { > throw new IllegalArgumentException(); > } > } > > try (executor) { > for (var i = 0; i < numTasks; ++i) { > executor.execute(Main::task); > } > } > } > > private static void task() { > if (semaphore != null) { > try { > semaphore.acquire(); > } catch (InterruptedException e) { > throw new IllegalStateException(); > } > } > > try { > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > fibonacci(20); > } finally { > if (semaphore != null) { > semaphore.release(); > } > } > } > > private static int fibonacci(int n) { > if (n == 0) { > return 0; > } else if (n == 1) { > return 1; > } else { > return fibonacci(n - 1) + fibonacci(n - 2); > } > } > } > > # openjdk full version "23-ea+24-1995" > # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled > > $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' > > Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 > Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: 493.7 ms] > Range (min ? max): 613.1 ms ? 702.0 ms 10 runs > > Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 > Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: 501.5 ms] > Range (min ? max): 451.0 ms ? 533.4 ms 10 runs > > Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 > Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: 335.8 ms] > Range (min ? max): 435.6 ms ? 470.6 ms 10 runs > > Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 > Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: 1.188 s] > Range (min ? max): 3.628 s ? 3.704 s 10 runs > > Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 > Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: 2.072 s] > Range (min ? max): 3.563 s ? 3.687 s 10 runs > > Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 > Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: 1.211 s] > Range (min ? max): 3.492 s ? 3.515 s 10 runs > > Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 > Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: 14.313 s] > Range (min ? max): 34.015 s ? 34.120 s 10 runs > > Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 > Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: 17.501 s] > Range (min ? max): 34.267 s ? 34.479 s 10 runs > > Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 > Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: 10.258 s] > Range (min ? max): 34.124 s ? 37.420 s 10 runs > > Summary > ./jdk-23/bin/java Main -- 3 10000 ran > 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 > 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 > 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 > 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 > 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 > 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 > 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 > 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Wed May 29 22:59:07 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 00:59:07 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: Actually, I take back what I wrote, because whatever cost the timed wait has shouldn't be more effort when there are 1M concurrent threads, than when there are 10k, since there can be only at most 600 threads in timed wait. It is certainly interesting, because I would also not expect `VirtualThreads.unpark` to be so much worse with a larger queue (in fact I wouldn't really expect it to be pretty much any worse). Hopefully Ron or Alan can make better guesses (or not guesses). Attila Kelemen ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:12): > I vaguely remember Alan or Ron saying that timed waits for VTs are not yet > as efficient as they want them to be (though I'm not sure if that is the > case for JDK 23 still). So, I would expect that the major performance > difference you are seeing might be because of the sleep calls (and in > realistic scenarios, I'm guessing the same would be true for other timed > waits). > > Liam Miller-Cushon ezt ?rta (id?pont: 2024. m?j. 29., > Sze, 0:44): > >> Hello, >> >> JEP 444 [1] and the docs in [2] mention that virtual threads should not >> be pooled, and suggest semaphores as one possible alternative. >> >> My colleague Chi Wang has been investigating virtual thread performance, >> and has found that creating one virtual thread per task and synchronizing >> on a semaphore can result in worse performance on machines with large >> numbers of cores. >> >> A benchmark run on a 128 core machine is included below. It submits >> numTasks tasks to the executor determined by the strategy. The task itself >> is mixed with CPU and I/O work (simulated by fibonacci and sleep). The >> parallelism is set to 600 for all strategies. >> >> * Strategy 1 is the baseline where it just submits all the tasks to a >> ForkJoinPool whose pool size is 600. >> * Strategy 2 uses the method suggested by JEP 444. >> * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. >> >> Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression >> that seems to increase with the number of cores. This result can be >> reproduced on the real-world program that is being migrated to a >> virtual-thread-per-task model. >> >> Diffing the cpu profile between strategy 1 and strategy 2 showed that >> most of the CPU regression comes from method >> `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, >> long, int)`. >> >> Are there any ideas for why the semaphore strategy uses more CPU than >> pooling virtual threads on machines with a large number of cores? >> >> Thanks, >> Liam >> >> [1] https://openjdk.org/jeps/444#Do-not-pool-virtual-threads >> [2] >> https://docs.oracle.com/en/java/javase/22/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521 >> >> import java.util.concurrent.ExecutorService; >> import java.util.concurrent.Executors; >> import java.util.concurrent.ForkJoinPool; >> import java.util.concurrent.Semaphore; >> >> public class Main { >> >> private static Semaphore semaphore = null; >> >> public static void main(String[] args) { >> int strategy = 0; >> int parallelism = 600; >> int numTasks = 10000; >> >> if (args.length > 1) { >> strategy = Integer.parseInt(args[1]); >> } >> >> if (args.length > 2) { >> numTasks = Integer.parseInt(args[2]); >> } >> >> ExecutorService executor; >> switch (strategy) { >> case 1 -> { >> executor = new ForkJoinPool(parallelism); >> } >> case 2 -> { >> executor = Executors.newVirtualThreadPerTaskExecutor(); >> semaphore = new Semaphore(parallelism); >> } >> case 3 -> { >> executor = Executors.newFixedThreadPool(parallelism, >> Thread.ofVirtual().factory()); >> } >> default -> { >> throw new IllegalArgumentException(); >> } >> } >> >> try (executor) { >> for (var i = 0; i < numTasks; ++i) { >> executor.execute(Main::task); >> } >> } >> } >> >> private static void task() { >> if (semaphore != null) { >> try { >> semaphore.acquire(); >> } catch (InterruptedException e) { >> throw new IllegalStateException(); >> } >> } >> >> try { >> fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> fibonacci(20); >> } finally { >> if (semaphore != null) { >> semaphore.release(); >> } >> } >> } >> >> private static int fibonacci(int n) { >> if (n == 0) { >> return 0; >> } else if (n == 1) { >> return 1; >> } else { >> return fibonacci(n - 1) + fibonacci(n - 2); >> } >> } >> } >> >> # openjdk full version "23-ea+24-1995" >> # AMD Ryzen Threadripper PRO 3995WX, hyperthreading enabled >> >> $ hyperfine --parameter-scan strategy 1 3 --parameter-list numTasks >> 10000,100000,1000000 './jdk-23/bin/java Main -- {strategy} {numTasks}' >> >> Benchmark 1: ./jdk-23/bin/java Main -- 1 10000 >> Time (mean ? ?): 658.3 ms ? 24.4 ms [User: 26808.8 ms, System: >> 493.7 ms] >> Range (min ? max): 613.1 ms ? 702.0 ms 10 runs >> >> Benchmark 2: ./jdk-23/bin/java Main -- 2 10000 >> Time (mean ? ?): 486.9 ms ? 28.5 ms [User: 14804.4 ms, System: >> 501.5 ms] >> Range (min ? max): 451.0 ms ? 533.4 ms 10 runs >> >> Benchmark 3: ./jdk-23/bin/java Main -- 3 10000 >> Time (mean ? ?): 452.0 ms ? 10.8 ms [User: 6598.1 ms, System: >> 335.8 ms] >> Range (min ? max): 435.6 ms ? 470.6 ms 10 runs >> >> Benchmark 4: ./jdk-23/bin/java Main -- 1 100000 >> Time (mean ? ?): 3.668 s ? 0.028 s [User: 38.469 s, System: >> 1.188 s] >> Range (min ? max): 3.628 s ? 3.704 s 10 runs >> >> Benchmark 5: ./jdk-23/bin/java Main -- 2 100000 >> Time (mean ? ?): 3.612 s ? 0.042 s [User: 65.924 s, System: >> 2.072 s] >> Range (min ? max): 3.563 s ? 3.687 s 10 runs >> >> Benchmark 6: ./jdk-23/bin/java Main -- 3 100000 >> Time (mean ? ?): 3.503 s ? 0.008 s [User: 27.791 s, System: >> 1.211 s] >> Range (min ? max): 3.492 s ? 3.515 s 10 runs >> >> Benchmark 7: ./jdk-23/bin/java Main -- 1 1000000 >> Time (mean ? ?): 34.093 s ? 0.031 s [User: 206.235 s, System: >> 14.313 s] >> Range (min ? max): 34.015 s ? 34.120 s 10 runs >> >> Benchmark 8: ./jdk-23/bin/java Main -- 2 1000000 >> Time (mean ? ?): 34.354 s ? 0.063 s [User: 330.215 s, System: >> 17.501 s] >> Range (min ? max): 34.267 s ? 34.479 s 10 runs >> >> Benchmark 9: ./jdk-23/bin/java Main -- 3 1000000 >> Time (mean ? ?): 34.551 s ? 1.018 s [User: 238.050 s, System: >> 10.258 s] >> Range (min ? max): 34.124 s ? 37.420 s 10 runs >> >> Summary >> ./jdk-23/bin/java Main -- 3 10000 ran >> 1.08 ? 0.07 times faster than ./jdk-23/bin/java Main -- 2 10000 >> 1.46 ? 0.06 times faster than ./jdk-23/bin/java Main -- 1 10000 >> 7.75 ? 0.19 times faster than ./jdk-23/bin/java Main -- 3 100000 >> 7.99 ? 0.21 times faster than ./jdk-23/bin/java Main -- 2 100000 >> 8.12 ? 0.20 times faster than ./jdk-23/bin/java Main -- 1 100000 >> 75.43 ? 1.80 times faster than ./jdk-23/bin/java Main -- 1 1000000 >> 76.01 ? 1.82 times faster than ./jdk-23/bin/java Main -- 2 1000000 >> 76.44 ? 2.90 times faster than ./jdk-23/bin/java Main -- 3 1000000 >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Wed May 29 23:03:58 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 01:03:58 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: Yeah, just realized that and sent my email pretty much literally a second after your email :) Anyway, while yes in theory 1M threads are contending for the semaphore, but I don't think that should be a problem, because the contention is rather theoretical, since those "contending" VTs are just sitting in a queue, and after each release only one of them should be released. Also, I think Liam's comparison is fair, because none of the other two methods push back, so pushing back only in the VT version would be very unfair. robert engels ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:58): > I remember that too, but in this case I don?t think it is the cause. > > In the bounded/pooled thread scenario - you are only scheduling 600 > threads (either platform or virtual). > > In ?scenario #2? all 1M virtual threads are created and are contending on > a sempahore. This contention on a single resource does not occur in the > other scenarios - this will lead to thrashing of the scheduler. > > I suspect if it is run under a profiler it will be obvious. With 128 > carrier threads, you have increased the contention over a typical machine > by an order of magnitude. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 00:09:14 2024 From: rengels at ix.netcom.com (robert engels) Date: Wed, 29 May 2024 19:09:14 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: But looking at the numbers some more they don?t make sense. The total times go way down, moving from 10_000 tasks to 100_000 tasks. Then they go up again (expected) moving from 100_000 to 1_000_000 I don?t think the wall time should ever go down when the number of tasks go up, so something doesn?t seem right. > On May 29, 2024, at 6:03 PM, Attila Kelemen wrote: > > Yeah, just realized that and sent my email pretty much literally a second after your email :) > > Anyway, while yes in theory 1M threads are contending for the semaphore, but I don't think that should be a problem, because the contention is rather theoretical, since those "contending" VTs are just sitting in a queue, and after each release only one of them should be released. Also, I think Liam's comparison is fair, because none of the other two methods push back, so pushing back only in the VT version would be very unfair. > > robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:58): > I remember that too, but in this case I don?t think it is the cause. > > In the bounded/pooled thread scenario - you are only scheduling 600 threads (either platform or virtual). > > In ?scenario #2? all 1M virtual threads are created and are contending on a sempahore. This contention on a single resource does not occur in the other scenarios - this will lead to thrashing of the scheduler. > > I suspect if it is run under a profiler it will be obvious. With 128 carrier threads, you have increased the contention over a typical machine by an order of magnitude. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 00:10:59 2024 From: rengels at ix.netcom.com (robert engels) Date: Wed, 29 May 2024 19:10:59 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: <30C57375-E45E-4A97-8CDC-A6E6447580E1@ix.netcom.com> Ignore that - the first set of metrics are in ms. But the wall time within a numTasks is nearly identical regardless of scenario. > On May 29, 2024, at 7:09 PM, robert engels wrote: > > But looking at the numbers some more they don?t make sense. The total times go way down, moving from 10_000 tasks to 100_000 tasks. Then they go up again (expected) moving from 100_000 to 1_000_000 > > I don?t think the wall time should ever go down when the number of tasks go up, so something doesn?t seem right. > >> On May 29, 2024, at 6:03 PM, Attila Kelemen > wrote: >> >> Yeah, just realized that and sent my email pretty much literally a second after your email :) >> >> Anyway, while yes in theory 1M threads are contending for the semaphore, but I don't think that should be a problem, because the contention is rather theoretical, since those "contending" VTs are just sitting in a queue, and after each release only one of them should be released. Also, I think Liam's comparison is fair, because none of the other two methods push back, so pushing back only in the VT version would be very unfair. >> >> robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:58): >> I remember that too, but in this case I don?t think it is the cause. >> >> In the bounded/pooled thread scenario - you are only scheduling 600 threads (either platform or virtual). >> >> In ?scenario #2? all 1M virtual threads are created and are contending on a sempahore. This contention on a single resource does not occur in the other scenarios - this will lead to thrashing of the scheduler. >> >> I suspect if it is run under a profiler it will be obvious. With 128 carrier threads, you have increased the contention over a typical machine by an order of magnitude. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 01:15:14 2024 From: rengels at ix.netcom.com (robert engels) Date: Wed, 29 May 2024 20:15:14 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <30C57375-E45E-4A97-8CDC-A6E6447580E1@ix.netcom.com> References: <30C57375-E45E-4A97-8CDC-A6E6447580E1@ix.netcom.com> Message-ID: <2338C0EB-97ED-4E8D-BAC7-B1D1C0C681AA@ix.netcom.com> You can see from the flame graph that the system is spending all of its time scheduling VTs and sleeping - the ?work? is negligible. The is the carrier thread on my system with the most ?work? (execute()) - most of the carrier threads are doing no work at all. Every carrier is spending its time going to sleep and waking back up. > On May 29, 2024, at 7:10 PM, robert engels wrote: > > Ignore that - the first set of metrics are in ms. > > But the wall time within a numTasks is nearly identical regardless of scenario. > >> On May 29, 2024, at 7:09 PM, robert engels > wrote: >> >> But looking at the numbers some more they don?t make sense. The total times go way down, moving from 10_000 tasks to 100_000 tasks. Then they go up again (expected) moving from 100_000 to 1_000_000 >> >> I don?t think the wall time should ever go down when the number of tasks go up, so something doesn?t seem right. >> >>> On May 29, 2024, at 6:03 PM, Attila Kelemen > wrote: >>> >>> Yeah, just realized that and sent my email pretty much literally a second after your email :) >>> >>> Anyway, while yes in theory 1M threads are contending for the semaphore, but I don't think that should be a problem, because the contention is rather theoretical, since those "contending" VTs are just sitting in a queue, and after each release only one of them should be released. Also, I think Liam's comparison is fair, because none of the other two methods push back, so pushing back only in the VT version would be very unfair. >>> >>> robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:58): >>> I remember that too, but in this case I don?t think it is the cause. >>> >>> In the bounded/pooled thread scenario - you are only scheduling 600 threads (either platform or virtual). >>> >>> In ?scenario #2? all 1M virtual threads are created and are contending on a sempahore. This contention on a single resource does not occur in the other scenarios - this will lead to thrashing of the scheduler. >>> >>> I suspect if it is run under a profiler it will be obvious. With 128 carrier threads, you have increased the contention over a typical machine by an order of magnitude. >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PastedGraphic-1.png Type: image/png Size: 245369 bytes Desc: not available URL: From rengels at ix.netcom.com Thu May 30 01:19:51 2024 From: rengels at ix.netcom.com (robert engels) Date: Wed, 29 May 2024 20:19:51 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <2338C0EB-97ED-4E8D-BAC7-B1D1C0C681AA@ix.netcom.com> References: <30C57375-E45E-4A97-8CDC-A6E6447580E1@ix.netcom.com> <2338C0EB-97ED-4E8D-BAC7-B1D1C0C681AA@ix.netcom.com> Message-ID: <41EA2E46-3F28-4A84-9DDA-5A2DEC22448D@ix.netcom.com> I am guessing the JVM is optimizing away the call to fibonacci() since the results are not used, so all the tasks are doing are sleeping and waking up. Not a good test. > On May 29, 2024, at 8:15 PM, robert engels wrote: > > You can see from the flame graph that the system is spending all of its time scheduling VTs and sleeping - the ?work? is negligible. The is the carrier thread on my system with the most ?work? (execute()) - most of the carrier threads are doing no work at all. Every carrier is spending its time going to sleep and waking back up. > > >> On May 29, 2024, at 7:10 PM, robert engels > wrote: >> >> Ignore that - the first set of metrics are in ms. >> >> But the wall time within a numTasks is nearly identical regardless of scenario. >> >>> On May 29, 2024, at 7:09 PM, robert engels > wrote: >>> >>> But looking at the numbers some more they don?t make sense. The total times go way down, moving from 10_000 tasks to 100_000 tasks. Then they go up again (expected) moving from 100_000 to 1_000_000 >>> >>> I don?t think the wall time should ever go down when the number of tasks go up, so something doesn?t seem right. >>> >>>> On May 29, 2024, at 6:03 PM, Attila Kelemen > wrote: >>>> >>>> Yeah, just realized that and sent my email pretty much literally a second after your email :) >>>> >>>> Anyway, while yes in theory 1M threads are contending for the semaphore, but I don't think that should be a problem, because the contention is rather theoretical, since those "contending" VTs are just sitting in a queue, and after each release only one of them should be released. Also, I think Liam's comparison is fair, because none of the other two methods push back, so pushing back only in the VT version would be very unfair. >>>> >>>> robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 0:58): >>>> I remember that too, but in this case I don?t think it is the cause. >>>> >>>> In the bounded/pooled thread scenario - you are only scheduling 600 threads (either platform or virtual). >>>> >>>> In ?scenario #2? all 1M virtual threads are created and are contending on a sempahore. This contention on a single resource does not occur in the other scenarios - this will lead to thrashing of the scheduler. >>>> >>>> I suspect if it is run under a profiler it will be obvious. With 128 carrier threads, you have increased the contention over a typical machine by an order of magnitude. >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alan.Bateman at oracle.com Thu May 30 09:47:02 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 30 May 2024 10:47:02 +0100 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: <03f046d6-233b-4d3e-8dce-d051c4202ca8@oracle.com> On 28/05/2024 23:43, Liam Miller-Cushon wrote: > Hello, > > JEP 444 [1] and the docs in [2] mention that virtual threads should > not be pooled, and suggest semaphores as one possible alternative. > > My colleague Chi Wang has been investigating virtual thread > performance, and has found that creating one virtual thread per task > and synchronizing on a semaphore can result in worse performance on > machines with large numbers of cores. > > A benchmark run on a 128 core machine is included below. It submits > numTasks tasks to the executor determined by the strategy. The task > itself is mixed with CPU and I/O work (simulated by fibonacci and > sleep). The parallelism is set to 600 for all strategies. > > * Strategy 1 is the baseline where it just submits all the tasks to a > ForkJoinPool whose pool size is 600. > * Strategy 2 uses the method suggested by JEP 444. > * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. > > Note that, with 100K and 1M tasks, strategy 2 has a CPU time > regression that seems to increase with the number of cores. This > result can be reproduced on the real-world program that is being > migrated to a virtual-thread-per-task model. > > Diffing the cpu profile between strategy 1 and strategy 2 showed that > most of the CPU regression comes from method > `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, > long, int)`. If the concurrency for the virtual thread run is limited to the same value as the thread count in the thread pool runs then you are unlikely to see benefit. The increased CPU time probably isn't too surprising either. In the two runs with threads then the N task are queued once. In the virtual thread run then the tasks for the N virtual threads may be queued up to 4 times, one for the initial submit, one waiting for semaphore permit, and twice for the two sleeps. Also when CPU utilization is low (as I assume it is here) then the FJP scan does tend up to show up in profiles. Has Chi looked into increasing the concurrency so that it's not limited to 600? Concurrency may need limited at finer grain the "real world program", but may not the number of threads. -Alan From attila.kelemen85 at gmail.com Thu May 30 12:06:51 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 14:06:51 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <03f046d6-233b-4d3e-8dce-d051c4202ca8@oracle.com> References: <03f046d6-233b-4d3e-8dce-d051c4202ca8@oracle.com> Message-ID: Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? > > If the concurrency for the virtual thread run is limited to the same > value as the thread count in the thread pool runs then you are unlikely > to see benefit. The increased CPU time probably isn't too surprising > either. In the two runs with threads then the N task are queued once. In > the virtual thread run then the tasks for the N virtual threads may be > queued up to 4 times, one for the initial submit, one waiting for > semaphore permit, and twice for the two sleeps. Also when CPU > utilization is low (as I assume it is here) then the FJP scan does tend > up to show up in profiles. > > Has Chi looked into increasing the concurrency so that it's not limited > to 600? Concurrency may need limited at finer grain the "real world > program", but may not the number of threads. > > -Alan > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 12:10:40 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Thu, 30 May 2024 07:10:40 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: <0FAF577D-E661-48BE-8715-31E0EEE2890F@ix.netcom.com> That is what I pointed out - in scenario 2 you are creating 1M VT up front. The other cases only create at most 600 VT or platform threads. The peak memory usage in scenario 2 is much much higher. > On May 30, 2024, at 7:07?AM, Attila Kelemen wrote: > > ? > Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? > >> >> If the concurrency for the virtual thread run is limited to the same >> value as the thread count in the thread pool runs then you are unlikely >> to see benefit. The increased CPU time probably isn't too surprising >> either. In the two runs with threads then the N task are queued once. In >> the virtual thread run then the tasks for the N virtual threads may be >> queued up to 4 times, one for the initial submit, one waiting for >> semaphore permit, and twice for the two sleeps. Also when CPU >> utilization is low (as I assume it is here) then the FJP scan does tend >> up to show up in profiles. >> >> Has Chi looked into increasing the concurrency so that it's not limited >> to 600? Concurrency may need limited at finer grain the "real world >> program", but may not the number of threads. >> >> -Alan >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Thu May 30 12:20:33 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 14:20:33 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <0FAF577D-E661-48BE-8715-31E0EEE2890F@ix.netcom.com> References: <0FAF577D-E661-48BE-8715-31E0EEE2890F@ix.netcom.com> Message-ID: They only create 600 VT, but they do create 1M queue entries for the executor, and the relative memory usage should be the same for the scenario of 10k tasks and the 1M (both in terms of bytes and number of objects). I would love to see the result of this experiment with the epsilon GC (given that the total memory usage should be manageable even for 1M tasks) to confirm or exclude the possibility of the GC scaling this noticeably poorly. Robert Engels ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:10): > That is what I pointed out - in scenario 2 you are creating 1M VT up > front. The other cases only create at most 600 VT or platform threads. > > The peak memory usage in scenario 2 is much much higher. > > On May 30, 2024, at 7:07?AM, Attila Kelemen > wrote: > > ? > Though the additional work the VT has to do is understandable. However, I > don't see them explaining these measurements. Because in the case of 10k > tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the > source of the scaling difference, when there are still only 128 carriers, > and 600 concurrent threads in both cases? If this was merely more work, > then I would expect to see the same relative difference between FJP and VT > when there are 10k tasks and when there are 1M tasks. Just a wild naive > guess: Could the GC scale worse for that many VTs, or is that a stupid idea? > > >> >> If the concurrency for the virtual thread run is limited to the same >> value as the thread count in the thread pool runs then you are unlikely >> to see benefit. The increased CPU time probably isn't too surprising >> either. In the two runs with threads then the N task are queued once. In >> the virtual thread run then the tasks for the N virtual threads may be >> queued up to 4 times, one for the initial submit, one waiting for >> semaphore permit, and twice for the two sleeps. Also when CPU >> utilization is low (as I assume it is here) then the FJP scan does tend >> up to show up in profiles. >> >> Has Chi looked into increasing the concurrency so that it's not limited >> to 600? Concurrency may need limited at finer grain the "real world >> program", but may not the number of threads. >> >> -Alan >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Thu May 30 12:24:45 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 14:24:45 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: <0FAF577D-E661-48BE-8715-31E0EEE2890F@ix.netcom.com> Message-ID: A small correction: "They only create 600 VT" should be platform thread, not VT of course for the fork join pool. Also note: That the scaling difference between option 3 and option 2 is not large. If it was simply the problem with creating more VTs upfront, then we would have to see a similar increase in difference between case 3 and 2. Attila Kelemen ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:20): > They only create 600 VT, but they do create 1M queue entries for the > executor, and the relative memory usage should be the same for the scenario > of 10k tasks and the 1M (both in terms of bytes and number of objects). I > would love to see the result of this experiment with the epsilon GC (given > that the total memory usage should be manageable even for 1M tasks) to > confirm or exclude the possibility of the GC scaling this noticeably poorly. > > Robert Engels ezt ?rta (id?pont: 2024. m?j. 30., > Cs, 14:10): > >> That is what I pointed out - in scenario 2 you are creating 1M VT up >> front. The other cases only create at most 600 VT or platform threads. >> >> The peak memory usage in scenario 2 is much much higher. >> >> On May 30, 2024, at 7:07?AM, Attila Kelemen >> wrote: >> >> ? >> Though the additional work the VT has to do is understandable. However, I >> don't see them explaining these measurements. Because in the case of 10k >> tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the >> source of the scaling difference, when there are still only 128 carriers, >> and 600 concurrent threads in both cases? If this was merely more work, >> then I would expect to see the same relative difference between FJP and VT >> when there are 10k tasks and when there are 1M tasks. Just a wild naive >> guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >> >> >>> >>> If the concurrency for the virtual thread run is limited to the same >>> value as the thread count in the thread pool runs then you are unlikely >>> to see benefit. The increased CPU time probably isn't too surprising >>> either. In the two runs with threads then the N task are queued once. In >>> the virtual thread run then the tasks for the N virtual threads may be >>> queued up to 4 times, one for the initial submit, one waiting for >>> semaphore permit, and twice for the two sleeps. Also when CPU >>> utilization is low (as I assume it is here) then the FJP scan does tend >>> up to show up in profiles. >>> >>> Has Chi looked into increasing the concurrency so that it's not limited >>> to 600? Concurrency may need limited at finer grain the "real world >>> program", but may not the number of threads. >>> >>> -Alan >>> >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 12:27:32 2024 From: rengels at ix.netcom.com (Robert Engels) Date: Thu, 30 May 2024 07:27:32 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 13:35:52 2024 From: rengels at ix.netcom.com (robert engels) Date: Thu, 30 May 2024 08:35:52 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> References: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> Message-ID: <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> Reworking the design (scenario 4) brings the pooling and new VT per task in line: iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 2 1000000 real 0m38.405s user 3m42.240s sys 0m12.976s iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 3 1000000 real 0m37.710s user 2m28.901s sys 0m3.427s iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 real 0m38.441s user 2m39.547s sys 0m7.027s My machine only has 8 real cores, so I expect greater system cpu usage due to kernel thread scheduling. There is also the additional semaphore management. In scenario 2, the system is starting and scheduling all 1 million threads, just to have them go park, waiting on the semaphore, then to be woken up and rescheduled. This is not insignificant. Scenario 4 avoid this. import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Semaphore; import java.util.concurrent.ThreadFactory; public class Main { private static Semaphore semaphore = null; private static int sink = 0; public static void main(String[] args) { int strategy = 0; int parallelism = 600; int numTasks = 10000; if (args.length > 1) { strategy = Integer.parseInt(args[1]); } if (args.length > 2) { numTasks = Integer.parseInt(args[2]); } ExecutorService executor; switch (strategy) { case 1 -> { executor = new ForkJoinPool(parallelism); } case 2 -> { executor = Executors.newVirtualThreadPerTaskExecutor(); semaphore = new Semaphore(parallelism); } case 3 -> { executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); } case 4 -> { var factorySem = new Semaphore(parallelism); ThreadFactory tf = (Runnable r) -> { try { factorySem.acquire(); } catch (InterruptedException ex) { throw new IllegalStateException("interrupted"); } return Thread.ofVirtual().unstarted(() -> { try { r.run(); } finally { factorySem.release(); } }); }; executor = Executors.newThreadPerTaskExecutor(tf); } default -> { throw new IllegalArgumentException(); } } try (executor) { for (var i = 0; i < numTasks; ++i) { executor.execute(Main::task); } } } private static void task() { if (semaphore != null) { try { semaphore.acquire(); } catch (InterruptedException e) { throw new IllegalStateException(); } } try { Main:sink += fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } Main:sink += fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } Main:sink += fibonacci(20); } finally { if (semaphore != null) { semaphore.release(); } } } private static int fibonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } } > On May 30, 2024, at 7:27 AM, Robert Engels wrote: > > I am going to dig in some more today - interesting problem. Is it maybe in scenario 2 you are creating the 1M queue entries and 1M VT at the same time? I don?t remember if the queue entry is is actually GCable until it completes in order to support error reporting. > >> On May 30, 2024, at 7:20?AM, Attila Kelemen wrote: >> >> ? >> They only create 600 VT, but they do create 1M queue entries for the executor, and the relative memory usage should be the same for the scenario of 10k tasks and the 1M (both in terms of bytes and number of objects). I would love to see the result of this experiment with the epsilon GC (given that the total memory usage should be manageable even for 1M tasks) to confirm or exclude the possibility of the GC scaling this noticeably poorly. >> >> Robert Engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:10): >> That is what I pointed out - in scenario 2 you are creating 1M VT up front. The other cases only create at most 600 VT or platform threads. >> >> The peak memory usage in scenario 2 is much much higher. >> >>> On May 30, 2024, at 7:07?AM, Attila Kelemen > wrote: >>> >>> ? >>> Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >>> >>> >>> If the concurrency for the virtual thread run is limited to the same >>> value as the thread count in the thread pool runs then you are unlikely >>> to see benefit. The increased CPU time probably isn't too surprising >>> either. In the two runs with threads then the N task are queued once. In >>> the virtual thread run then the tasks for the N virtual threads may be >>> queued up to 4 times, one for the initial submit, one waiting for >>> semaphore permit, and twice for the two sleeps. Also when CPU >>> utilization is low (as I assume it is here) then the FJP scan does tend >>> up to show up in profiles. >>> >>> Has Chi looked into increasing the concurrency so that it's not limited >>> to 600? Concurrency may need limited at finer grain the "real world >>> program", but may not the number of threads. >>> >>> -Alan >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 13:44:08 2024 From: rengels at ix.netcom.com (robert engels) Date: Thu, 30 May 2024 08:44:08 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> References: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> Message-ID: <42F9CD1D-B680-4245-B6A4-D1F40603823A@ix.netcom.com> As a somewhat important aside, I am guessing based on the original reported timings, that it is not a real 128 core machine. It is most likely 128 virtual cores, and probably shared. I don?t think you should be performing CPU benchmarks in those environments. The fact that my 8 core machine (only 4 real cores) is outperforming a 128 core machine is not a good sign. > On May 30, 2024, at 8:35 AM, robert engels wrote: > > Reworking the design (scenario 4) brings the pooling and new VT per task in line: > > iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 2 1000000 > > real 0m38.405s > user 3m42.240s > sys 0m12.976s > > iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 3 1000000 > > real 0m37.710s > user 2m28.901s > sys 0m3.427s > > iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 > > real 0m38.441s > user 2m39.547s > sys 0m7.027s > > My machine only has 8 real cores, so I expect greater system cpu usage due to kernel thread scheduling. There is also the additional semaphore management. > > In scenario 2, the system is starting and scheduling all 1 million threads, just to have them go park, waiting on the semaphore, then to be woken up and rescheduled. This is not insignificant. Scenario 4 avoid this. > > import java.util.concurrent.ExecutorService; > import java.util.concurrent.Executors; > import java.util.concurrent.ForkJoinPool; > import java.util.concurrent.Semaphore; > import java.util.concurrent.ThreadFactory; > > public class Main { > > private static Semaphore semaphore = null; > private static int sink = 0; > > public static void main(String[] args) { > int strategy = 0; > int parallelism = 600; > int numTasks = 10000; > > if (args.length > 1) { > strategy = Integer.parseInt(args[1]); > } > > if (args.length > 2) { > numTasks = Integer.parseInt(args[2]); > } > > ExecutorService executor; > switch (strategy) { > case 1 -> { > executor = new ForkJoinPool(parallelism); > } > case 2 -> { > executor = Executors.newVirtualThreadPerTaskExecutor(); > semaphore = new Semaphore(parallelism); > } > case 3 -> { > executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); > } > case 4 -> { > var factorySem = new Semaphore(parallelism); > ThreadFactory tf = (Runnable r) -> { > try { > factorySem.acquire(); > } catch (InterruptedException ex) { > throw new IllegalStateException("interrupted"); > } > return Thread.ofVirtual().unstarted(() -> > { > try { > r.run(); > } finally { > factorySem.release(); > } > }); > }; > executor = Executors.newThreadPerTaskExecutor(tf); > } > default -> { > throw new IllegalArgumentException(); > } > } > > try (executor) { > for (var i = 0; i < numTasks; ++i) { > executor.execute(Main::task); > } > } > } > > private static void task() { > if (semaphore != null) { > try { > semaphore.acquire(); > } catch (InterruptedException e) { > throw new IllegalStateException(); > } > } > > try { > Main:sink += fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > Main:sink += fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > Main:sink += fibonacci(20); > } finally { > if (semaphore != null) { > semaphore.release(); > } > } > } > > private static int fibonacci(int n) { > if (n == 0) { > return 0; > } else if (n == 1) { > return 1; > } else { > return fibonacci(n - 1) + fibonacci(n - 2); > } > } > } > > >> On May 30, 2024, at 7:27 AM, Robert Engels > wrote: >> >> I am going to dig in some more today - interesting problem. Is it maybe in scenario 2 you are creating the 1M queue entries and 1M VT at the same time? I don?t remember if the queue entry is is actually GCable until it completes in order to support error reporting. >> >>> On May 30, 2024, at 7:20?AM, Attila Kelemen > wrote: >>> >>> ? >>> They only create 600 VT, but they do create 1M queue entries for the executor, and the relative memory usage should be the same for the scenario of 10k tasks and the 1M (both in terms of bytes and number of objects). I would love to see the result of this experiment with the epsilon GC (given that the total memory usage should be manageable even for 1M tasks) to confirm or exclude the possibility of the GC scaling this noticeably poorly. >>> >>> Robert Engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:10): >>> That is what I pointed out - in scenario 2 you are creating 1M VT up front. The other cases only create at most 600 VT or platform threads. >>> >>> The peak memory usage in scenario 2 is much much higher. >>> >>>> On May 30, 2024, at 7:07?AM, Attila Kelemen > wrote: >>>> >>>> ? >>>> Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >>>> >>>> >>>> If the concurrency for the virtual thread run is limited to the same >>>> value as the thread count in the thread pool runs then you are unlikely >>>> to see benefit. The increased CPU time probably isn't too surprising >>>> either. In the two runs with threads then the N task are queued once. In >>>> the virtual thread run then the tasks for the N virtual threads may be >>>> queued up to 4 times, one for the initial submit, one waiting for >>>> semaphore permit, and twice for the two sleeps. Also when CPU >>>> utilization is low (as I assume it is here) then the FJP scan does tend >>>> up to show up in profiles. >>>> >>>> Has Chi looked into increasing the concurrency so that it's not limited >>>> to 600? Concurrency may need limited at finer grain the "real world >>>> program", but may not the number of threads. >>>> >>>> -Alan >>>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.kelemen85 at gmail.com Thu May 30 14:08:16 2024 From: attila.kelemen85 at gmail.com (Attila Kelemen) Date: Thu, 30 May 2024 16:08:16 +0200 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: <42F9CD1D-B680-4245-B6A4-D1F40603823A@ix.netcom.com> References: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> <42F9CD1D-B680-4245-B6A4-D1F40603823A@ix.netcom.com> Message-ID: Your case 4 is unfair. It doesn't have the same behavior as the other 3, because you are pushing back (i.e., you are limiting the task producer thread) which is of course more efficient. Even though pushing back is normally necessary in real world code, you are just simply measuring something different, and I suppose the question is not how to make this code faster, but why case 2 scales so weirdly with the number of tasks compared to the other two scenarios. Also, I might be misreading something, but you are not outperforming the reported numbers. You are about 4s slower. FYI: Liam had the CPU near the end of his email: "AMD Ryzen Threadripper PRO 3995WX" (64 real cores). robert engels ezt ?rta (id?pont: 2024. m?j. 30., Cs, 15:44): > As a somewhat important aside, I am guessing based on the original > reported timings, that it is not a real 128 core machine. It is most likely > 128 virtual cores, and probably shared. I don?t think you should be > performing CPU benchmarks in those environments. The fact that my 8 core > machine (only 4 real cores) is outperforming a 128 core machine is not a > good sign. > > On May 30, 2024, at 8:35 AM, robert engels wrote: > > Reworking the design (scenario 4) brings the pooling and new VT per task > in line: > > iMac:vt_test robertengels$ time java > -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 2 1000000 > > real 0m38.405s > user 3m42.240s > sys 0m12.976s > > iMac:vt_test robertengels$ time java > -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 3 1000000 > > real 0m37.710s > user 2m28.901s > sys 0m3.427s > > iMac:vt_test robertengels$ time java > -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 > > real 0m38.441s > user 2m39.547s > sys 0m7.027s > > My machine only has 8 real cores, so I expect greater system cpu usage due > to kernel thread scheduling. There is also the additional semaphore > management. > > In scenario 2, the system is starting and scheduling all 1 million > threads, just to have them go park, waiting on the semaphore, then to be > woken up and rescheduled. This is not insignificant. Scenario 4 avoid this. > > import java.util.concurrent.ExecutorService; > import java.util.concurrent.Executors; > import java.util.concurrent.ForkJoinPool; > import java.util.concurrent.Semaphore; > import java.util.concurrent.ThreadFactory; > > public class Main { > > private static Semaphore semaphore = null; > private static int sink = 0; > > public static void main(String[] args) { > int strategy = 0; > int parallelism = 600; > int numTasks = 10000; > > if (args.length > 1) { > strategy = Integer.parseInt(args[1]); > } > > if (args.length > 2) { > numTasks = Integer.parseInt(args[2]); > } > > ExecutorService executor; > switch (strategy) { > case 1 -> { > executor = new ForkJoinPool(parallelism); > } > case 2 -> { > executor = Executors.newVirtualThreadPerTaskExecutor(); > semaphore = new Semaphore(parallelism); > } > case 3 -> { > > executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); > } > case 4 -> { > var factorySem = new Semaphore(parallelism); > ThreadFactory tf = (Runnable r) -> { > try { > factorySem.acquire(); > } catch (InterruptedException ex) { > throw new IllegalStateException("interrupted"); > } > return Thread.ofVirtual().unstarted(() -> > { > try { > r.run(); > } finally { > factorySem.release(); > } > }); > }; > executor = Executors.newThreadPerTaskExecutor(tf); > } > default -> { > throw new IllegalArgumentException(); > } > } > > try (executor) { > for (var i = 0; i < numTasks; ++i) { > executor.execute(Main::task); > } > } > } > > private static void task() { > if (semaphore != null) { > try { > semaphore.acquire(); > } catch (InterruptedException e) { > throw new IllegalStateException(); > } > } > > try { > Main:sink += fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > Main:sink += fibonacci(20); > try { > Thread.sleep(10); > } catch (InterruptedException e) { > } > Main:sink += fibonacci(20); > } finally { > if (semaphore != null) { > semaphore.release(); > } > } > } > > private static int fibonacci(int n) { > if (n == 0) { > return 0; > } else if (n == 1) { > return 1; > } else { > return fibonacci(n - 1) + fibonacci(n - 2); > } > } > } > > > On May 30, 2024, at 7:27 AM, Robert Engels wrote: > > I am going to dig in some more today - interesting problem. Is it maybe in > scenario 2 you are creating the 1M queue entries and 1M VT at the same > time? I don?t remember if the queue entry is is actually GCable until it > completes in order to support error reporting. > > On May 30, 2024, at 7:20?AM, Attila Kelemen > wrote: > > ? > They only create 600 VT, but they do create 1M queue entries for the > executor, and the relative memory usage should be the same for the scenario > of 10k tasks and the 1M (both in terms of bytes and number of objects). I > would love to see the result of this experiment with the epsilon GC (given > that the total memory usage should be manageable even for 1M tasks) to > confirm or exclude the possibility of the GC scaling this noticeably poorly. > > Robert Engels ezt ?rta (id?pont: 2024. m?j. 30., > Cs, 14:10): > >> That is what I pointed out - in scenario 2 you are creating 1M VT up >> front. The other cases only create at most 600 VT or platform threads. >> >> The peak memory usage in scenario 2 is much much higher. >> >> On May 30, 2024, at 7:07?AM, Attila Kelemen >> wrote: >> >> ? >> Though the additional work the VT has to do is understandable. However, I >> don't see them explaining these measurements. Because in the case of 10k >> tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the >> source of the scaling difference, when there are still only 128 carriers, >> and 600 concurrent threads in both cases? If this was merely more work, >> then I would expect to see the same relative difference between FJP and VT >> when there are 10k tasks and when there are 1M tasks. Just a wild naive >> guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >> >> >>> >>> If the concurrency for the virtual thread run is limited to the same >>> value as the thread count in the thread pool runs then you are unlikely >>> to see benefit. The increased CPU time probably isn't too surprising >>> either. In the two runs with threads then the N task are queued once. In >>> the virtual thread run then the tasks for the N virtual threads may be >>> queued up to 4 times, one for the initial submit, one waiting for >>> semaphore permit, and twice for the two sleeps. Also when CPU >>> utilization is low (as I assume it is here) then the FJP scan does tend >>> up to show up in profiles. >>> >>> Has Chi looked into increasing the concurrency so that it's not limited >>> to 600? Concurrency may need limited at finer grain the "real world >>> program", but may not the number of threads. >>> >>> -Alan >>> >>> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 14:50:25 2024 From: rengels at ix.netcom.com (robert engels) Date: Thu, 30 May 2024 09:50:25 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> <42F9CD1D-B680-4245-B6A4-D1F40603823A@ix.netcom.com> Message-ID: A minor rework would fix that - but the ThreadPerTaskExecutor is not public, so it would have been more work. The total task submission time is insignificant - that is not the issue. It is only added an entry per task to concurrent linked list. My tests are easily outperforming if I only have 4 cores and the reporter has 64 - on an ops per cpu basis. The OP also states: "A benchmark run on a 128 core machine is included below.? So, it may be 64, but it probably has dual hardware threads. Also, look at the user and system cpu times - those are more important than wall time if you are attempting to look at efficiency of schedulers. My reported times are way lower across every scenario - which is why it appears something else may be affecting the OP?s testing. > On May 30, 2024, at 9:08 AM, Attila Kelemen wrote: > > Your case 4 is unfair. It doesn't have the same behavior as the other 3, because you are pushing back (i.e., you are limiting the task producer thread) which is of course more efficient. Even though pushing back is normally necessary in real world code, you are just simply measuring something different, and I suppose the question is not how to make this code faster, but why case 2 scales so weirdly with the number of tasks compared to the other two scenarios. > > Also, I might be misreading something, but you are not outperforming the reported numbers. You are about 4s slower. FYI: Liam had the CPU near the end of his email: "AMD Ryzen Threadripper PRO 3995WX" (64 real cores). > > robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 15:44): > As a somewhat important aside, I am guessing based on the original reported timings, that it is not a real 128 core machine. It is most likely 128 virtual cores, and probably shared. I don?t think you should be performing CPU benchmarks in those environments. The fact that my 8 core machine (only 4 real cores) is outperforming a 128 core machine is not a good sign. > >> On May 30, 2024, at 8:35 AM, robert engels > wrote: >> >> Reworking the design (scenario 4) brings the pooling and new VT per task in line: >> >> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 2 1000000 >> >> real 0m38.405s >> user 3m42.240s >> sys 0m12.976s >> >> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 3 1000000 >> >> real 0m37.710s >> user 2m28.901s >> sys 0m3.427s >> >> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 >> >> real 0m38.441s >> user 2m39.547s >> sys 0m7.027s >> >> My machine only has 8 real cores, so I expect greater system cpu usage due to kernel thread scheduling. There is also the additional semaphore management. >> >> In scenario 2, the system is starting and scheduling all 1 million threads, just to have them go park, waiting on the semaphore, then to be woken up and rescheduled. This is not insignificant. Scenario 4 avoid this. >> >> import java.util.concurrent.ExecutorService; >> import java.util.concurrent.Executors; >> import java.util.concurrent.ForkJoinPool; >> import java.util.concurrent.Semaphore; >> import java.util.concurrent.ThreadFactory; >> >> public class Main { >> >> private static Semaphore semaphore = null; >> private static int sink = 0; >> >> public static void main(String[] args) { >> int strategy = 0; >> int parallelism = 600; >> int numTasks = 10000; >> >> if (args.length > 1) { >> strategy = Integer.parseInt(args[1]); >> } >> >> if (args.length > 2) { >> numTasks = Integer.parseInt(args[2]); >> } >> >> ExecutorService executor; >> switch (strategy) { >> case 1 -> { >> executor = new ForkJoinPool(parallelism); >> } >> case 2 -> { >> executor = Executors.newVirtualThreadPerTaskExecutor(); >> semaphore = new Semaphore(parallelism); >> } >> case 3 -> { >> executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); >> } >> case 4 -> { >> var factorySem = new Semaphore(parallelism); >> ThreadFactory tf = (Runnable r) -> { >> try { >> factorySem.acquire(); >> } catch (InterruptedException ex) { >> throw new IllegalStateException("interrupted"); >> } >> return Thread.ofVirtual().unstarted(() -> >> { >> try { >> r.run(); >> } finally { >> factorySem.release(); >> } >> }); >> }; >> executor = Executors.newThreadPerTaskExecutor(tf); >> } >> default -> { >> throw new IllegalArgumentException(); >> } >> } >> >> try (executor) { >> for (var i = 0; i < numTasks; ++i) { >> executor.execute(Main::task); >> } >> } >> } >> >> private static void task() { >> if (semaphore != null) { >> try { >> semaphore.acquire(); >> } catch (InterruptedException e) { >> throw new IllegalStateException(); >> } >> } >> >> try { >> Main:sink += fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> Main:sink += fibonacci(20); >> try { >> Thread.sleep(10); >> } catch (InterruptedException e) { >> } >> Main:sink += fibonacci(20); >> } finally { >> if (semaphore != null) { >> semaphore.release(); >> } >> } >> } >> >> private static int fibonacci(int n) { >> if (n == 0) { >> return 0; >> } else if (n == 1) { >> return 1; >> } else { >> return fibonacci(n - 1) + fibonacci(n - 2); >> } >> } >> } >> >> >>> On May 30, 2024, at 7:27 AM, Robert Engels > wrote: >>> >>> I am going to dig in some more today - interesting problem. Is it maybe in scenario 2 you are creating the 1M queue entries and 1M VT at the same time? I don?t remember if the queue entry is is actually GCable until it completes in order to support error reporting. >>> >>>> On May 30, 2024, at 7:20?AM, Attila Kelemen > wrote: >>>> >>>> ? >>>> They only create 600 VT, but they do create 1M queue entries for the executor, and the relative memory usage should be the same for the scenario of 10k tasks and the 1M (both in terms of bytes and number of objects). I would love to see the result of this experiment with the epsilon GC (given that the total memory usage should be manageable even for 1M tasks) to confirm or exclude the possibility of the GC scaling this noticeably poorly. >>>> >>>> Robert Engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:10): >>>> That is what I pointed out - in scenario 2 you are creating 1M VT up front. The other cases only create at most 600 VT or platform threads. >>>> >>>> The peak memory usage in scenario 2 is much much higher. >>>> >>>>> On May 30, 2024, at 7:07?AM, Attila Kelemen > wrote: >>>>> >>>>> ? >>>>> Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >>>>> >>>>> >>>>> If the concurrency for the virtual thread run is limited to the same >>>>> value as the thread count in the thread pool runs then you are unlikely >>>>> to see benefit. The increased CPU time probably isn't too surprising >>>>> either. In the two runs with threads then the N task are queued once. In >>>>> the virtual thread run then the tasks for the N virtual threads may be >>>>> queued up to 4 times, one for the initial submit, one waiting for >>>>> semaphore permit, and twice for the two sleeps. Also when CPU >>>>> utilization is low (as I assume it is here) then the FJP scan does tend >>>>> up to show up in profiles. >>>>> >>>>> Has Chi looked into increasing the concurrency so that it's not limited >>>>> to 600? Concurrency may need limited at finer grain the "real world >>>>> program", but may not the number of threads. >>>>> >>>>> -Alan >>>>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rengels at ix.netcom.com Thu May 30 15:36:47 2024 From: rengels at ix.netcom.com (robert engels) Date: Thu, 30 May 2024 10:36:47 -0500 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: <15E6BDB2-A351-4A98-9A1D-B7E7A386FF3D@ix.netcom.com> <5EB71837-123B-4FD5-9332-7EB408D49314@ix.netcom.com> <42F9CD1D-B680-4245-B6A4-D1F40603823A@ix.netcom.com> Message-ID: <8B38120E-BC5E-4FBA-BA09-3D2A44EB3053@ix.netcom.com> Attached is a version that doesn?t throttle the submitter (it is not fully correct but enough for testing). It is better than scenario 2, not as good as 3. The increased number of carrier threads (without cores) hurts performance - as is expected. I would guess if the OP tries scenario 4 on his test machine, it will perform similar to scenario 3. iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 all tasks submitted real 0m37.820s user 2m56.453s sys 0m9.973s iMac:vt_test robertengels$ time java Main dummy 4 1000000 all tasks submitted real 0m37.992s user 2m25.169s sys 0m3.943s import java.util.Collection; import java.util.List; import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Future; import java.util.concurrent.Semaphore; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.LockSupport; public class Main { private static Semaphore semaphore = null; private static int sink = 0; public static void main(String[] args) { int strategy = 0; int parallelism = 600; int numTasks = 10000; if (args.length > 1) { strategy = Integer.parseInt(args[1]); } if (args.length > 2) { numTasks = Integer.parseInt(args[2]); } ExecutorService executor; switch (strategy) { case 1 -> { executor = new ForkJoinPool(parallelism); } case 2 -> { executor = Executors.newVirtualThreadPerTaskExecutor(); semaphore = new Semaphore(parallelism); } case 3 -> { executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); } case 4 -> { executor = new VirtualThreadExecutorService(parallelism); } default -> { throw new IllegalArgumentException(); } } try (executor) { for (var i = 0; i < numTasks; ++i) { executor.execute(Main::task); } System.out.println("all tasks submitted"); } } private static void task() { if (semaphore != null) { try { semaphore.acquire(); } catch (InterruptedException e) { throw new IllegalStateException(); } } try { Main:sink += fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } Main:sink += fibonacci(20); try { Thread.sleep(10); } catch (InterruptedException e) { } Main:sink += fibonacci(20); } finally { if (semaphore != null) { semaphore.release(); } } } private static int fibonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } } final class VirtualThreadExecutorService extends AbstractExecutorService { private final ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue<>(); private final AtomicInteger count = new AtomicInteger(0); private final Semaphore semaphore; private volatile boolean shutdown = false; private volatile Thread waiter = null; public VirtualThreadExecutorService(int maxConcurrency) { semaphore = new Semaphore(maxConcurrency); } @Override public void shutdown() { shutdown=true; } @Override public List shutdownNow() { throw new UnsupportedOperationException("Not supported yet."); } @Override public boolean isShutdown() { return shutdown; } @Override public boolean isTerminated() { return count.get()==0; } @Override public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { waiter = Thread.currentThread(); while(count.get()>0) { LockSupport.park(); } return true; } private void maybeStartAnother() { if(!queue.isEmpty() && semaphore.tryAcquire()) { Runnable r = queue.poll(); if(r!=null) { Thread.ofVirtual().start(r); } else { semaphore.release(); } } } @Override public void execute(Runnable command) { if(shutdown) throw new IllegalStateException("executor is shutdown"); count.incrementAndGet(); queue.add(() -> { command.run(); semaphore.release(); if(count.decrementAndGet()==0) { LockSupport.unpark(waiter); } maybeStartAnother(); }); maybeStartAnother(); } } > On May 30, 2024, at 9:50 AM, robert engels wrote: > > A minor rework would fix that - but the ThreadPerTaskExecutor is not public, so it would have been more work. The total task submission time is insignificant - that is not the issue. It is only added an entry per task to concurrent linked list. > > My tests are easily outperforming if I only have 4 cores and the reporter has 64 - on an ops per cpu basis. The OP also states: "A benchmark run on a 128 core machine is included below.? So, it may be 64, but it probably has dual hardware threads. Also, look at the user and system cpu times - those are more important than wall time if you are attempting to look at efficiency of schedulers. My reported times are way lower across every scenario - which is why it appears something else may be affecting the OP?s testing. > >> On May 30, 2024, at 9:08 AM, Attila Kelemen > wrote: >> >> Your case 4 is unfair. It doesn't have the same behavior as the other 3, because you are pushing back (i.e., you are limiting the task producer thread) which is of course more efficient. Even though pushing back is normally necessary in real world code, you are just simply measuring something different, and I suppose the question is not how to make this code faster, but why case 2 scales so weirdly with the number of tasks compared to the other two scenarios. >> >> Also, I might be misreading something, but you are not outperforming the reported numbers. You are about 4s slower. FYI: Liam had the CPU near the end of his email: "AMD Ryzen Threadripper PRO 3995WX" (64 real cores). >> >> robert engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 15:44): >> As a somewhat important aside, I am guessing based on the original reported timings, that it is not a real 128 core machine. It is most likely 128 virtual cores, and probably shared. I don?t think you should be performing CPU benchmarks in those environments. The fact that my 8 core machine (only 4 real cores) is outperforming a 128 core machine is not a good sign. >> >>> On May 30, 2024, at 8:35 AM, robert engels > wrote: >>> >>> Reworking the design (scenario 4) brings the pooling and new VT per task in line: >>> >>> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 2 1000000 >>> >>> real 0m38.405s >>> user 3m42.240s >>> sys 0m12.976s >>> >>> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 3 1000000 >>> >>> real 0m37.710s >>> user 2m28.901s >>> sys 0m3.427s >>> >>> iMac:vt_test robertengels$ time java -Djdk.virtualThreadScheduler.parallelism=128 Main dummy 4 1000000 >>> >>> real 0m38.441s >>> user 2m39.547s >>> sys 0m7.027s >>> >>> My machine only has 8 real cores, so I expect greater system cpu usage due to kernel thread scheduling. There is also the additional semaphore management. >>> >>> In scenario 2, the system is starting and scheduling all 1 million threads, just to have them go park, waiting on the semaphore, then to be woken up and rescheduled. This is not insignificant. Scenario 4 avoid this. >>> >>> import java.util.concurrent.ExecutorService; >>> import java.util.concurrent.Executors; >>> import java.util.concurrent.ForkJoinPool; >>> import java.util.concurrent.Semaphore; >>> import java.util.concurrent.ThreadFactory; >>> >>> public class Main { >>> >>> private static Semaphore semaphore = null; >>> private static int sink = 0; >>> >>> public static void main(String[] args) { >>> int strategy = 0; >>> int parallelism = 600; >>> int numTasks = 10000; >>> >>> if (args.length > 1) { >>> strategy = Integer.parseInt(args[1]); >>> } >>> >>> if (args.length > 2) { >>> numTasks = Integer.parseInt(args[2]); >>> } >>> >>> ExecutorService executor; >>> switch (strategy) { >>> case 1 -> { >>> executor = new ForkJoinPool(parallelism); >>> } >>> case 2 -> { >>> executor = Executors.newVirtualThreadPerTaskExecutor(); >>> semaphore = new Semaphore(parallelism); >>> } >>> case 3 -> { >>> executor = Executors.newFixedThreadPool(parallelism, Thread.ofVirtual().factory()); >>> } >>> case 4 -> { >>> var factorySem = new Semaphore(parallelism); >>> ThreadFactory tf = (Runnable r) -> { >>> try { >>> factorySem.acquire(); >>> } catch (InterruptedException ex) { >>> throw new IllegalStateException("interrupted"); >>> } >>> return Thread.ofVirtual().unstarted(() -> >>> { >>> try { >>> r.run(); >>> } finally { >>> factorySem.release(); >>> } >>> }); >>> }; >>> executor = Executors.newThreadPerTaskExecutor(tf); >>> } >>> default -> { >>> throw new IllegalArgumentException(); >>> } >>> } >>> >>> try (executor) { >>> for (var i = 0; i < numTasks; ++i) { >>> executor.execute(Main::task); >>> } >>> } >>> } >>> >>> private static void task() { >>> if (semaphore != null) { >>> try { >>> semaphore.acquire(); >>> } catch (InterruptedException e) { >>> throw new IllegalStateException(); >>> } >>> } >>> >>> try { >>> Main:sink += fibonacci(20); >>> try { >>> Thread.sleep(10); >>> } catch (InterruptedException e) { >>> } >>> Main:sink += fibonacci(20); >>> try { >>> Thread.sleep(10); >>> } catch (InterruptedException e) { >>> } >>> Main:sink += fibonacci(20); >>> } finally { >>> if (semaphore != null) { >>> semaphore.release(); >>> } >>> } >>> } >>> >>> private static int fibonacci(int n) { >>> if (n == 0) { >>> return 0; >>> } else if (n == 1) { >>> return 1; >>> } else { >>> return fibonacci(n - 1) + fibonacci(n - 2); >>> } >>> } >>> } >>> >>> >>>> On May 30, 2024, at 7:27 AM, Robert Engels > wrote: >>>> >>>> I am going to dig in some more today - interesting problem. Is it maybe in scenario 2 you are creating the 1M queue entries and 1M VT at the same time? I don?t remember if the queue entry is is actually GCable until it completes in order to support error reporting. >>>> >>>>> On May 30, 2024, at 7:20?AM, Attila Kelemen > wrote: >>>>> >>>>> ? >>>>> They only create 600 VT, but they do create 1M queue entries for the executor, and the relative memory usage should be the same for the scenario of 10k tasks and the 1M (both in terms of bytes and number of objects). I would love to see the result of this experiment with the epsilon GC (given that the total memory usage should be manageable even for 1M tasks) to confirm or exclude the possibility of the GC scaling this noticeably poorly. >>>>> >>>>> Robert Engels > ezt ?rta (id?pont: 2024. m?j. 30., Cs, 14:10): >>>>> That is what I pointed out - in scenario 2 you are creating 1M VT up front. The other cases only create at most 600 VT or platform threads. >>>>> >>>>> The peak memory usage in scenario 2 is much much higher. >>>>> >>>>>> On May 30, 2024, at 7:07?AM, Attila Kelemen > wrote: >>>>>> >>>>>> ? >>>>>> Though the additional work the VT has to do is understandable. However, I don't see them explaining these measurements. Because in the case of 10k tasks VT wins over FJP, but with 1M tasks, VT loses to FJP. What is the source of the scaling difference, when there are still only 128 carriers, and 600 concurrent threads in both cases? If this was merely more work, then I would expect to see the same relative difference between FJP and VT when there are 10k tasks and when there are 1M tasks. Just a wild naive guess: Could the GC scale worse for that many VTs, or is that a stupid idea? >>>>>> >>>>>> >>>>>> If the concurrency for the virtual thread run is limited to the same >>>>>> value as the thread count in the thread pool runs then you are unlikely >>>>>> to see benefit. The increased CPU time probably isn't too surprising >>>>>> either. In the two runs with threads then the N task are queued once. In >>>>>> the virtual thread run then the tasks for the N virtual threads may be >>>>>> queued up to 4 times, one for the initial submit, one waiting for >>>>>> semaphore permit, and twice for the two sleeps. Also when CPU >>>>>> utilization is low (as I assume it is here) then the FJP scan does tend >>>>>> up to show up in profiles. >>>>>> >>>>>> Has Chi looked into increasing the concurrency so that it's not limited >>>>>> to 600? Concurrency may need limited at finer grain the "real world >>>>>> program", but may not the number of threads. >>>>>> >>>>>> -Alan >>>>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron.pressler at oracle.com Thu May 30 18:22:41 2024 From: ron.pressler at oracle.com (Ron Pressler) Date: Thu, 30 May 2024 18:22:41 +0000 Subject: Performance of pooling virtual threads vs. semaphores In-Reply-To: References: Message-ID: > On 28 May 2024, at 23:43, Liam Miller-Cushon wrote: > > Hello, > > JEP 444 [1] and the docs in [2] mention that virtual threads should not be pooled, and suggest semaphores as one possible alternative. > > My colleague Chi Wang has been investigating virtual thread performance, and has found that creating one virtual thread per task and synchronizing on a semaphore can result in worse performance on machines with large numbers of cores. > > A benchmark run on a 128 core machine is included below. It submits numTasks tasks to the executor determined by the strategy. The task itself is mixed with CPU and I/O work (simulated by fibonacci and sleep). The parallelism is set to 600 for all strategies. > > * Strategy 1 is the baseline where it just submits all the tasks to a ForkJoinPool whose pool size is 600. > * Strategy 2 uses the method suggested by JEP 444. > * Strategy 3 uses a fixed thread pool of 600 backed by virtual threads. > > Note that, with 100K and 1M tasks, strategy 2 has a CPU time regression that seems to increase with the number of cores. This result can be reproduced on the real-world program that is being migrated to a virtual-thread-per-task model. > > Diffing the cpu profile between strategy 1 and strategy 2 showed that most of the CPU regression comes from method `java.util.concurrent.ForkJoinPool.scan(java.util.concurrent.ForkJoinPool$WorkQueue, long, int)`. > > Are there any ideas for why the semaphore strategy uses more CPU than pooling virtual threads on machines with a large number of cores? My first guess would be that what?s being compared here is not the same algorithm. In strategy 2, you spawn a bunch of different threads that do a tiny bit of work before starting the task, while in the other strategies the algorithm is different. In a realistic workload you will have a number of threads serving requests, and then they may want to access a concurrency-limited resource. I think you can try to simulate that by simulating, say, 1000 tasks running in some large thread pool and then each of them would submit one subtasks to a fixed thread pool of size 10. For virtual threads, have 1000 virtual threads that try to acquire a semaphore with 10 leases. Can you try that? At least then we?ll be comparing oranges to oranges. ? Ron From duke at openjdk.org Thu May 30 20:22:49 2024 From: duke at openjdk.org (duke) Date: Thu, 30 May 2024 20:22:49 GMT Subject: git: openjdk/loom: fibers: 28 new changesets Message-ID: <86e3e6f6-5a36-4b46-8dd4-cad67f689e3f@openjdk.org> Changeset: 2cca83bc Author: Thomas Schatzl Date: 2024-05-29 07:55:01 +0000 URL: https://git.openjdk.org/loom/commit/2cca83bc82eb6b090ae96b8c072b986b93d9244a 8332880: JFR GCHelper class recognizes "Archive" regions as valid Reviewed-by: ayang, iwalulya ! test/lib/jdk/test/lib/jfr/GCHelper.java Changeset: 3d4eb159 Author: Severin Gehwolf Date: 2024-05-29 08:46:27 +0000 URL: https://git.openjdk.org/loom/commit/3d4eb159e6d597f37081faf21b7e3f0f1af299e5 8302744: Refactor Hotspot container detection code Reviewed-by: jsjolen, stuefe ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp - test/hotspot/gtest/os/linux/test_cgroupSubsystem_linux.cpp + test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp - test/hotspot/gtest/runtime/test_os_linux_cgroups.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java Changeset: 9b64ece5 Author: Matthias Baesken Date: 2024-05-29 09:11:04 +0000 URL: https://git.openjdk.org/loom/commit/9b64ece514cf941ebc727991d97c43453d8a488d 8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int' Reviewed-by: mdoerr, jkern ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp Changeset: 6d718ae5 Author: Cesar Soares Lucas Committer: Albert Mingkun Yang Date: 2024-05-29 09:36:13 +0000 URL: https://git.openjdk.org/loom/commit/6d718ae51aeb7143ebfa561501b87fe1ba48039a 8324341: Remove redundant preprocessor #if's checks Reviewed-by: kvn, ayang ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: c003c120 Author: Maurizio Cimadamore Date: 2024-05-29 11:12:30 +0000 URL: https://git.openjdk.org/loom/commit/c003c1207fae07bcfe5a6f642a9c05e6c591e7a6 8331865: Consolidate size and alignment checks in LayoutPath Reviewed-by: psandoz, jvernee ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.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/foreign/AbstractMemorySegmentImpl.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/layout/AbstractLayout.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! test/jdk/java/foreign/TestAccessModes.java ! test/jdk/java/foreign/TestHeapAlignment.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 6cda4c59 Author: Matthew Donovan Date: 2024-05-29 11:19:55 +0000 URL: https://git.openjdk.org/loom/commit/6cda4c59851d7a9bbe8bd39c93a8923b039a7184 8321543: Update NSS to version 3.96 Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/PKCS11Test.java Changeset: fed2b560 Author: Hamlin Li Date: 2024-05-29 12:25:40 +0000 URL: https://git.openjdk.org/loom/commit/fed2b56017ae454082d320513b77518e624fb03c 8320999: RISC-V: C2 RotateLeftV 8321000: RISC-V: C2 RotateRightV Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/matcher_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java Changeset: 43a2f173 Author: Matthias Baesken Date: 2024-05-29 12:38:51 +0000 URL: https://git.openjdk.org/loom/commit/43a2f17342af8f5bf1f5823df9fa0bf0bdfdfce2 8333149: ubsan : memset on nullptr target detected in jvmtiEnvBase.cpp get_object_monitor_usage Reviewed-by: sspitsyn, mdoerr ! src/hotspot/share/prims/jvmtiEnvBase.cpp Changeset: 03b7a858 Author: Leonid Mesnik Date: 2024-05-29 14:59:19 +0000 URL: https://git.openjdk.org/loom/commit/03b7a8586a77983b1851ddd3f4555fe2fca57919 8332259: JvmtiTrace::safe_get_thread_name fails if current thread is in native state Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiTrace.cpp Changeset: bc7d9e3d Author: Leonid Mesnik Date: 2024-05-29 15:01:07 +0000 URL: https://git.openjdk.org/loom/commit/bc7d9e3d0bc663bbbeb068889082da4a9f0fa8de 8333013: Update vmTestbase/nsk/share/LocalProcess.java to don't use finalization Reviewed-by: cjplummer, amenkov - test/hotspot/jtreg/vmTestbase/nsk/share/LocalProcess.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java + test/hotspot/jtreg/vmTestbase/nsk/share/jdb/LocalProcess.java Changeset: c8eea59f Author: Chris Plummer Date: 2024-05-29 18:23:23 +0000 URL: https://git.openjdk.org/loom/commit/c8eea59f508158075382079316cf0990116ff98e 8332919: SA PointerLocation needs to print a newline after dumping java thread info for JNI Local Ref Reviewed-by: kevinw, dholmes ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java Changeset: 789ac8b2 Author: Magnus Ihse Bursie Date: 2024-05-29 19:51:07 +0000 URL: https://git.openjdk.org/loom/commit/789ac8b2768671ec83a7ed4a72c5fe27a1734c5e 8333189: Make sure clang on linux uses lld as linker Reviewed-by: jiangli, erikj ! make/autoconf/flags-ldflags.m4 + make/data/hotspot-symbols/version-script-clang.txt = make/data/hotspot-symbols/version-script-gcc.txt ! make/hotspot/lib/CompileJvm.gmk Changeset: 2ea365c9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2024-05-30 05:11:32 +0000 URL: https://git.openjdk.org/loom/commit/2ea365c94533a59865ab4c20ad8e1008072278da 8333099: Missing check for is_LoadVector in StoreNode::Identity Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/vectorapi/TestIsLoadVector.java Changeset: 66d9bfce Author: Jan Lahoda Date: 2024-05-30 06:01:18 +0000 URL: https://git.openjdk.org/loom/commit/66d9bfce2909c26ad094d5a38c4a9aaa176e8faa 8332725: Binding patterns with inferred type have erroneous node in the AST Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/patterns/BindingPatternVarTypeModel.java Changeset: 9a72068e Author: Jan Lahoda Date: 2024-05-30 06:02:31 +0000 URL: https://git.openjdk.org/loom/commit/9a72068ef049886dada09e156118b1e9e8f80d11 8332230: jshell throws AssertionError when processing annotations Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/jdk/jshell/ErrorRecoveryTest.java + test/langtools/tools/javac/annotations/typeAnnotations/QueuesAreFlushed.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: 57bfd0e3 Author: Jan Lahoda Date: 2024-05-30 06:02:42 +0000 URL: https://git.openjdk.org/loom/commit/57bfd0e393c58b01cb427a6fbee8ea541ae30efb 8332065: Calling readLine(null...) or readPassword(null...) on System.console() hangs jshell Reviewed-by: prappo ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java ! test/langtools/jdk/jshell/ConsoleTest.java Changeset: 579cf705 Author: Adam Sotona Date: 2024-05-30 06:12:50 +0000 URL: https://git.openjdk.org/loom/commit/579cf705ff74d1ebb56b605d9a7ca17d87c36d84 8332597: Remove redundant methods from j.l.classfile.ClassReader API Reviewed-by: liach, jlahoda ! src/java.base/share/classes/java/lang/classfile/ClassReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java Changeset: 286cc163 Author: Alexander Zvegintsev Date: 2024-05-30 06:44:04 +0000 URL: https://git.openjdk.org/loom/commit/286cc163fd4f8361a633dcb6494965020d02b506 8327401: Some jtreg tests fail on Wayland without any tracking bug 8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04 Reviewed-by: prr ! test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java ! test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.java ! test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java ! test/jdk/java/awt/Focus/RowToleranceTransitivityTest.java ! test/jdk/java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java ! test/jdk/java/awt/Frame/MiscUndecorated/ActiveAWTWindowTest.java ! test/jdk/java/awt/Frame/MiscUndecorated/RepaintTest.java ! test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java ! test/jdk/java/awt/List/ActionEventTest/ActionEventTest.java ! test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.java ! test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java ! test/jdk/java/awt/Paint/ListRepaint.java ! test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java ! test/jdk/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java ! test/jdk/java/awt/Toolkit/DesktopProperties/rfe4758438.sh ! test/jdk/java/awt/TrayIcon/ActionEventTest/ActionEventTest.java ! test/jdk/java/awt/TrayIcon/TrayIconPopup/TrayIconPopupTest.java ! test/jdk/java/awt/Window/SetWindowLocationByPlatformTest/SetWindowLocationByPlatformTest.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java ! test/jdk/javax/swing/JButton/bug4490179.java ! test/jdk/javax/swing/JLabel/4138746/JLabelMnemonicsTest.java ! test/jdk/javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java ! test/jdk/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java ! test/jdk/javax/swing/text/JTextComponent/5074573/bug5074573.java Changeset: 2b4a4b7b Author: Ivan Walulya Date: 2024-05-30 08:32:15 +0000 URL: https://git.openjdk.org/loom/commit/2b4a4b7bd84806f997adc107abbd4351425e8d1d 8326121: vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless. Reviewed-by: tschatzl, ayang ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/UnloadingTest.java ! test/hotspot/jtreg/vmTestbase/nsk/share/test/Tests.java Changeset: 3cff588a Author: Pavel Rappo Date: 2024-05-30 09:33:30 +0000 URL: https://git.openjdk.org/loom/commit/3cff588a3104aa5224e7236eb2c2bb5852de9202 8332826: Make hashCode methods in ArraysSupport friendlier Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/CharacterName.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java ! src/java.base/share/classes/jdk/internal/util/ArraysSupport.java ! src/java.base/share/classes/sun/security/util/DerValue.java ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java ! test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java ! test/jdk/java/util/Arrays/HashCode.java Changeset: 1b04f648 Author: Jaikiran Pai Date: 2024-05-30 10:03:06 +0000 URL: https://git.openjdk.org/loom/commit/1b04f6487c98899f738600fddfa726bab5167018 8216984: Deprecate for removal Socket constructors to create UDP sockets Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/java/net/SocketImpl.java Changeset: f608918d Author: Chen Liang Committer: Adam Sotona Date: 2024-05-30 11:51:49 +0000 URL: https://git.openjdk.org/loom/commit/f608918df3f887277845db383cf07b0863bba615 8332614: Type-checked ConstantPool.entryByIndex and ClassReader.readEntryOrNull Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassReader.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractBoundLocalVariable.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/TemporaryConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java ! test/jdk/jdk/classfile/AttributesTest.java Changeset: 4a20691e Author: Erik Gahlin Date: 2024-05-30 13:32:57 +0000 URL: https://git.openjdk.org/loom/commit/4a20691e9b0276e2dc5e7eb6a4d05393d6b4c99c 8331876: JFR: Move file read and write events to java.base Reviewed-by: mgronlun, alanb ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/lang/Throwable.java + src/java.base/share/classes/jdk/internal/event/FileReadEvent.java + src/java.base/share/classes/jdk/internal/event/FileWriteEvent.java + src/java.base/share/classes/jdk/internal/event/JFRTracing.java ! src/java.base/share/classes/jdk/internal/event/ThrowableTracer.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java - src/jdk.jfr/share/classes/jdk/jfr/events/EventConfigurations.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileReadEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileWriteEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileChannelImplInstrumentor.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileInputStreamInstrumentor.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileOutputStreamInstrumentor.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/RandomAccessFileInstrumentor.java + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineSharedClass.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineSharedClassJFR.java ! test/jdk/jdk/jfr/jvm/TestGetEventWriterPackage.java ! test/jdk/jdk/jfr/startupargs/TestRetransformUsingLog.java Changeset: 921860d4 Author: Tobias Hartmann Date: 2024-05-30 13:38:14 +0000 URL: https://git.openjdk.org/loom/commit/921860d41da2fac180d44a5cdf891b4f660945bc 8333264: Remove unused resolve_sub_helper declaration after JDK-8322630 Reviewed-by: rcastanedalo ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 4acafb80 Author: Jan Lahoda Date: 2024-05-30 13:53:27 +0000 URL: https://git.openjdk.org/loom/commit/4acafb809c66589fbbfee9c9a4ba7820f848f0e4 8333107: javac fails with an exception when processing broken lambda Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrRecover.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: 70715423 Author: Alan Bateman Date: 2024-05-30 15:41:56 +0000 URL: https://git.openjdk.org/loom/commit/707154235b29bebc4c3fdb797e24acd8e9f6916a 8331189: Implementation of Scoped Values (Third Preview) Reviewed-by: aph, jpai, mcimadamore ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/javax/security/auth/Subject.java ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/java.base/share/classes/jdk/internal/vm/ScopedValueContainer.java ! test/jdk/java/lang/ScopedValue/ScopedValueAPI.java ! test/jdk/java/lang/ScopedValue/StressStackOverflow.java ! test/micro/org/openjdk/bench/java/lang/ScopedValues.java Changeset: 32636dcc Author: William Kemper Date: 2024-05-30 16:36:25 +0000 URL: https://git.openjdk.org/loom/commit/32636dcc3d6cd7837c22c5cbcb5c7c6576766cf6 8333105: Shenandoah: Results of concurrent mark may be lost for degenerated cycle Reviewed-by: kdnilsen, shade, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGC.hpp Changeset: 86e62212 Author: Alan Bateman Date: 2024-05-30 17:50:22 +0000 URL: https://git.openjdk.org/loom/commit/86e62212e4544390e13f014628e1fe620a854fb9 Merge ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java From duke at openjdk.org Thu May 30 20:24:21 2024 From: duke at openjdk.org (duke) Date: Thu, 30 May 2024 20:24:21 GMT Subject: git: openjdk/loom: master: 27 new changesets Message-ID: <0b62dae7-1e4d-4ec1-b647-f6a595852eca@openjdk.org> Changeset: 2cca83bc Author: Thomas Schatzl Date: 2024-05-29 07:55:01 +0000 URL: https://git.openjdk.org/loom/commit/2cca83bc82eb6b090ae96b8c072b986b93d9244a 8332880: JFR GCHelper class recognizes "Archive" regions as valid Reviewed-by: ayang, iwalulya ! test/lib/jdk/test/lib/jfr/GCHelper.java Changeset: 3d4eb159 Author: Severin Gehwolf Date: 2024-05-29 08:46:27 +0000 URL: https://git.openjdk.org/loom/commit/3d4eb159e6d597f37081faf21b7e3f0f1af299e5 8302744: Refactor Hotspot container detection code Reviewed-by: jsjolen, stuefe ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp ! src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp - test/hotspot/gtest/os/linux/test_cgroupSubsystem_linux.cpp + test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp - test/hotspot/gtest/runtime/test_os_linux_cgroups.cpp ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java Changeset: 9b64ece5 Author: Matthias Baesken Date: 2024-05-29 09:11:04 +0000 URL: https://git.openjdk.org/loom/commit/9b64ece514cf941ebc727991d97c43453d8a488d 8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int' Reviewed-by: mdoerr, jkern ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp Changeset: 6d718ae5 Author: Cesar Soares Lucas Committer: Albert Mingkun Yang Date: 2024-05-29 09:36:13 +0000 URL: https://git.openjdk.org/loom/commit/6d718ae51aeb7143ebfa561501b87fe1ba48039a 8324341: Remove redundant preprocessor #if's checks Reviewed-by: kvn, ayang ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/runtime/deoptimization.cpp Changeset: c003c120 Author: Maurizio Cimadamore Date: 2024-05-29 11:12:30 +0000 URL: https://git.openjdk.org/loom/commit/c003c1207fae07bcfe5a6f642a9c05e6c591e7a6 8331865: Consolidate size and alignment checks in LayoutPath Reviewed-by: psandoz, jvernee ! src/java.base/share/classes/java/lang/foreign/MemoryLayout.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/foreign/AbstractMemorySegmentImpl.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/layout/AbstractLayout.java ! src/java.base/share/classes/jdk/internal/foreign/layout/ValueLayouts.java ! test/jdk/java/foreign/TestAccessModes.java ! test/jdk/java/foreign/TestHeapAlignment.java ! test/jdk/java/foreign/TestLayoutPaths.java Changeset: 6cda4c59 Author: Matthew Donovan Date: 2024-05-29 11:19:55 +0000 URL: https://git.openjdk.org/loom/commit/6cda4c59851d7a9bbe8bd39c93a8923b039a7184 8321543: Update NSS to version 3.96 Reviewed-by: rhalade ! test/jdk/sun/security/pkcs11/PKCS11Test.java Changeset: fed2b560 Author: Hamlin Li Date: 2024-05-29 12:25:40 +0000 URL: https://git.openjdk.org/loom/commit/fed2b56017ae454082d320513b77518e624fb03c 8320999: RISC-V: C2 RotateLeftV 8321000: RISC-V: C2 RotateRightV Reviewed-by: luhenry, fyang ! src/hotspot/cpu/riscv/assembler_riscv.hpp ! src/hotspot/cpu/riscv/matcher_riscv.hpp ! src/hotspot/cpu/riscv/riscv_v.ad ! test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java Changeset: 43a2f173 Author: Matthias Baesken Date: 2024-05-29 12:38:51 +0000 URL: https://git.openjdk.org/loom/commit/43a2f17342af8f5bf1f5823df9fa0bf0bdfdfce2 8333149: ubsan : memset on nullptr target detected in jvmtiEnvBase.cpp get_object_monitor_usage Reviewed-by: sspitsyn, mdoerr ! src/hotspot/share/prims/jvmtiEnvBase.cpp Changeset: 03b7a858 Author: Leonid Mesnik Date: 2024-05-29 14:59:19 +0000 URL: https://git.openjdk.org/loom/commit/03b7a8586a77983b1851ddd3f4555fe2fca57919 8332259: JvmtiTrace::safe_get_thread_name fails if current thread is in native state Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiTrace.cpp Changeset: bc7d9e3d Author: Leonid Mesnik Date: 2024-05-29 15:01:07 +0000 URL: https://git.openjdk.org/loom/commit/bc7d9e3d0bc663bbbeb068889082da4a9f0fa8de 8333013: Update vmTestbase/nsk/share/LocalProcess.java to don't use finalization Reviewed-by: cjplummer, amenkov - test/hotspot/jtreg/vmTestbase/nsk/share/LocalProcess.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbTest.java + test/hotspot/jtreg/vmTestbase/nsk/share/jdb/LocalProcess.java Changeset: c8eea59f Author: Chris Plummer Date: 2024-05-29 18:23:23 +0000 URL: https://git.openjdk.org/loom/commit/c8eea59f508158075382079316cf0990116ff98e 8332919: SA PointerLocation needs to print a newline after dumping java thread info for JNI Local Ref Reviewed-by: kevinw, dholmes ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java Changeset: 789ac8b2 Author: Magnus Ihse Bursie Date: 2024-05-29 19:51:07 +0000 URL: https://git.openjdk.org/loom/commit/789ac8b2768671ec83a7ed4a72c5fe27a1734c5e 8333189: Make sure clang on linux uses lld as linker Reviewed-by: jiangli, erikj ! make/autoconf/flags-ldflags.m4 + make/data/hotspot-symbols/version-script-clang.txt = make/data/hotspot-symbols/version-script-gcc.txt ! make/hotspot/lib/CompileJvm.gmk Changeset: 2ea365c9 Author: Damon Fenacci Committer: Tobias Hartmann Date: 2024-05-30 05:11:32 +0000 URL: https://git.openjdk.org/loom/commit/2ea365c94533a59865ab4c20ad8e1008072278da 8333099: Missing check for is_LoadVector in StoreNode::Identity Reviewed-by: chagedorn, thartmann ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/vectorapi/TestIsLoadVector.java Changeset: 66d9bfce Author: Jan Lahoda Date: 2024-05-30 06:01:18 +0000 URL: https://git.openjdk.org/loom/commit/66d9bfce2909c26ad094d5a38c4a9aaa176e8faa 8332725: Binding patterns with inferred type have erroneous node in the AST Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/patterns/BindingPatternVarTypeModel.java Changeset: 9a72068e Author: Jan Lahoda Date: 2024-05-30 06:02:31 +0000 URL: https://git.openjdk.org/loom/commit/9a72068ef049886dada09e156118b1e9e8f80d11 8332230: jshell throws AssertionError when processing annotations Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/jdk/jshell/ErrorRecoveryTest.java + test/langtools/tools/javac/annotations/typeAnnotations/QueuesAreFlushed.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: 57bfd0e3 Author: Jan Lahoda Date: 2024-05-30 06:02:42 +0000 URL: https://git.openjdk.org/loom/commit/57bfd0e393c58b01cb427a6fbee8ea541ae30efb 8332065: Calling readLine(null...) or readPassword(null...) on System.console() hangs jshell Reviewed-by: prappo ! src/jdk.jshell/share/classes/jdk/jshell/execution/impl/ConsoleImpl.java ! test/langtools/jdk/jshell/ConsoleTest.java Changeset: 579cf705 Author: Adam Sotona Date: 2024-05-30 06:12:50 +0000 URL: https://git.openjdk.org/loom/commit/579cf705ff74d1ebb56b605d9a7ca17d87c36d84 8332597: Remove redundant methods from j.l.classfile.ClassReader API Reviewed-by: liach, jlahoda ! src/java.base/share/classes/java/lang/classfile/ClassReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java Changeset: 286cc163 Author: Alexander Zvegintsev Date: 2024-05-30 06:44:04 +0000 URL: https://git.openjdk.org/loom/commit/286cc163fd4f8361a633dcb6494965020d02b506 8327401: Some jtreg tests fail on Wayland without any tracking bug 8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04 Reviewed-by: prr ! test/jdk/java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java ! test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.java ! test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java ! test/jdk/java/awt/Focus/RowToleranceTransitivityTest.java ! test/jdk/java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java ! test/jdk/java/awt/Frame/MiscUndecorated/ActiveAWTWindowTest.java ! test/jdk/java/awt/Frame/MiscUndecorated/RepaintTest.java ! test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java ! test/jdk/java/awt/List/ActionEventTest/ActionEventTest.java ! test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.java ! test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java ! test/jdk/java/awt/Paint/ListRepaint.java ! test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java ! test/jdk/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java ! test/jdk/java/awt/Toolkit/DesktopProperties/rfe4758438.sh ! test/jdk/java/awt/TrayIcon/ActionEventTest/ActionEventTest.java ! test/jdk/java/awt/TrayIcon/TrayIconPopup/TrayIconPopupTest.java ! test/jdk/java/awt/Window/SetWindowLocationByPlatformTest/SetWindowLocationByPlatformTest.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java ! test/jdk/javax/swing/JButton/bug4490179.java ! test/jdk/javax/swing/JLabel/4138746/JLabelMnemonicsTest.java ! test/jdk/javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java ! test/jdk/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java ! test/jdk/javax/swing/text/JTextComponent/5074573/bug5074573.java Changeset: 2b4a4b7b Author: Ivan Walulya Date: 2024-05-30 08:32:15 +0000 URL: https://git.openjdk.org/loom/commit/2b4a4b7bd84806f997adc107abbd4351425e8d1d 8326121: vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless. Reviewed-by: tschatzl, ayang ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/UnloadingTest.java ! test/hotspot/jtreg/vmTestbase/nsk/share/test/Tests.java Changeset: 3cff588a Author: Pavel Rappo Date: 2024-05-30 09:33:30 +0000 URL: https://git.openjdk.org/loom/commit/3cff588a3104aa5224e7236eb2c2bb5852de9202 8332826: Make hashCode methods in ArraysSupport friendlier Reviewed-by: redestad, liach ! src/java.base/share/classes/java/lang/CharacterName.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java ! src/java.base/share/classes/jdk/internal/util/ArraysSupport.java ! src/java.base/share/classes/sun/security/util/DerValue.java ! src/java.base/unix/classes/sun/nio/fs/UnixPath.java ! test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java ! test/jdk/java/util/Arrays/HashCode.java Changeset: 1b04f648 Author: Jaikiran Pai Date: 2024-05-30 10:03:06 +0000 URL: https://git.openjdk.org/loom/commit/1b04f6487c98899f738600fddfa726bab5167018 8216984: Deprecate for removal Socket constructors to create UDP sockets Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/java/net/SocketImpl.java Changeset: f608918d Author: Chen Liang Committer: Adam Sotona Date: 2024-05-30 11:51:49 +0000 URL: https://git.openjdk.org/loom/commit/f608918df3f887277845db383cf07b0863bba615 8332614: Type-checked ConstantPool.entryByIndex and ClassReader.readEntryOrNull Reviewed-by: asotona ! src/java.base/share/classes/java/lang/classfile/ClassReader.java ! src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractBoundLocalVariable.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java ! src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java ! src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java ! src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java ! src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackCounter.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java ! src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java ! src/java.base/share/classes/jdk/internal/classfile/impl/TemporaryConstantPool.java ! src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java ! test/jdk/jdk/classfile/AttributesTest.java Changeset: 4a20691e Author: Erik Gahlin Date: 2024-05-30 13:32:57 +0000 URL: https://git.openjdk.org/loom/commit/4a20691e9b0276e2dc5e7eb6a4d05393d6b4c99c 8331876: JFR: Move file read and write events to java.base Reviewed-by: mgronlun, alanb ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/lang/Throwable.java + src/java.base/share/classes/jdk/internal/event/FileReadEvent.java + src/java.base/share/classes/jdk/internal/event/FileWriteEvent.java + src/java.base/share/classes/jdk/internal/event/JFRTracing.java ! src/java.base/share/classes/jdk/internal/event/ThrowableTracer.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java - src/jdk.jfr/share/classes/jdk/jfr/events/EventConfigurations.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileReadEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/events/FileWriteEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvents.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileChannelImplInstrumentor.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileInputStreamInstrumentor.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/FileOutputStreamInstrumentor.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java - src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/RandomAccessFileInstrumentor.java + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineSharedClass.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineSharedClassJFR.java ! test/jdk/jdk/jfr/jvm/TestGetEventWriterPackage.java ! test/jdk/jdk/jfr/startupargs/TestRetransformUsingLog.java Changeset: 921860d4 Author: Tobias Hartmann Date: 2024-05-30 13:38:14 +0000 URL: https://git.openjdk.org/loom/commit/921860d41da2fac180d44a5cdf891b4f660945bc 8333264: Remove unused resolve_sub_helper declaration after JDK-8322630 Reviewed-by: rcastanedalo ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 4acafb80 Author: Jan Lahoda Date: 2024-05-30 13:53:27 +0000 URL: https://git.openjdk.org/loom/commit/4acafb809c66589fbbfee9c9a4ba7820f848f0e4 8333107: javac fails with an exception when processing broken lambda Reviewed-by: asotona ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrRecover.java ! test/langtools/tools/javac/recovery/AttrRecovery.java Changeset: 70715423 Author: Alan Bateman Date: 2024-05-30 15:41:56 +0000 URL: https://git.openjdk.org/loom/commit/707154235b29bebc4c3fdb797e24acd8e9f6916a 8331189: Implementation of Scoped Values (Third Preview) Reviewed-by: aph, jpai, mcimadamore ! src/java.base/share/classes/java/lang/ScopedValue.java ! src/java.base/share/classes/javax/security/auth/Subject.java ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/java.base/share/classes/jdk/internal/vm/ScopedValueContainer.java ! test/jdk/java/lang/ScopedValue/ScopedValueAPI.java ! test/jdk/java/lang/ScopedValue/StressStackOverflow.java ! test/micro/org/openjdk/bench/java/lang/ScopedValues.java Changeset: 32636dcc Author: William Kemper Date: 2024-05-30 16:36:25 +0000 URL: https://git.openjdk.org/loom/commit/32636dcc3d6cd7837c22c5cbcb5c7c6576766cf6 8333105: Shenandoah: Results of concurrent mark may be lost for degenerated cycle Reviewed-by: kdnilsen, shade, ysr ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahGC.hpp From duke at openjdk.org Fri May 31 07:11:39 2024 From: duke at openjdk.org (duke) Date: Fri, 31 May 2024 07:11:39 GMT Subject: git: openjdk/loom: fibers: 3 new changesets Message-ID: Changeset: 8cda9dbb Author: Alan Bateman Date: 2024-05-29 18:47:30 +0000 URL: https://git.openjdk.org/loom/commit/8cda9dbbbb62284e9233be3be37b69202076eabe Fix StructuredThreadDumpTest.java ! test/jdk/java/util/concurrent/StructuredTaskScope/StructuredThreadDumpTest.java Changeset: 6b1cb840 Author: Alan Bateman Date: 2024-05-31 07:23:30 +0000 URL: https://git.openjdk.org/loom/commit/6b1cb8402bafc5a4cdacdd1500eff95304757e51 Merge Changeset: f9eb92c8 Author: Alan Bateman Date: 2024-05-31 08:09:30 +0000 URL: https://git.openjdk.org/loom/commit/f9eb92c8bf84e8437eaaebb6f5fcc6bd1c5a4583 Tempoarily exclude TestAccessModes.java from jtreg wrapper runs ! test/jdk/ProblemList-Virtual.txt From Alan.Bateman at oracle.com Fri May 31 17:14:42 2024 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 31 May 2024 18:14:42 +0100 Subject: New EA builds with changes to object monitor implementation to avoid pinning with virtual threads Message-ID: We've published new early-access builds from the loom repo [1] with the latest changes to the object monitor implementation. The changes means that virtual threads don't pin their carrier when parking (doing socket I/O for example) while in a synchronized method, blocking entering a synchronized method/statement because the object's associated monitor is held by another thread, or Object.wait. The changes for Object.wait/timed-wait is the main change since the previous EA. As before, we would like to get help to test the changes. Testing the changes means trying out the builds with code that you know is using virtual threads and with libraries that are "very synchronized". We need to gauge both reliability and performance. Right now, the focus is on being functional and reliable, the performance for some cases isn't on par right now with blocking on j.u.concurrent locks + condition objects. The simplest way to report an issue or feedback is to just send a mail here. As before, JFR events can be used to identify remaining cases of pinning, parking or blocking in a class initializer for example. The system property jdk.tracePinnedThreads to get stack traces when threads are pinned no longer prints anything. -Alan [1] https://jdk.java.net/loom/ From rengels at ix.netcom.com Fri May 31 22:09:36 2024 From: rengels at ix.netcom.com (robert engels) Date: Fri, 31 May 2024 17:09:36 -0500 Subject: Resource Constrained Thread Per Task Executor In-Reply-To: References: <77257D3B-28CE-466A-B9A5-56EC283B56D3@ix.netcom.com> Message-ID: <1D52FB89-1544-43BD-93CD-CA061993F849@ix.netcom.com> Btw, I posted a concurrency restricted VirtualThreadExecutorService in another thread for those that may be interested: https://mail.openjdk.org/pipermail/loom-dev/2024-May/006627.html > On May 13, 2024, at 5:36 PM, Colin Redmond wrote: > > You know what, you are right. I double checked the interface that Spring Integration was expecting and it only needs a Executor, not an ExecutorService. I got mixed up and started down the wrong rabbit hole! So you are correct, I don't need to manage the lifecycle and it is a much simpler problem with maybe 10 lines of code. > From: robert engels > Sent: May 13, 2024 3:07 PM > To: Colin Redmond > Cc: Attila Kelemen ; masoud parvari ; loom-dev at openjdk.org > Subject: Re: Resource Constrained Thread Per Task Executor > > If you use an Executor the entire code should be less than 10 lines - then you don?t need to manage the lifecycle, etc. - all it is is a semaphore and the spawning of a new virtual thread when then the semaphore is granted. > > If you need to return Futures for cancellation / results it is a bit more complicated but not much. > >> On May 13, 2024, at 4:34 PM, Colin Redmond > wrote: >> >> Thanks for the idea, the AbstractExecutorService? would be a great starting place, and that means I need to implement all the shutdown logic. Which is manageable, but tricky. I guess the moral of the story is there is no easy way out of the box to implement constrained resources with new thread per task executors. I will have to write some code and reimplement some things to get what I want. >> >> >> But maybe someone can answer me the question: is it safe to keep a virtual thread for an extended period of time? Maybe I can live with my ThreadPoolExecutor solution if it is safe. For my use case it works, but it isn't ideal. >> >> Thanks all for the feedback! >> From: Attila Kelemen > >> Sent: May 13, 2024 2:22 PM >> To: Colin Redmond > >> Cc: masoud parvari >; Robert Engels >; loom-dev at openjdk.org > >> Subject: Re: Resource Constrained Thread Per Task Executor >> >> You can't really acquire everything at once, because you might get so many tasks that you could never fulfil such a request. That said, `invokeAll` can simply be done by submitting all tasks one after another. Implementing `invokeAny` well might be trickier, but I have never seen anyone ever using it, so I wouldn't worry too much about it. But you can check `AbstractExecutorService` for both. In fact, you can actually use it as a base class to provide implementation for the invoke many methods. >> >> Colin Redmond > ezt ?rta (id?pont: 2024. m?j. 13., H, 23:05): >> I may be overthink this. I was hoping for an easy way to extend the ThreadPerTaskExecutor like the ThreadPoolExecutior is extensible. But I Agree in this case that it should wrap another executor as getting threading correct is hard! For the Executor Service, Execute and Submit would he easy to manage, as it is a single task so easy to get a acquire a single resource from a semaphore. But I will need to be more careful around invokeAll and invokeAny, as I may need to acquire more permits than are available or one invoke all may block another invoke from executing in parallel. So maybe I can submit them one at time, or just go ahead and get the number of permits at once. >> >> It is good to know that i dont need to use any jdk.internal classes. I saw both ThreadPerTaskExecutor and ThreadPoolExecutor using ThreadContainer and i wasn't sure if it was some special class to manage threads. I can implement something without this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From robaho at me.com Fri May 31 19:38:24 2024 From: robaho at me.com (Robert Engels) Date: Fri, 31 May 2024 14:38:24 -0500 Subject: Virtual threads and File IO Message-ID: Hi, An interesting question came up on the Go support channels. One of the principle engineers stated that for local file IO, the Go routine (similar to virtual thread) won?t release the carrier thread. Is this the same with Java virtual threads? Yes, local IO is typically fast - but it is still order of magnitudes slower than memory computations - which the virtual thread could be doing while waiting for the IO request to be serviced. R From robaho at icloud.com Fri May 31 23:22:15 2024 From: robaho at icloud.com (robert engels) Date: Fri, 31 May 2024 18:22:15 -0500 Subject: Virtual threads and File IO In-Reply-To: References: Message-ID: I looked into the code. Seems Java is the same. I looked into it - and seems for many workloads async file IO can improve efficiency by 80%. > On May 31, 2024, at 5:45?PM, Robert Engels wrote: > > ?Hi, > > An interesting question came up on the Go support channels. One of the principle engineers stated that for local file IO, the Go routine (similar to virtual thread) won?t release the carrier thread. > > Is this the same with Java virtual threads? Yes, local IO is typically fast - but it is still order of magnitudes slower than memory computations - which the virtual thread could be doing while waiting for the IO request to be serviced. > > R