From duke at openjdk.java.net Thu Nov 4 22:07:42 2021 From: duke at openjdk.java.net (duke) Date: Thu, 4 Nov 2021 22:07:42 GMT Subject: git: openjdk/amber: stats-before-this-super: 95 new changesets Message-ID: <941d26a1-335d-4072-8a81-48b661680866@openjdk.org> Changeset: 48f3fcab Author: Joe Darcy Date: 2021-10-28 22:11:03 +0000 URL: https://git.openjdk.java.net/amber/commit/48f3fcab518ccea4dbbc856132f82407f7974028 8275308: Add valueOf(Runtime.Version) factory to SourceVersion Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! test/langtools/tools/javac/processing/model/TestSourceVersion.java Changeset: 21da2183 Author: Mandy Chung Date: 2021-10-28 22:24:56 +0000 URL: https://git.openjdk.java.net/amber/commit/21da2183875feca3dbf4f1bd875b268a7fc8d560 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior Reviewed-by: psandoz, dlsmith ! src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java + test/jdk/java/lang/invoke/lambda/invokeSpecial/InvokeSpecialMethodTest.java Changeset: de93b1d0 Author: Hai-May Chao Date: 2021-10-28 23:04:34 +0000 URL: https://git.openjdk.java.net/amber/commit/de93b1d0e83a9428dae4a9609996fe7b7e9b4932 8257722: Improve "keytool -printcert -jarfile" output Reviewed-by: weijun ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources.java ! test/jdk/sun/security/tools/jarsigner/TimestampCheck.java ! test/jdk/sun/security/tools/keytool/ReadJar.java Changeset: c9e65f8e Author: Thomas Stuefe Date: 2021-10-29 03:48:45 +0000 URL: https://git.openjdk.java.net/amber/commit/c9e65f8ef926c3796867558afa536770eed71cd6 8275440: Remove VirtualSpaceList::is_full() Reviewed-by: coleenp ! src/hotspot/share/memory/metaspace/virtualSpaceList.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceList.hpp ! test/hotspot/gtest/metaspace/test_chunkManager_stress.cpp Changeset: 157e1d50 Author: Thomas Stuefe Date: 2021-10-29 04:26:56 +0000 URL: https://git.openjdk.java.net/amber/commit/157e1d5073e221dab084422389f68eea53974f4c 8275856: Remove MetaspaceHandleDeallocations debug switch Reviewed-by: coleenp, iklam ! src/hotspot/share/memory/metaspace/metaspaceArena.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.cpp ! src/hotspot/share/memory/metaspace/metaspaceSettings.hpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/gtest/metaspace/test_metaspacearena.cpp Changeset: e922023e Author: Tobias Holenstein Committer: Aleksey Shipilev Date: 2021-10-29 06:16:38 +0000 URL: https://git.openjdk.java.net/amber/commit/e922023ec9a74e694a8180e678be19bc2720c346 8275909: [JVMCI] c2v_readFieldValue use long instead of jlong for the offset parameter Reviewed-by: chagedorn, dnsimon, shade ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: 24cf4800 Author: Albert Mingkun Yang Date: 2021-10-29 09:06:36 +0000 URL: https://git.openjdk.java.net/amber/commit/24cf48000ac154eac67b617e2a63557f21032907 8276047: G1: refactor G1CardSetArrayLocker Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1CardSetContainers.hpp ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: e89b2c04 Author: Thomas Stuefe Date: 2021-10-29 09:44:48 +0000 URL: https://git.openjdk.java.net/amber/commit/e89b2c040c68aebf6a099602bc0e04f963e89c84 8276086: Increase size of metaspace mappings Reviewed-by: goetz, mdoerr ! src/hotspot/share/memory/metaspace/metaspaceSettings.hpp ! test/hotspot/gtest/metaspace/test_metaspace_misc.cpp Changeset: 15fd8a30 Author: Aleksey Shipilev Date: 2021-10-29 10:26:06 +0000 URL: https://git.openjdk.java.net/amber/commit/15fd8a300b503fada7611004b5cb1bda6ecc292e 8276102: JDK-8245095 integration reverted JDK-8247980 Reviewed-by: dfuchs, redestad ! test/jdk/TEST.ROOT Changeset: c0cda1db Author: Ilarion Nakonechnyy Committer: Weijun Wang Date: 2021-10-29 11:37:45 +0000 URL: https://git.openjdk.java.net/amber/commit/c0cda1db4fe74b86faa12136336bdf98c96758d2 8273026: Slow LoginContext.login() on multi threading application Reviewed-by: weijun ! src/java.base/share/classes/javax/security/auth/login/LoginContext.java ! test/jdk/javax/security/auth/spi/Loader.java ! test/jdk/javax/security/auth/spi/SecondLoginModule.java Changeset: 4c3491bf Author: Alexander Zuev Date: 2021-10-29 11:44:12 +0000 URL: https://git.openjdk.java.net/amber/commit/4c3491bfa5f296b80c56a37cb4fffd6497323ac2 8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.java Changeset: 8cc59509 Author: Sean Mullan Date: 2021-10-29 12:42:33 +0000 URL: https://git.openjdk.java.net/amber/commit/8cc59509fe7c01c9032275798ccd1531eb8f2e9f 8251468: X509Certificate.get{Subject,Issuer}AlternativeNames and getExtendedKeyUsage do not throw CertificateParsingException if extension is unparseable Reviewed-by: weijun ! src/java.base/share/classes/sun/security/x509/CertificateExtensions.java + src/java.base/share/classes/sun/security/x509/UnparseableExtension.java ! src/java.base/share/classes/sun/security/x509/X509CertImpl.java + test/jdk/java/security/cert/X509Certificate/GetUnparseableExtensions.java Changeset: a1ec4f96 Author: Alexander Zvegintsev Date: 2021-10-29 13:05:22 +0000 URL: https://git.openjdk.java.net/amber/commit/a1ec4f961841fe0b580c32b37c77e3906ba66966 6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7 Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java Changeset: d6d82f52 Author: Thomas Stuefe Date: 2021-10-29 13:54:27 +0000 URL: https://git.openjdk.java.net/amber/commit/d6d82f52d4a4fac037ee9424503f8b7f11a61c40 8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow Reviewed-by: mbaesken, shade ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestManyArenasManyThreads.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestWithThreads.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/RandomAllocator.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/RandomAllocatorThread.java Changeset: 5facaa24 Author: Brian Burkhalter Date: 2021-10-29 16:12:19 +0000 URL: https://git.openjdk.java.net/amber/commit/5facaa243aef6ad00cf71a047d0325710ce1f0a8 8276128: (bf) Remove unused constant ARRAY_BASE_OFFSET from Direct-X-Buffer Reviewed-by: lancea, iris, alanb ! src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Changeset: 13265f99 Author: Brian Burkhalter Date: 2021-10-29 16:13:23 +0000 URL: https://git.openjdk.java.net/amber/commit/13265f9901ab8334bbe1e7a571a9c5f386275dbf 8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976 Reviewed-by: rriggs, naoto ! test/jdk/java/io/File/GetXSpace.java Changeset: cef9db9a Author: Yumin Qi Date: 2021-10-29 16:15:35 +0000 URL: https://git.openjdk.java.net/amber/commit/cef9db9a69061d51630e40b94ceba4b4bf03a0ce 8276039: Remove unnecessary qualifications of java_lang_Class:: Reviewed-by: mikael, iklam ! src/hotspot/share/classfile/javaClasses.cpp Changeset: fe6a2020 Author: Jakob Cornell Committer: Chris Plummer Date: 2021-10-29 17:50:19 +0000 URL: https://git.openjdk.java.net/amber/commit/fe6a2020873fe1eb8d4236dc1db3008f485f3195 8271356: Modify jdb to treat an empty command as a repeat of the previous command Reviewed-by: cjplummer, iklam ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list003/list003.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list003/list003a.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/repeat/repeat001/repeat001.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/repeat/repeat001/repeat001a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdb/JdbCommand.java Changeset: 5021a12c Author: Igor Veresov Date: 2021-10-29 18:03:10 +0000 URL: https://git.openjdk.java.net/amber/commit/5021a12ceada3192e81e2c06b556e7c80cd6cf31 8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed Reviewed-by: kvn ! src/hotspot/share/opto/vector.cpp ! test/hotspot/jtreg/ProblemList-Xcomp.txt Changeset: 5bbc8d3c Author: Alex Menkov Date: 2021-10-29 21:38:24 +0000 URL: https://git.openjdk.java.net/amber/commit/5bbc8d3cb2ce487b367ee1a621d78699c9b30100 8274621: NullPointerException because listenAddress[0] is null Reviewed-by: sspitsyn, lmesnik, cjplummer ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: 68756782 Author: Sergey Bylokhov Date: 2021-10-30 09:03:27 +0000 URL: https://git.openjdk.java.net/amber/commit/687567822a5380fb7d8c5b54ae548b2a5c848187 8273831: PrintServiceLookup spawns 2 threads in the current classloader, getting orphaned Reviewed-by: aivanov ! src/java.desktop/unix/classes/sun/print/PrintServiceLookupProvider.java ! src/java.desktop/windows/classes/sun/print/PrintServiceLookupProvider.java + test/jdk/javax/print/PrintServiceLookup/FlushCustomClassLoader.java Changeset: b7104ba9 Author: Alexander Zuev Date: 2021-10-30 10:01:05 +0000 URL: https://git.openjdk.java.net/amber/commit/b7104ba9a9006ab65e08ea9d7db22e72611ed07c 8196017: java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java fails Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java Changeset: bf2e9ee9 Author: Man Cao Date: 2021-10-31 04:58:16 +0000 URL: https://git.openjdk.java.net/amber/commit/bf2e9ee9d321ed289466b2410f12ad10504d01a2 8275080: G1CollectedHeap::expand() returns the wrong value Co-authored-by: Jonathan Joo Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: 158831e4 Author: Thomas Stuefe Date: 2021-11-01 05:13:55 +0000 URL: https://git.openjdk.java.net/amber/commit/158831e4c3fa637905fda6f28e9adf8e957b9e55 8274320: os::fork_and_exec() should be using posix_spawn Reviewed-by: mdoerr, dholmes ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 5bb1992b Author: Christian Hagedorn Date: 2021-11-01 08:22:59 +0000 URL: https://git.openjdk.java.net/amber/commit/5bb1992b8408a0d196b1afa308bc00d007458dbd 8275868: ciReplay: Inlining fails with "unloaded signature classes" due to wrong protection domains Reviewed-by: kvn, dlong, thartmann ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciReplay.cpp ! test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java + test/hotspot/jtreg/compiler/ciReplay/DumpReplayBase.java + test/hotspot/jtreg/compiler/ciReplay/TestInliningProtectionDomain.java Changeset: dbf5100d Author: Zhengyu Gu Date: 2021-11-01 12:17:16 +0000 URL: https://git.openjdk.java.net/amber/commit/dbf5100dd705fbe4a3aeae49405ca541d581f106 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp Changeset: 89ade1d7 Author: Aleksey Shipilev Date: 2021-11-01 12:30:43 +0000 URL: https://git.openjdk.java.net/amber/commit/89ade1d7e88ee005c3fd2136d84e298d94f9a67c 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1} Reviewed-by: kvn, roland ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/share/opto/castnode.hpp Changeset: 4ac8403f Author: Erik Gahlin Date: 2021-11-01 12:33:10 +0000 URL: https://git.openjdk.java.net/amber/commit/4ac8403f9a4cedcb5d56bcd34a6bbfa51d67ca18 8276218: JFR: Clean up jdk.jfr.dcmd Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/AbstractDCmd.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java Changeset: f55e68c9 Author: Patricio Chilano Mateo Date: 2021-11-01 15:27:39 +0000 URL: https://git.openjdk.java.net/amber/commit/f55e68c92924bb70471a4851f616d4c3065ffa92 8275950: Use only _thread_in_vm in ~ThreadBlockInVMPreprocess() Reviewed-by: dholmes, dcubed ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepoint.hpp Changeset: c8abe354 Author: Leo Korinth Date: 2021-11-01 15:37:00 +0000 URL: https://git.openjdk.java.net/amber/commit/c8abe354c1ddc988ff54b9a96a4a825e2aa70f4b 8276121: G1: Remove unused and uninitialized _g1h in g1SATBMarkQueueSet.hpp Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp Changeset: e265f838 Author: Thomas Schatzl Date: 2021-11-01 16:48:13 +0000 URL: https://git.openjdk.java.net/amber/commit/e265f83858b84451258677f130f98be5375a417a 8276107: Preventive collections trigger before maxing out heap Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: 97715440 Author: Patrick Concannon Date: 2021-11-01 17:11:20 +0000 URL: https://git.openjdk.java.net/amber/commit/977154400be786c500f36ba14188bff79db57075 8260428: Drop support for pre JDK 1.4 DatagramSocketImpl implementations Reviewed-by: alanb, dfuchs, vtewari ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/NetMulticastSocket.java + test/jdk/java/net/DatagramSocket/OldDatagramSocketImplTest.java Changeset: 99b7b95e Author: Zhengyu Gu Date: 2021-11-01 19:38:49 +0000 URL: https://git.openjdk.java.net/amber/commit/99b7b95e014da6e491ba7adfd21de53d6ae166fe 8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp Changeset: 47e7a425 Author: Alisen Chung Committer: Alexander Zuev Date: 2021-11-01 22:29:40 +0000 URL: https://git.openjdk.java.net/amber/commit/47e7a42594f1c36f71cdf4d383080bf8d616b7e7 8262945: [macos] Regression Manual Test for Key Events Fails Reviewed-by: prr, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m Changeset: 2eafa036 Author: Pavel Rappo Date: 2021-11-01 22:50:43 +0000 URL: https://git.openjdk.java.net/amber/commit/2eafa036c03d3e8f3dba8f67dd37b484874dc3d3 8276234: Trivially clean up locale-related code Reviewed-by: redestad, naoto, iris ! src/java.base/share/classes/java/time/chrono/JapaneseChronology.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! src/java.base/share/classes/sun/util/resources/LocaleData.java Changeset: acceffcb Author: Phil Race Date: 2021-11-02 02:49:56 +0000 URL: https://git.openjdk.java.net/amber/commit/acceffcbf73aa4416c487f890f3ca65e55e47164 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time Reviewed-by: serb, psadhukhan ! test/jdk/java/awt/FontClass/DrawStringWithInfiniteXform.java Changeset: 0488ebdf Author: Aleksey Shipilev Date: 2021-11-02 06:38:26 +0000 URL: https://git.openjdk.java.net/amber/commit/0488ebdf14dacfa79d98de16ed949c813dd88701 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/convertnode.cpp Changeset: 9bf31652 Author: Masanori Yano Committer: Alan Bateman Date: 2021-11-02 06:44:48 +0000 URL: https://git.openjdk.java.net/amber/commit/9bf31652cbe8eb2699babe5e52e62ea1f1578588 8276164: RandomAccessFile#write method could throw IndexOutOfBoundsException that is not described in javadoc Reviewed-by: alanb ! src/java.base/share/classes/java/io/DataOutput.java ! src/java.base/share/classes/java/io/RandomAccessFile.java Changeset: 92be9d8c Author: Ludvig Janiuk Committer: Sean Coffey Date: 2021-11-02 09:46:37 +0000 URL: https://git.openjdk.java.net/amber/commit/92be9d8c535274eea4edd06273e6d7811f6bb113 8276236: Table headers missing in Formatter api docs Reviewed-by: coffeys, iris ! src/java.base/share/classes/java/util/Formatter.java Changeset: b7a06be9 Author: Aleksey Shipilev Date: 2021-11-02 10:26:21 +0000 URL: https://git.openjdk.java.net/amber/commit/b7a06be98d3057dac4adbb7f4071ac62cf88fe52 8252990: Intrinsify Unsafe.storeStoreFence Reviewed-by: dholmes, thartmann, whuang ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java Changeset: 9971a2ca Author: Severin Gehwolf Date: 2021-11-02 10:39:41 +0000 URL: https://git.openjdk.java.net/amber/commit/9971a2cab3892a17f3fd39243df5ecfff5b9f108 8275735: [linux] Remove deprecated Metrics api (kernel memory limit) Reviewed-by: hseigel, mchung ! src/java.base/linux/classes/jdk/internal/platform/CgroupV1Metrics.java ! src/java.base/linux/classes/jdk/internal/platform/CgroupV1MetricsImpl.java ! src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java Changeset: 8630f55e Author: Hannes Walln?fer Date: 2021-11-02 12:10:47 +0000 URL: https://git.openjdk.java.net/amber/commit/8630f55ed7a0483ec5dcb13a7f53b52bc4ab6fc6 8275406: Add copy-to-clipboard feature to snippet UI Reviewed-by: erikj, jjg ! make/CompileInterimLangtools.gmk ! make/modules/jdk.javadoc/Java.gmk ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlAttr.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/copy.svg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetTag.java ! test/langtools/jdk/javadoc/lib/javadoc/tester/LinkChecker.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 5b4e3986 Author: Yoshiki Sato Committer: Sean Coffey Date: 2021-11-02 13:02:51 +0000 URL: https://git.openjdk.java.net/amber/commit/5b4e39863dbc0d61e91675261dd6887f704ab868 8275766: (tz) Update Timezone Data to 2021e 8275849: TestZoneInfo310.java fails with tzdata2021e Reviewed-by: naoto, iris, erikj, coffeys ! make/data/tzdata/VERSION ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/europe ! make/data/tzdata/northamerica ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Changeset: b889f2a8 Author: Thomas Stuefe Date: 2021-11-02 13:04:09 +0000 URL: https://git.openjdk.java.net/amber/commit/b889f2a88a5e182d2424b741d8fedf2c784442f1 8276175: codestrings.validate_vm gtest still broken on ppc64 after JDK-8276046 Reviewed-by: mdoerr ! test/hotspot/gtest/code/test_codestrings.cpp Changeset: cd778f5b Author: Alexander Zuev Date: 2021-11-02 13:23:18 +0000 URL: https://git.openjdk.java.net/amber/commit/cd778f5b049d52b68ab5872aad5f81e86e1718f7 8202667: java/awt/Debug/DumpOnKey/DumpOnKey.java times out on Windows Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Debug/DumpOnKey/DumpOnKey.java Changeset: 495c828a Author: Naoto Sato Date: 2021-11-02 16:08:11 +0000 URL: https://git.openjdk.java.net/amber/commit/495c828ae95205885b091dde795b517ba332a2b1 8276188: Clarify "default charset" descriptions in String class Reviewed-by: iris, joehw ! src/java.base/share/classes/java/lang/String.java Changeset: fa4ce824 Author: Brian Burkhalter Date: 2021-11-02 16:27:56 +0000 URL: https://git.openjdk.java.net/amber/commit/fa4ce824a39264e765b8236ee58b1f28faa371e0 8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win) Reviewed-by: alanb ! test/jdk/ProblemList.txt Changeset: 8fc16f16 Author: Evgeny Astigeevich Committer: Paul Hohensee Date: 2021-11-02 16:32:04 +0000 URL: https://git.openjdk.java.net/amber/commit/8fc16f1605b396bfb9265a97bc126d435d6d5951 8275729: Qualified method names in CodeHeap Analytics Reviewed-by: yyang, thartmann ! src/hotspot/share/code/codeHeapState.cpp + test/hotspot/jtreg/serviceability/dcmd/compiler/CodeHeapAnalyticsMethodNames.java Changeset: 01105d69 Author: Daniel D. Daugherty Date: 2021-11-02 16:50:47 +0000 URL: https://git.openjdk.java.net/amber/commit/01105d6985b39d4064b9066eab3612da5a401685 8276367: ProblemList vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java Reviewed-by: bpb ! test/hotspot/jtreg/ProblemList.txt Changeset: 6a04899b Author: Markus Karg Committer: Lance Andersen Date: 2021-11-02 18:06:14 +0000 URL: https://git.openjdk.java.net/amber/commit/6a04899ba1a62f52f7e28cc2ed72bdca115e6562 8275840: Add test to java/nio/channels/Channels/TransferTo.java to test transfer sizes > 2GB Reviewed-by: lancea ! test/jdk/java/nio/channels/Channels/TransferTo.java Changeset: bb92fb02 Author: Alex Menkov Date: 2021-11-02 21:57:16 +0000 URL: https://git.openjdk.java.net/amber/commit/bb92fb02ca8c5795989065a9037748dc39ed77db 8274930: sun/tools/jps/TestJps.java can fail with long VM arguments string Reviewed-by: sspitsyn, lmesnik ! test/jdk/sun/tools/jps/JpsHelper.java Changeset: 2b02b6f5 Author: Guoxiong Li Date: 2021-11-03 01:57:52 +0000 URL: https://git.openjdk.java.net/amber/commit/2b02b6f513b062261195ca1edd059d16abb7bec6 8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155) Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java + test/langtools/tools/javac/annotations/typeAnnotations/NestTypeAnnotation.java Changeset: 87b926eb Author: sunguoyun Committer: Igor Veresov Date: 2021-11-03 05:51:18 +0000 URL: https://git.openjdk.java.net/amber/commit/87b926ebb7f1e341da858f7a9892377586abc026 8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled Reviewed-by: iveresov ! test/hotspot/jtreg/compiler/c2/irTests/TestPostParseCallDevirtualization.java Changeset: 7439b59b Author: Christian Hagedorn Date: 2021-11-03 08:44:03 +0000 URL: https://git.openjdk.java.net/amber/commit/7439b59b5a6816269b16d210ef10779fc9def8e2 8276044: ciReplay: C1 does not dump a replay file when using DumpReplay as compile command option Reviewed-by: kvn, thartmann, dlong ! src/hotspot/share/c1/c1_Compilation.cpp ! test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java + test/hotspot/jtreg/compiler/ciReplay/TestDumpReplayCommandLine.java Changeset: 465d350d Author: Aleksey Shipilev Date: 2021-11-03 09:06:21 +0000 URL: https://git.openjdk.java.net/amber/commit/465d350d0b3cac277a58b9f8ece196c1cde68e80 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32 Reviewed-by: kvn, thartmann ! src/hotspot/os_cpu/linux_x86/globals_linux_x86.hpp Changeset: 61506336 Author: Pavel Rappo Date: 2021-11-03 10:07:48 +0000 URL: https://git.openjdk.java.net/amber/commit/615063364ab6bdd3fa83401745e05b45e13eacdb 8276348: Use blessed modifier order in java.base Reviewed-by: dfuchs, darcy, iris, rriggs, martin ! src/java.base/share/classes/java/io/ObjectInputFilter.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Object.java ! src/java.base/share/classes/java/lang/Process.java ! src/java.base/share/classes/java/lang/StackStreamFactory.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/WeakPairMap.java ! src/java.base/share/classes/java/lang/invoke/AbstractConstantGroup.java ! src/java.base/share/classes/java/lang/invoke/CallSite.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/jdk/internal/icu/util/CodePointTrie.java ! src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java ! src/java.base/share/classes/jdk/internal/jimage/NativeImageBuffer.java ! src/java.base/share/classes/jdk/internal/logger/SimpleConsoleLogger.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! src/java.base/share/classes/sun/security/jca/ProviderList.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLHandshake.java Changeset: a316c06e Author: Zhengyu Gu Date: 2021-11-03 12:08:37 +0000 URL: https://git.openjdk.java.net/amber/commit/a316c06e03e06b86ceca376cf20dcb9c526905f5 8275730: Relax memory constraint on MultiThreadedRefCounter Reviewed-by: mgronlun, minqi ! src/hotspot/share/jfr/utilities/jfrRefCountPointer.hpp Changeset: be1ca2bd Author: Hamlin Li Date: 2021-11-03 12:39:15 +0000 URL: https://git.openjdk.java.net/amber/commit/be1ca2bd201170b0d280030a2aae4c8d1da9f4af 8276298: G1: Remove unused G1SegmentedArrayBufferList::add Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1SegmentedArray.hpp Changeset: 87318460 Author: Daniel D. Daugherty Date: 2021-11-03 15:02:20 +0000 URL: https://git.openjdk.java.net/amber/commit/87318460012d3fa1a8d3e8749d7a20328b27b826 8276556: ProblemList java/nio/channels/FileChannel/LargeGatheringWrite.java on windows-x64 Reviewed-by: alanb ! test/jdk/ProblemList.txt Changeset: 61cb4bc6 Author: Tobias Holenstein Committer: Christian Hagedorn Date: 2021-11-03 15:31:50 +0000 URL: https://git.openjdk.java.net/amber/commit/61cb4bc6b0252536364a86f38ff2e5c8c7ab610b 8276036: The value of full_count in the message of insufficient codecache is wrong Reviewed-by: kvn, dlong, thartmann, chagedorn ! src/hotspot/share/code/codeCache.cpp Changeset: 724bf3be Author: Aleksey Shipilev Date: 2021-11-03 15:41:26 +0000 URL: https://git.openjdk.java.net/amber/commit/724bf3be1458f7da502f8772be6151bed826b4f7 8275604: Zero: Reformat opclabels_data Reviewed-by: adinn, zgu ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp Changeset: 0ef8cbe3 Author: Phil Race Date: 2021-11-03 16:22:42 +0000 URL: https://git.openjdk.java.net/amber/commit/0ef8cbe32540814d4c0be9c7b0f78486408657a7 8276385: Re-run blessed-modifier-order script on java.desktop and jdk.accessibility Reviewed-by: serb ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/BaselineTIFFTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifGPSTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifInteroperabilityTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifParentTIFFTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifTIFFTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/GeoTIFFTagSet.java ! src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListColor.java ! src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityListenerList.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventID.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventQueueMonitor.java ! src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/SwingEventMonitor.java ! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java Changeset: 7115892f Author: Daniel Fuchs Date: 2021-11-03 16:23:57 +0000 URL: https://git.openjdk.java.net/amber/commit/7115892f96a5a57ce9d37602038b787d19da5d81 8276401: Use blessed modifier order in java.net.http Reviewed-by: prappo, rriggs ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseSubscribers.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/DebugLogger.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/FlowTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/MinimalFuture.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SequentialScheduler.java Changeset: 684edbb4 Author: Brian Burkhalter Date: 2021-11-03 16:55:23 +0000 URL: https://git.openjdk.java.net/amber/commit/684edbb4c884cbc3e05118e4bc9808b5d5b71a74 8273922: (fs) UserDefinedFileAttributeView doesn't handle file names that are just under the MAX_PATH limit (win) Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java ! test/jdk/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java Changeset: c7f070f5 Author: Jakob Cornell Committer: Chris Plummer Date: 2021-11-03 18:18:16 +0000 URL: https://git.openjdk.java.net/amber/commit/c7f070f5f17dad661cc3296f2e3cd7a1cd5fc742 8276208: vmTestbase/nsk/jdb/repeat/repeat001/repeat001.java fails with "AssertionError: Unexpected output" Reviewed-by: cjplummer, iklam ! test/hotspot/jtreg/vmTestbase/nsk/jdb/list/list003/list003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdb/repeat/repeat001/repeat001.java Changeset: 32895ac6 Author: Ivan ?ipka Committer: Mark Sheppard Date: 2021-11-03 19:30:12 +0000 URL: https://git.openjdk.java.net/amber/commit/32895ac60949ccceb0a3d25c73ec5e3a00c29593 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 Reviewed-by: bpb, msheppar + out ! test/jdk/ProblemList.txt Changeset: f3320d2f Author: Joe Darcy Date: 2021-11-03 21:20:09 +0000 URL: https://git.openjdk.java.net/amber/commit/f3320d2fbd28349fa5eab3ea0da0ff0a3ef54c62 8276588: Change "ccc" to "CSR" in HotSpot sources Reviewed-by: dcubed, kbarrett ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/runtime/globals.hpp Changeset: 0ab910d6 Author: Jie Fu Date: 2021-11-03 22:45:50 +0000 URL: https://git.openjdk.java.net/amber/commit/0ab910d626a05106e1366438aeb5b16e16374c2f 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance Reviewed-by: thartmann, kvn ! src/hotspot/cpu/x86/c2_globals_x86.hpp + test/micro/org/openjdk/bench/vm/compiler/LoopUnroll.java Changeset: ce8c7670 Author: Claes Redestad Date: 2021-11-03 22:57:13 +0000 URL: https://git.openjdk.java.net/amber/commit/ce8c76700ba854f43c48d32b068b30e7d78d9d1e 8276220: Reduce excessive allocations in DateTimeFormatter Reviewed-by: scolebourne, naoto ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/java/time/format/DateTimePrintContext.java ! test/jdk/java/time/test/java/time/format/TestFractionPrinterParser.java + test/micro/org/openjdk/bench/java/time/format/DateTimeFormatterBench.java Changeset: 603bba28 Author: Yumin Qi Date: 2021-11-03 23:16:15 +0000 URL: https://git.openjdk.java.net/amber/commit/603bba282a089928fd23f8da23a7c1b2d52944ef 8271420: Extend CDS custom loader support to Windows platform Reviewed-by: iklam, ccheung ! src/hotspot/share/cds/classListParser.cpp ! test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/CustomAppLoader.java ! test/lib/jdk/test/lib/Platform.java Changeset: 558ee40a Author: Yasumasa Suenaga Date: 2021-11-04 04:34:07 +0000 URL: https://git.openjdk.java.net/amber/commit/558ee40a4ac158e5be8269c87b7e18af77dd14c5 8276615: Update CR number of some tests in ProblemList-zgc.txt Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: fb0be81f Author: Aleksey Shipilev Date: 2021-11-04 08:03:51 +0000 URL: https://git.openjdk.java.net/amber/commit/fb0be81f0148d9aea73321a0c2bd83b2e477d952 8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence Reviewed-by: psandoz, aph, dholmes ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java Changeset: 9eadcbb4 Author: Aleksey Shipilev Date: 2021-11-04 08:08:07 +0000 URL: https://git.openjdk.java.net/amber/commit/9eadcbb47e902f42d933ba68e24f2bfb0ee20915 8276217: Harmonize StrictMath intrinsics handling Reviewed-by: aph, kvn ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/abstractInterpreter.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/library_call.cpp Changeset: a1f4c428 Author: Christian Hagedorn Date: 2021-11-04 08:53:37 +0000 URL: https://git.openjdk.java.net/amber/commit/a1f4c428ba1b78a4e18afb87c94a5c731a5aa706 8276227: ciReplay: SIGSEGV if classfile for replay compilation is not present after JDK-8275868 Reviewed-by: kvn, thartmann, dlong ! src/hotspot/share/ci/ciReplay.cpp + test/hotspot/jtreg/compiler/ciReplay/TestNoClassFile.java Changeset: c62b3476 Author: Aleksey Shipilev Date: 2021-11-04 09:03:21 +0000 URL: https://git.openjdk.java.net/amber/commit/c62b3476ce12cea633abead0d6376ea0a05f92f9 8276623: JDK-8275650 accidentally pushed "out" file Reviewed-by: tschatzl, dholmes - out Changeset: 3613ce7c Author: Aleksey Shipilev Date: 2021-11-04 10:23:11 +0000 URL: https://git.openjdk.java.net/amber/commit/3613ce7c7d5bc8b7d603e1cf6a123588339aed3f 8275586: Zero: Simplify interpreter initialization Reviewed-by: aph, adinn ! src/hotspot/cpu/zero/vm_version_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp Changeset: ee499632 Author: Julia Boes Date: 2021-11-04 11:31:51 +0000 URL: https://git.openjdk.java.net/amber/commit/ee499632586eabb3dab209645d5b9c781a09034b 8275534: com.sun.net.httpserver.BasicAuthenticator should check whether "realm" is a quoted string Reviewed-by: michaelm, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + src/jdk.httpserver/share/classes/sun/net/httpserver/Utils.java + test/jdk/com/sun/net/httpserver/BasicAuthenticatorRealm.java ! test/jdk/com/sun/net/httpserver/bugs/BasicAuthenticatorExceptionCheck.java Changeset: 7de653e4 Author: Hamlin Li Date: 2021-11-04 12:31:27 +0000 URL: https://git.openjdk.java.net/amber/commit/7de653e428ee38339ec38533659b23a52e275f3f 8276301: G1: Refine implementation of G1CardSetFreePool::memory_sizes() Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSetMemory.cpp ! src/hotspot/share/gc/g1/g1CardSetMemory.hpp Changeset: 19075b3f Author: Hannes Walln?fer Date: 2021-11-04 13:06:24 +0000 URL: https://git.openjdk.java.net/amber/commit/19075b3f6b21f6d3b0624ef8e835b3cfc53228de 8275788: Create code element with suitable attributes for code snippets Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java ! test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetTag.java Changeset: a6fa6ed1 Author: Per Liden Date: 2021-11-04 13:47:59 +0000 URL: https://git.openjdk.java.net/amber/commit/a6fa6ed1edc6f473a7fea1fa00edd467ab778983 8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space" Reviewed-by: eosterlund, stefank ! src/hotspot/share/gc/z/zDriver.cpp Changeset: 5acff753 Author: Evgeny Astigeevich Committer: Vladimir Kozlov Date: 2021-11-04 15:01:26 +0000 URL: https://git.openjdk.java.net/amber/commit/5acff75379a4ad0acfcfc6a64fcc4b588ef048c7 8276429: CodeHeapState::print_names() fails with "assert(klass->is_loader_alive()) failed: must be alive" Reviewed-by: kvn ! src/hotspot/share/code/codeHeapState.cpp Changeset: 49b7b2ea Author: Magnus Ihse Bursie Date: 2021-11-04 15:06:08 +0000 URL: https://git.openjdk.java.net/amber/commit/49b7b2ea0971fe99567bdbd962d63b90ff2eeefd 8276640: Use blessed modifier order in jfr code Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/FilePurger.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PrivateAccess.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java Changeset: afb502e2 Author: Aleksey Shipilev Date: 2021-11-04 15:41:39 +0000 URL: https://git.openjdk.java.net/amber/commit/afb502e28a81183cef76a7e60fc052e8cad3afe3 8276550: Use SHA256 hash in build.tools.depend.Depend Reviewed-by: adinn, aph, andrew, ihse ! make/jdk/src/classes/build/tools/depend/Depend.java Changeset: bf4ddf9c Author: Pavel Rappo Date: 2021-11-04 15:51:37 +0000 URL: https://git.openjdk.java.net/amber/commit/bf4ddf9cb7408db321e7fd73600a5a9a85ca49eb 8276338: Minor improve of wording for String.to(Lower|Upper)Case Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/lang/String.java Changeset: b57715a1 Author: Pavel Rappo Date: 2021-11-04 15:56:19 +0000 URL: https://git.openjdk.java.net/amber/commit/b57715a117d9b7f79fcf4fec3b8f369b6aa42598 8276573: Use blessed modifier order in jdk.javadoc Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Attribute.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/MarkupParser.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java Changeset: 7bb21733 Author: Brian Burkhalter Date: 2021-11-04 16:33:08 +0000 URL: https://git.openjdk.java.net/amber/commit/7bb2173383bc1c0d55564d31303a547957d87a15 8276199: java/nio/channels/FileChannel/LargeGatheringWrite.java fails to terminate correctly Reviewed-by: alanb ! test/jdk/ProblemList.txt ! test/jdk/java/nio/channels/FileChannel/LargeGatheringWrite.java Changeset: 1533b819 Author: Magnus Ihse Bursie Date: 2021-11-04 17:02:42 +0000 URL: https://git.openjdk.java.net/amber/commit/1533b8191bed9d65ab4af03945584d8b2276d828 8276629: Use blessed modifier order in core-libs code Reviewed-by: dholmes, aefimov, dfuchs, mchung, iris ! src/java.naming/share/classes/com/sun/jndi/ldap/Connection.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapClient.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/java.rmi/share/classes/java/rmi/server/LoaderHandler.java ! src/java.rmi/share/classes/java/rmi/server/RMISocketFactory.java ! src/java.rmi/share/classes/java/rmi/server/RemoteObject.java ! src/java.rmi/share/classes/java/rmi/server/RemoteRef.java ! src/java.rmi/share/classes/java/rmi/server/RemoteStub.java ! src/java.rmi/share/classes/sun/rmi/log/ReliableLog.java ! src/java.rmi/share/classes/sun/rmi/transport/ObjectTable.java ! src/java.rmi/share/classes/sun/rmi/transport/Target.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/RowSetProvider.java ! src/jdk.dynalink/share/classes/jdk/dynalink/BiClassValue.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Annotation.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Dependencies.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Module.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Profile.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageResourcesTree.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PluginRepository.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ResourceFilter.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsContext.java ! src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContextFactory.java Changeset: 99d4b07c Author: Ludvig Janiuk Committer: Mandy Chung Date: 2021-11-04 17:26:18 +0000 URL: https://git.openjdk.java.net/amber/commit/99d4b07cddec05428e4d578ba6f494f51b92e841 8276649: MethodHandles.Lookup docs: replace the table in the cross-module access check section with list Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 2b5a32c7 Author: Zhengyu Gu Date: 2021-11-04 19:40:22 +0000 URL: https://git.openjdk.java.net/amber/commit/2b5a32c73f22c69d7ccedac761af1dbb4a7f297d 8275718: Relax memory constraint on exception counter updates Reviewed-by: dholmes, minqi ! src/hotspot/share/utilities/exceptions.cpp Changeset: 81203efe Author: Magnus Ihse Bursie Date: 2021-11-04 19:44:05 +0000 URL: https://git.openjdk.java.net/amber/commit/81203efe411320ff4e390605f980d14e7f70252f 8276655: Use blessed modifier order in SCTP Reviewed-by: alanb, dfuchs ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java ! src/jdk.sctp/unix/classes/sun/nio/ch/sctp/PeerAddrChange.java Changeset: dcf36f87 Author: Dean Long Date: 2021-11-04 19:52:27 +0000 URL: https://git.openjdk.java.net/amber/commit/dcf36f87f87d52490c1f0434c2fca99fc8fd90a2 8275670: ciReplay: java.lang.NoClassDefFoundError when trying to load java/lang/invoke/LambdaForm$MH Reviewed-by: kvn, chagedorn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp + test/hotspot/jtreg/compiler/ciReplay/TestLambdas.java Changeset: 7e87f946 Author: Ludvig Janiuk Committer: Mandy Chung Date: 2021-11-04 20:46:23 +0000 URL: https://git.openjdk.java.net/amber/commit/7e87f946cedf93f19c38fd596039a16394c03ea4 8276652: Missing row headers in MethodHandles.Lookup docs Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 8ec80c4b Author: Ludvig Janiuk Committer: Naoto Sato Date: 2021-11-04 21:06:03 +0000 URL: https://git.openjdk.java.net/amber/commit/8ec80c4bc1c3169963137b5a16a1b787540a3589 8276653: Missing row headers in j.l.Character docs Reviewed-by: naoto ! src/java.base/share/classes/java/lang/Character.java Changeset: 7b1916ef Author: Alisen Chung Committer: Phil Race Date: 2021-11-04 21:53:29 +0000 URL: https://git.openjdk.java.net/amber/commit/7b1916efda95a46439cf42e006593361d12a8823 8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 8c36457c Author: duke Date: 2021-11-04 22:00:45 +0000 URL: https://git.openjdk.java.net/amber/commit/8c36457c835d20edae676822c18680720a606c76 Automatic merge of master into stats-before-this-super From gbierman at openjdk.java.net Fri Nov 5 15:49:31 2021 From: gbierman at openjdk.java.net (Gavin Bierman) Date: Fri, 5 Nov 2021 15:49:31 GMT Subject: [amber-docs] RFR: Updated index for JDK 18 work in progress Message-ID: Updating the index page ------------- Commit messages: - Updated index for JDK 18 work in progress Changes: https://git.openjdk.java.net/amber-docs/pull/11/files Webrev: https://webrevs.openjdk.java.net/?repo=amber-docs&pr=11&range=00 Stats: 4 lines in 1 file changed: 2 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/amber-docs/pull/11.diff Fetch: git fetch https://git.openjdk.java.net/amber-docs pull/11/head:pull/11 PR: https://git.openjdk.java.net/amber-docs/pull/11 From mr at openjdk.java.net Fri Nov 5 16:57:18 2021 From: mr at openjdk.java.net (Mark Reinhold) Date: Fri, 5 Nov 2021 16:57:18 GMT Subject: [amber-docs] RFR: Updated index for JDK 18 work in progress In-Reply-To: References: Message-ID: On Fri, 5 Nov 2021 15:32:46 GMT, Gavin Bierman wrote: > Updating the index page Approved, but while you?re at it maybe change `http:` to `https:` everywhere? (I should?ve caught those before.) ------------- Marked as reviewed by mr (Reviewer). PR: https://git.openjdk.java.net/amber-docs/pull/11 From forax at univ-mlv.fr Sat Nov 6 00:51:52 2021 From: forax at univ-mlv.fr (Remi Forax) Date: Sat, 6 Nov 2021 01:51:52 +0100 (CET) Subject: Some proposed modifications of CarrierClass Message-ID: <76986489.1846861.1636159912839.JavaMail.zimbra@u-pem.fr> Hi Jim, I've taken a look to the Carrier class. Here are some small modifications, - the computation of max locals/max stack for the constructor. - use hidden class instead of classical class. - use the Lookup of the hidden class instead of using reflection to get the constructor and the array of components. - store the constructors and the components in the CarrierClass to avoid to recompute them at each call. Obviously, feel free to use whatever parts you want. regards, R?mi /* * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package java.lang.runtime; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodHandles.Lookup; import java.lang.invoke.MethodHandles.Lookup.ClassOption; import java.lang.invoke.MethodType; import java.util.Arrays; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Type; import static org.objectweb.asm.Opcodes.*; /** * This class is used to create objects that have number and types of * components determined at runtime. */ public final class Carrier { /** * Lookup used to define and reference the carrier object classes. */ private static final Lookup LOOKUP; /** * Maximum number of components in a carrier (based on the maximum * number of args to a constructor.) */ private static final int MAX_COMPONENTS = 254; /** * Maximum number of components in a CarrierClass. */ private static final int MAX_OBJECT_COMPONENTS = 32; /* * Initialize {@link MethodHandle} constants. */ static { Lookup lookup = MethodHandles.lookup(); LOOKUP = lookup; try { FLOAT_TO_INT = lookup.findStatic(Float.class, "floatToRawIntBits", MethodType.methodType(int.class, float.class)); INT_TO_FLOAT = lookup.findStatic(Float.class, "intBitsToFloat", MethodType.methodType(float.class, int.class)); DOUBLE_TO_LONG = lookup.findStatic(Double.class, "doubleToRawLongBits", MethodType.methodType(long.class, double.class)); LONG_TO_DOUBLE = lookup.findStatic(Double.class, "longBitsToDouble", MethodType.methodType(double.class, long.class)); BOOLEAN_TO_INT = lookup.findStatic(Carrier.class, "booleanToInt", MethodType.methodType(int.class, boolean.class)); INT_TO_BOOLEAN = lookup.findStatic(Carrier.class, "intToBoolean", MethodType.methodType(boolean.class, int.class)); BYTE_TO_INT = lookup.findStatic(Carrier.class, "byteToInt", MethodType.methodType(int.class, byte.class)); INT_TO_BYTE = lookup.findStatic(Carrier.class, "intToByte", MethodType.methodType(byte.class, int.class)); SHORT_TO_INT = lookup.findStatic(Carrier.class, "shortToInt", MethodType.methodType(int.class, short.class)); INT_TO_SHORT = lookup.findStatic(Carrier.class, "intToShort", MethodType.methodType(short.class, int.class)); CHAR_TO_INT = lookup.findStatic(Carrier.class, "charToInt", MethodType.methodType(int.class, char.class)); INT_TO_CHAR = lookup.findStatic(Carrier.class, "intToChar", MethodType.methodType(char.class, int.class)); } catch (NoSuchMethodException | IllegalAccessException e) { throw new AssertionError(e); } } /* * Primitive conversions. */ private static final MethodHandle FLOAT_TO_INT; private static final MethodHandle INT_TO_FLOAT; private static final MethodHandle DOUBLE_TO_LONG; private static final MethodHandle LONG_TO_DOUBLE; private static final MethodHandle BOOLEAN_TO_INT; private static final MethodHandle INT_TO_BOOLEAN; private static final MethodHandle BYTE_TO_INT; private static final MethodHandle INT_TO_BYTE; private static final MethodHandle SHORT_TO_INT; private static final MethodHandle INT_TO_SHORT; private static final MethodHandle CHAR_TO_INT; private static final MethodHandle INT_TO_CHAR; private static int booleanToInt(boolean b) { return b ? 1 : 0; } private static boolean intToBoolean(int i) { return i != 0; } private static int byteToInt(byte b) { return b; } private static byte intToByte(int i) { return (byte)i; } private static int shortToInt(short s) { return s; } private static short intToShort(int i) { return (short)i; } private static int charToInt(char c) { return c; } private static char intToChar(int i) { return (char)i; } /** * Object signature descriptor. */ private static final String OBJECT_DESCRIPTOR = Type.getDescriptor(Object.class); /** * int signature descriptor. */ private static final String INT_DESCRIPTOR = Type.getDescriptor(int.class); /** * long signature descriptor. */ private static final String LONG_DESCRIPTOR = Type.getDescriptor(long.class); /** * Shape of carrier based on counts of each of the three fundamental data * types. */ private record CarrierShape(int objectCount, int intCount, int longCount) { /** * Total number of slots used in a {@link CarrierClass} instance. * * @return number of slots used */ int slotCount() { return objectCount + intCount + longCount * 2; } /** * Returns index of first object component. * * @return index of first object component */ int objectOffset() { return 0; } /** * Returns index of first int component. * * @return index of first int component */ int intOffset() { return objectCount; } /** * Returns index of first long component. * * @return index of first long component */ int longOffset() { return objectCount + intCount; } /** * Returns the constructor method type. * * @return the constructor method type. */ MethodType constructorMethodType() { Class[] array = new Class[objectCount + intCount + longCount]; int arg = 0; for(int i = 0; i < objectCount; i++) { array[arg++] = Object.class; } for(int i = 0; i < intCount; i++) { array[arg++] = int.class; } for(int i = 0; i < longCount; i++) { array[arg++] = long.class; } return MethodType.methodType(void.class, array); } } /** * Factory for array based carrier. Array wrapped in object to provide * immutability. */ static class CarrierArrayFactory { /** * Constructor * * @param ptypes types of carrier constructor arguments * * @return {@link MethodHandle} to generic carrier constructor. */ static MethodHandle constructor(Class[] ptypes) { MethodType methodType = MethodType.methodType(Object.class, ptypes); MethodHandle collector = MethodHandles.identity(Object[].class) .withVarargs(true); return collector.asType(methodType); } /** * Return an array of carrier component getters, aligning with types in * {@code ptypes}. * * @param ptypes types of carrier constructor arguments * * @return array of carrier getters */ static MethodHandle[] components(Class[] ptypes) { int length = ptypes.length; MethodHandle[] getters = new MethodHandle[length]; for (int i = 0; i < length; i++) { getters[i] = component(ptypes, i); } return getters; } /** * Return a carrier getter for component {@code i}. * * @param ptypes types of carrier constructor arguments * @param i index of parameter to get * * @return carrier component {@code i} getter {@link MethodHandle} */ static MethodHandle component(Class[] ptypes, int i) { MethodType methodType = MethodType.methodType(ptypes[i], Object.class); MethodHandle getter = MethodHandles.arrayElementGetter(Object[].class); return MethodHandles.insertArguments( getter, 1, i).asType(methodType); } } /** * Factory for object based carrier. */ static class CarrierObjectFactory { /** * Define the hidden class Lookup object * * @param bytes class content * * @return the Lookup object of the hidden class */ static Lookup defineHiddenClass(byte[] bytes) { try { return LOOKUP.defineHiddenClass(bytes, false, ClassOption.STRONG); } catch (IllegalAccessException e) { throw new AssertionError(e); } } /** * Generate the name of an object component. * * @param index field/component index * * @return name of object component */ private static String objectFieldName(int index) { return "o" + index; } /** * Generate the name of an int component. * * @param index field/component index * * @return name of int component */ private static String intFieldName(int index) { return "i" + index; } /** * Generate the name of a long component. * * @param index field/component index * * @return name of long component */ private static String longFieldName(int index) { return "l" + index; } /** * Generate the full name of a carrier class based on shape. * * @param carrierShape shape of carrier * * @return name of a carrier class */ static String carrierClassName(CarrierShape carrierShape) { String packageName = Carrier.class.getPackageName().replace('.', '/'); String className = "Carrier$" + objectFieldName(carrierShape.objectCount) + intFieldName(carrierShape.intCount) + longFieldName(carrierShape.longCount); return packageName.isEmpty() ? className : packageName + "/" + className; } /** * Construct a new object carrier class based on shape. * * @param carrierShape shape of carrier * * @return a {@link CarrierClass} object containing constructor and * component getters. */ static CarrierClass newCarrierClass(CarrierShape carrierShape) { String carrierClassName = carrierClassName(carrierShape); StringBuilder initDescriptor = new StringBuilder("("); ClassWriter cw = new ClassWriter(0); cw.visit(V17, ACC_PUBLIC | ACC_FINAL, carrierClassName, null, "java/lang/Object", null); int fieldFlags = ACC_PUBLIC | ACC_FINAL; for (int i = 0; i < carrierShape.objectCount; i++) { cw.visitField(fieldFlags, objectFieldName(i), OBJECT_DESCRIPTOR, null, null); initDescriptor.append(OBJECT_DESCRIPTOR); } for (int i = 0; i < carrierShape.intCount; i++) { cw.visitField(fieldFlags, intFieldName(i), INT_DESCRIPTOR, null, null); initDescriptor.append(INT_DESCRIPTOR); } for (int i = 0; i < carrierShape.longCount; i++) { cw.visitField(fieldFlags, longFieldName(i), LONG_DESCRIPTOR, null, null); initDescriptor.append(LONG_DESCRIPTOR); } initDescriptor.append(")V"); { MethodVisitor init = cw.visitMethod(ACC_PUBLIC, "", initDescriptor.toString(), null, null); init.visitVarInsn(ALOAD, 0); init.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "", "()V", false); int arg = 1; for (int i = 0; i < carrierShape.objectCount; i++) { init.visitVarInsn(ALOAD, 0); init.visitVarInsn(ALOAD, arg++); init.visitFieldInsn(PUTFIELD, carrierClassName, objectFieldName(i), OBJECT_DESCRIPTOR); } for (int i = 0; i < carrierShape.intCount; i++) { init.visitVarInsn(ALOAD, 0); init.visitVarInsn(ILOAD, arg++); init.visitFieldInsn(PUTFIELD, carrierClassName, intFieldName(i), INT_DESCRIPTOR); } for (int i = 0; i < carrierShape.longCount; i++) { init.visitVarInsn(ALOAD, 0); init.visitVarInsn(LLOAD, arg); arg += 2; init.visitFieldInsn(PUTFIELD, carrierClassName, longFieldName(i), LONG_DESCRIPTOR); } init.visitInsn(RETURN); init.visitMaxs( carrierShape.longCount != 0? 3: ((carrierShape.objectCount != 0 || carrierShape.intCount != 0)? 2: 1) , 1 /* this */ + carrierShape.slotCount()); init.visitEnd(); } cw.visitEnd(); byte[] bytes = cw.toByteArray(); Lookup hiddenClassLookup = defineHiddenClass(bytes); Class hiddenClass = hiddenClassLookup.lookupClass(); MethodType constructorMethodType = carrierShape.constructorMethodType(); MethodHandle constructor; MethodHandle[] components; try { constructor = hiddenClassLookup.findConstructor(hiddenClass, constructorMethodType); components = new MethodHandle[constructorMethodType.parameterCount()]; int arg = 0; for(int i = 0; i < carrierShape.objectCount; i++) { components[arg++] = hiddenClassLookup.findGetter(hiddenClass, CarrierObjectFactory.objectFieldName(i), Object.class); } for(int i = 0; i < carrierShape.intCount; i++) { components[arg++] = hiddenClassLookup.findGetter(hiddenClass, CarrierObjectFactory.intFieldName(i), int.class); } for(int i = 0; i < carrierShape.longCount; i++) { components[arg++] = hiddenClassLookup.findGetter(hiddenClass, CarrierObjectFactory.longFieldName(i), long.class); } } catch (NoSuchMethodException | NoSuchFieldException | IllegalAccessException e) { throw new AssertionError(e); } return new CarrierClass(constructor, components); } } /** * Provides constructor and component MethodHandles for a constructed * carrier class. */ record CarrierClass( /** * A raw {@link MethodHandle} for a carrier object constructor. * This constructor will only have Object, int and long type arguments. * */ MethodHandle constructor, /** * All the raw {@link MethodHandle MethodHandles} for a carrier * component getters. These getters will only return Object, int and * long types. */ MethodHandle[] components) { /** * Create a single raw {@link MethodHandle} for a carrier component * getter. * * @param i index of component to get * * @return raw {@link MethodHandle} for the component getter */ MethodHandle component(int i) { return components[i]; } } /** * Cache for all constructed carrier object classes, keyed on class * name (i.e., carrier shape.) */ private static final ConcurrentHashMap carrierCache = new ConcurrentHashMap<>(); /** * Constructor */ private Carrier() { } /** * Find or create carrier class for a carrioer shape. * * @param carrierShape shape of carrier * * @return {@link Class<>} of carrier class matching carrier shape */ private static CarrierClass findCarrierClass(CarrierShape carrierShape) { String carrierClassName = CarrierObjectFactory.carrierClassName(carrierShape); return carrierCache.computeIfAbsent(carrierClassName, cn -> CarrierObjectFactory.newCarrierClass(carrierShape)); } /** * Get the carrier shape based on parameter types. * * @param ptypes parameter types * * @return carrier object shape * * @throws IllegalArgumentException if number of component slots exceeds maximum */ private static CarrierShape getCarrierShape(Class[] ptypes) { int objectCount = 0; int intCount = 0; int longCount = 0; for (Class ptype : ptypes) { if (!ptype.isPrimitive()) { objectCount++; } else if (ptype == long.class || ptype == double.class) { longCount++; } else { intCount++; } } CarrierShape carrierShape = new CarrierShape(objectCount, intCount, longCount); if (MAX_COMPONENTS < carrierShape.slotCount()) { throw new IllegalArgumentException("Exceeds maximum number of component slots"); } return carrierShape; } /** * Permute a raw constructor {@link MethodHandle} to match the order and * types of the parameter types. * * @param newPTypes given parameter types * @param carrierShape carrier object shape * @param constructor {@link MethodHandle} to raw carrier object constructor * * @return {@link MethodHandle} constructor matching parameter types */ private static MethodHandle constructor(Class[] newPTypes, CarrierShape carrierShape, MethodHandle constructor) { int objectIndex = carrierShape.objectOffset(); int intIndex = carrierShape.intOffset(); int longIndex = carrierShape.longOffset(); int[] reorder = new int[newPTypes.length]; int index = 0; Class[] permutePTypes = new Class[newPTypes.length]; for (Class ptype : newPTypes) { MethodHandle filter = null; int from; if (!ptype.isPrimitive()) { from = objectIndex++; ptype = Object.class; } else if (ptype == long.class || ptype == double.class) { from = longIndex++; filter = ptype == double.class ? DOUBLE_TO_LONG : null; } else { from = intIndex++; if (ptype == float.class) { filter = FLOAT_TO_INT; } else if (ptype == boolean.class) { filter = BOOLEAN_TO_INT; } else if (ptype == byte.class) { filter = BYTE_TO_INT; } else if (ptype == short.class) { filter = SHORT_TO_INT; } else if (ptype == char.class) { filter = CHAR_TO_INT; } } permutePTypes[index] = ptype; reorder[from] = index++; constructor = filter == null ? constructor : MethodHandles.filterArguments(constructor, from, filter); } MethodType permutedMethodType = MethodType.methodType(constructor.type().returnType(), permutePTypes); MethodType castMethodType = MethodType.methodType(Object.class, newPTypes); constructor = MethodHandles.permuteArguments(constructor, permutedMethodType, reorder); constructor = constructor.asType(castMethodType); return constructor; } /** * Permute raw component getters to match order and types of the parameter * types. * * @param ptypes given parameter types * @param carrierShape carrier object shape * @param components raw {@link MethodHandle MethodHandles} to raw * carrier component getters * * @return array of components matching parameter types */ private static MethodHandle[] components(Class[] ptypes, CarrierShape carrierShape, MethodHandle[] components) { MethodHandle[] reorder = new MethodHandle[ptypes.length]; int objectIndex = 0; int intIndex = carrierShape.objectCount; int longIndex = carrierShape.objectCount + carrierShape.intCount; int index = 0; for (Class ptype : ptypes) { MethodHandle component; MethodHandle filter = null; if (!ptype.isPrimitive()) { component = components[objectIndex++]; } else if (ptype == long.class || ptype == double.class) { component = components[longIndex++]; filter = ptype == double.class ? LONG_TO_DOUBLE : null; } else { component = components[intIndex++]; if (ptype == float.class) { filter = INT_TO_FLOAT; } else if (ptype == boolean.class) { filter = INT_TO_BOOLEAN; } else if (ptype == byte.class) { filter = INT_TO_BYTE; } else if (ptype == short.class) { filter = INT_TO_SHORT; } else if (ptype == char.class) { filter = INT_TO_CHAR; } } component = filter == null ? component : MethodHandles.filterReturnValue(component, filter); MethodType methodType = MethodType.methodType(ptype, Object.class); reorder[index++] = component.asType(methodType); } return reorder; } /** * Returns a carrier component getter {@link MethodHandle} for the * component {@code i}. * * @param ptypes given parameter types * @param carrierShape shape of the carrier object * @param carrierClass carrier object class * @param i index to the component * * @return carrier component getter {@link MethodHandle} * * @throws IllegalArgumentException if number of component slots exceeds maximum */ private static MethodHandle component(Class[] ptypes, CarrierShape carrierShape, CarrierClass carrierClass, int i) { CarrierShape componentShape = getCarrierShape(Arrays.copyOf(ptypes, i)); Class ptype = ptypes[i]; int index; MethodHandle filter = null; if (!ptype.isPrimitive()) { index = carrierShape.objectOffset() + componentShape.objectCount(); } else if (ptype == long.class || ptype == double.class) { index = carrierShape.longOffset() + componentShape.longCount(); filter = ptype == double.class ? LONG_TO_DOUBLE : null; } else { index = carrierShape.intOffset() + componentShape.intCount(); if (ptype == float.class) { filter = INT_TO_FLOAT; } else if (ptype == boolean.class) { filter = INT_TO_BOOLEAN; } else if (ptype == byte.class) { filter = INT_TO_BYTE; } else if (ptype == short.class) { filter = INT_TO_SHORT; } else if (ptype == char.class) { filter = INT_TO_CHAR; } } MethodHandle component = carrierClass.component(index); component = filter == null ? component : MethodHandles.filterReturnValue(component, filter); return component.asType(MethodType.methodType(ptype, Object.class)); } /** * Return a constructor {@link MethodHandle} for a carrier with components * aligning with the parameter types of the supplied * {@link MethodType methodType}. * * @param methodType {@link MethodType} providing types for the carrier's * components. * * @return carrier constructor {@link MethodHandle} * * @throws NullPointerException is methodType is null * @throws IllegalArgumentException if number of component slots exceeds maximum */ public static MethodHandle constructor(MethodType methodType) { Objects.requireNonNull(methodType); Class[] ptypes = methodType.parameterArray(); CarrierShape carrierShape = getCarrierShape(ptypes); if (carrierShape.slotCount() <= MAX_OBJECT_COMPONENTS) { CarrierClass carrierClass = findCarrierClass(carrierShape); return constructor(ptypes, carrierShape, carrierClass.constructor()); } else { return CarrierArrayFactory.constructor(ptypes); } } /** * Return component getter {@link MethodHandle MethodHandles} for all the * carrier's components. * * @param methodType {@link MethodType} providing types for the carrier's * components. * * @return array of get component {@link MethodHandle MethodHandles} * * @throws NullPointerException is methodType is null * @throws IllegalArgumentException if number of component slots exceeds maximum * */ public static MethodHandle[] components(MethodType methodType) { Objects.requireNonNull(methodType); Class[] ptypes = methodType.parameterArray(); CarrierShape carrierShape = getCarrierShape(ptypes); int slotCount = carrierShape.slotCount(); MethodHandle[] components; if (slotCount <= MAX_OBJECT_COMPONENTS) { Carrier.CarrierClass carrierClass = findCarrierClass(carrierShape); components = components(ptypes, carrierShape, carrierClass.components()); } else { components = Carrier.CarrierArrayFactory.components(ptypes); } return components; } /** * Return a component getter {@link MethodHandle} for component {@code i}. * * @param methodType {@link MethodType} providing types for the carrier's * components. * @param i component index * * @return a component getter {@link MethodHandle} for component {@code i} * * @throws NullPointerException is methodType is null * @throws IllegalArgumentException if number of component slots exceeds maximum * or if {@code i} is out of bounds */ public static MethodHandle component(MethodType methodType, int i) { Objects.requireNonNull(methodType); Class[] ptypes = methodType.parameterArray(); if (i < 0 || i >= ptypes.length) { throw new IllegalArgumentException("i is out of bounds for ptypes"); } CarrierShape carrierShape = getCarrierShape(ptypes); if (carrierShape.slotCount() <= MAX_OBJECT_COMPONENTS) { CarrierClass carrierClass = findCarrierClass(carrierShape); return component(ptypes, carrierShape, carrierClass, i); } else { return CarrierArrayFactory.component(ptypes, i); } } } From james.laskey at oracle.com Sat Nov 6 01:05:44 2021 From: james.laskey at oracle.com (Jim Laskey) Date: Sat, 6 Nov 2021 01:05:44 +0000 Subject: Some proposed modifications of CarrierClass In-Reply-To: <76986489.1846861.1636159912839.JavaMail.zimbra@u-pem.fr> References: <76986489.1846861.1636159912839.JavaMail.zimbra@u-pem.fr> Message-ID: <5D249A37-D886-4DE8-8D7A-FFBE0EB836C0@oracle.com> Merci R?mi. ?? > On Nov 5, 2021, at 9:52 PM, Remi Forax wrote: > > ?Hi Jim, > I've taken a look to the Carrier class. > > Here are some small modifications, > - the computation of max locals/max stack for the constructor. > - use hidden class instead of classical class. > - use the Lookup of the hidden class instead of using reflection to get the constructor and the array of components. > - store the constructors and the components in the CarrierClass to avoid to recompute them at each call. > > Obviously, feel free to use whatever parts you want. > > regards, > R?mi > > > /* > * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it > * under the terms of the GNU General Public License version 2 only, as > * published by the Free Software Foundation. Oracle designates this > * particular file as subject to the "Classpath" exception as provided > * by Oracle in the LICENSE file that accompanied this code. > * > * This code is distributed in the hope that it will be useful, but WITHOUT > * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License > * version 2 for more details (a copy is included in the LICENSE file that > * accompanied this code). > * > * You should have received a copy of the GNU General Public License version > * 2 along with this work; if not, write to the Free Software Foundation, > * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > * > * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA > * or visit www.oracle.com if you need additional information or have any > * questions. > */ > > package java.lang.runtime; > > import java.lang.invoke.MethodHandle; > import java.lang.invoke.MethodHandles; > import java.lang.invoke.MethodHandles.Lookup; > import java.lang.invoke.MethodHandles.Lookup.ClassOption; > import java.lang.invoke.MethodType; > import java.util.Arrays; > import java.util.Objects; > import java.util.concurrent.ConcurrentHashMap; > > import org.objectweb.asm.ClassWriter; > import org.objectweb.asm.MethodVisitor; > import org.objectweb.asm.Type; > > import static org.objectweb.asm.Opcodes.*; > > /** > * This class is used to create objects that have number and types of > * components determined at runtime. > */ > public final class Carrier { > /** > * Lookup used to define and reference the carrier object classes. > */ > private static final Lookup LOOKUP; > > /** > * Maximum number of components in a carrier (based on the maximum > * number of args to a constructor.) > */ > private static final int MAX_COMPONENTS = 254; > > /** > * Maximum number of components in a CarrierClass. > */ > private static final int MAX_OBJECT_COMPONENTS = 32; > > /* > * Initialize {@link MethodHandle} constants. > */ > static { > Lookup lookup = MethodHandles.lookup(); > LOOKUP = lookup; > try { > FLOAT_TO_INT = lookup.findStatic(Float.class, "floatToRawIntBits", > MethodType.methodType(int.class, float.class)); > INT_TO_FLOAT = lookup.findStatic(Float.class, "intBitsToFloat", > MethodType.methodType(float.class, int.class)); > DOUBLE_TO_LONG = lookup.findStatic(Double.class, "doubleToRawLongBits", > MethodType.methodType(long.class, double.class)); > LONG_TO_DOUBLE = lookup.findStatic(Double.class, "longBitsToDouble", > MethodType.methodType(double.class, long.class)); > > BOOLEAN_TO_INT = lookup.findStatic(Carrier.class, "booleanToInt", > MethodType.methodType(int.class, boolean.class)); > INT_TO_BOOLEAN = lookup.findStatic(Carrier.class, "intToBoolean", > MethodType.methodType(boolean.class, int.class)); > BYTE_TO_INT = lookup.findStatic(Carrier.class, "byteToInt", > MethodType.methodType(int.class, byte.class)); > INT_TO_BYTE = lookup.findStatic(Carrier.class, "intToByte", > MethodType.methodType(byte.class, int.class)); > SHORT_TO_INT = lookup.findStatic(Carrier.class, "shortToInt", > MethodType.methodType(int.class, short.class)); > INT_TO_SHORT = lookup.findStatic(Carrier.class, "intToShort", > MethodType.methodType(short.class, int.class)); > CHAR_TO_INT = lookup.findStatic(Carrier.class, "charToInt", > MethodType.methodType(int.class, char.class)); > INT_TO_CHAR = lookup.findStatic(Carrier.class, "intToChar", > MethodType.methodType(char.class, int.class)); > } catch (NoSuchMethodException | IllegalAccessException e) { > throw new AssertionError(e); > } > } > > /* > * Primitive conversions. > */ > > private static final MethodHandle FLOAT_TO_INT; > private static final MethodHandle INT_TO_FLOAT; > private static final MethodHandle DOUBLE_TO_LONG; > private static final MethodHandle LONG_TO_DOUBLE; > private static final MethodHandle BOOLEAN_TO_INT; > private static final MethodHandle INT_TO_BOOLEAN; > private static final MethodHandle BYTE_TO_INT; > private static final MethodHandle INT_TO_BYTE; > private static final MethodHandle SHORT_TO_INT; > private static final MethodHandle INT_TO_SHORT; > private static final MethodHandle CHAR_TO_INT; > private static final MethodHandle INT_TO_CHAR; > > private static int booleanToInt(boolean b) { > return b ? 1 : 0; > } > > private static boolean intToBoolean(int i) { > return i != 0; > } > > private static int byteToInt(byte b) { > return b; > } > > private static byte intToByte(int i) { > return (byte)i; > } > > private static int shortToInt(short s) { > return s; > } > > private static short intToShort(int i) { > return (short)i; > } > > private static int charToInt(char c) { > return c; > } > > private static char intToChar(int i) { > return (char)i; > } > > /** > * Object signature descriptor. > */ > private static final String OBJECT_DESCRIPTOR = > Type.getDescriptor(Object.class); > > /** > * int signature descriptor. > */ > private static final String INT_DESCRIPTOR = > Type.getDescriptor(int.class); > > /** > * long signature descriptor. > */ > private static final String LONG_DESCRIPTOR = > Type.getDescriptor(long.class); > > /** > * Shape of carrier based on counts of each of the three fundamental data > * types. > */ > private record CarrierShape(int objectCount, int intCount, int longCount) { > /** > * Total number of slots used in a {@link CarrierClass} instance. > * > * @return number of slots used > */ > int slotCount() { > return objectCount + intCount + longCount * 2; > } > > /** > * Returns index of first object component. > * > * @return index of first object component > */ > int objectOffset() { > return 0; > } > > /** > * Returns index of first int component. > * > * @return index of first int component > */ > int intOffset() { > return objectCount; > } > > > /** > * Returns index of first long component. > * > * @return index of first long component > */ > int longOffset() { > return objectCount + intCount; > } > > /** > * Returns the constructor method type. > * > * @return the constructor method type. > */ > MethodType constructorMethodType() { > Class[] array = new Class[objectCount + intCount + longCount]; > int arg = 0; > for(int i = 0; i < objectCount; i++) { > array[arg++] = Object.class; > } > for(int i = 0; i < intCount; i++) { > array[arg++] = int.class; > } > for(int i = 0; i < longCount; i++) { > array[arg++] = long.class; > } > return MethodType.methodType(void.class, array); > } > } > > /** > * Factory for array based carrier. Array wrapped in object to provide > * immutability. > */ > static class CarrierArrayFactory { > /** > * Constructor > * > * @param ptypes types of carrier constructor arguments > * > * @return {@link MethodHandle} to generic carrier constructor. > */ > static MethodHandle constructor(Class[] ptypes) { > MethodType methodType = MethodType.methodType(Object.class, ptypes); > MethodHandle collector = MethodHandles.identity(Object[].class) > .withVarargs(true); > > return collector.asType(methodType); > } > > /** > * Return an array of carrier component getters, aligning with types in > * {@code ptypes}. > * > * @param ptypes types of carrier constructor arguments > * > * @return array of carrier getters > */ > static MethodHandle[] components(Class[] ptypes) { > int length = ptypes.length; > MethodHandle[] getters = new MethodHandle[length]; > > for (int i = 0; i < length; i++) { > getters[i] = component(ptypes, i); > } > > return getters; > } > > /** > * Return a carrier getter for component {@code i}. > * > * @param ptypes types of carrier constructor arguments > * @param i index of parameter to get > * > * @return carrier component {@code i} getter {@link MethodHandle} > */ > static MethodHandle component(Class[] ptypes, int i) { > MethodType methodType = > MethodType.methodType(ptypes[i], Object.class); > MethodHandle getter = > MethodHandles.arrayElementGetter(Object[].class); > > return MethodHandles.insertArguments( > getter, 1, i).asType(methodType); > } > } > > /** > * Factory for object based carrier. > */ > static class CarrierObjectFactory { > /** > * Define the hidden class Lookup object > * > * @param bytes class content > * > * @return the Lookup object of the hidden class > */ > static Lookup defineHiddenClass(byte[] bytes) { > try { > return LOOKUP.defineHiddenClass(bytes, false, ClassOption.STRONG); > } catch (IllegalAccessException e) { > throw new AssertionError(e); > } > } > > /** > * Generate the name of an object component. > * > * @param index field/component index > * > * @return name of object component > */ > private static String objectFieldName(int index) { > return "o" + index; > } > > /** > * Generate the name of an int component. > * > * @param index field/component index > * > * @return name of int component > */ > private static String intFieldName(int index) { > return "i" + index; > } > > /** > * Generate the name of a long component. > * > * @param index field/component index > * > * @return name of long component > */ > private static String longFieldName(int index) { > return "l" + index; > } > > /** > * Generate the full name of a carrier class based on shape. > * > * @param carrierShape shape of carrier > * > * @return name of a carrier class > */ > static String carrierClassName(CarrierShape carrierShape) { > String packageName = Carrier.class.getPackageName().replace('.', '/'); > String className = "Carrier$" + > objectFieldName(carrierShape.objectCount) + > intFieldName(carrierShape.intCount) + > longFieldName(carrierShape.longCount); > > return packageName.isEmpty() ? className : > packageName + "/" + className; > } > > /** > * Construct a new object carrier class based on shape. > * > * @param carrierShape shape of carrier > * > * @return a {@link CarrierClass} object containing constructor and > * component getters. > */ > static CarrierClass newCarrierClass(CarrierShape carrierShape) { > String carrierClassName = carrierClassName(carrierShape); > > StringBuilder initDescriptor = new StringBuilder("("); > > ClassWriter cw = new ClassWriter(0); > cw.visit(V17, ACC_PUBLIC | ACC_FINAL, carrierClassName, > null, "java/lang/Object", null); > int fieldFlags = ACC_PUBLIC | ACC_FINAL; > > for (int i = 0; i < carrierShape.objectCount; i++) { > cw.visitField(fieldFlags, objectFieldName(i), OBJECT_DESCRIPTOR, > null, null); > initDescriptor.append(OBJECT_DESCRIPTOR); > } > > for (int i = 0; i < carrierShape.intCount; i++) { > cw.visitField(fieldFlags, intFieldName(i), INT_DESCRIPTOR, > null, null); > initDescriptor.append(INT_DESCRIPTOR); > } > > for (int i = 0; i < carrierShape.longCount; i++) { > cw.visitField(fieldFlags, longFieldName(i), LONG_DESCRIPTOR, > null, null); > initDescriptor.append(LONG_DESCRIPTOR); > } > > initDescriptor.append(")V"); > > { > MethodVisitor init = cw.visitMethod(ACC_PUBLIC, > "", initDescriptor.toString(), null, null); > init.visitVarInsn(ALOAD, 0); > init.visitMethodInsn(INVOKESPECIAL, > "java/lang/Object", "", "()V", false); > > int arg = 1; > for (int i = 0; i < carrierShape.objectCount; i++) { > init.visitVarInsn(ALOAD, 0); > init.visitVarInsn(ALOAD, arg++); > init.visitFieldInsn(PUTFIELD, carrierClassName, > objectFieldName(i), OBJECT_DESCRIPTOR); > } > > for (int i = 0; i < carrierShape.intCount; i++) { > init.visitVarInsn(ALOAD, 0); > init.visitVarInsn(ILOAD, arg++); > init.visitFieldInsn(PUTFIELD, carrierClassName, > intFieldName(i), INT_DESCRIPTOR); > } > > for (int i = 0; i < carrierShape.longCount; i++) { > init.visitVarInsn(ALOAD, 0); > init.visitVarInsn(LLOAD, arg); > arg += 2; > init.visitFieldInsn(PUTFIELD, carrierClassName, > longFieldName(i), LONG_DESCRIPTOR); > } > > init.visitInsn(RETURN); > init.visitMaxs( > carrierShape.longCount != 0? 3: ((carrierShape.objectCount != 0 || carrierShape.intCount != 0)? 2: 1) , > 1 /* this */ + carrierShape.slotCount()); > init.visitEnd(); > } > > cw.visitEnd(); > byte[] bytes = cw.toByteArray(); > > Lookup hiddenClassLookup = defineHiddenClass(bytes); > Class hiddenClass = hiddenClassLookup.lookupClass(); > MethodType constructorMethodType = carrierShape.constructorMethodType(); > MethodHandle constructor; > MethodHandle[] components; > try { > constructor = hiddenClassLookup.findConstructor(hiddenClass, constructorMethodType); > > components = new MethodHandle[constructorMethodType.parameterCount()]; > int arg = 0; > for(int i = 0; i < carrierShape.objectCount; i++) { > components[arg++] = hiddenClassLookup.findGetter(hiddenClass, > CarrierObjectFactory.objectFieldName(i), Object.class); > } > for(int i = 0; i < carrierShape.intCount; i++) { > components[arg++] = hiddenClassLookup.findGetter(hiddenClass, > CarrierObjectFactory.intFieldName(i), int.class); > } > for(int i = 0; i < carrierShape.longCount; i++) { > components[arg++] = hiddenClassLookup.findGetter(hiddenClass, > CarrierObjectFactory.longFieldName(i), long.class); > } > } catch (NoSuchMethodException | NoSuchFieldException | IllegalAccessException e) { > throw new AssertionError(e); > } > > return new CarrierClass(constructor, components); > } > } > > /** > * Provides constructor and component MethodHandles for a constructed > * carrier class. > */ > record CarrierClass( > /** > * A raw {@link MethodHandle} for a carrier object constructor. > * This constructor will only have Object, int and long type arguments. > * > */ > MethodHandle constructor, > > /** > * All the raw {@link MethodHandle MethodHandles} for a carrier > * component getters. These getters will only return Object, int and > * long types. > */ > MethodHandle[] components) { > > /** > * Create a single raw {@link MethodHandle} for a carrier component > * getter. > * > * @param i index of component to get > * > * @return raw {@link MethodHandle} for the component getter > */ > MethodHandle component(int i) { > return components[i]; > } > } > > /** > * Cache for all constructed carrier object classes, keyed on class > * name (i.e., carrier shape.) > */ > private static final ConcurrentHashMap carrierCache = > new ConcurrentHashMap<>(); > > /** > * Constructor > */ > private Carrier() { > } > > /** > * Find or create carrier class for a carrioer shape. > * > * @param carrierShape shape of carrier > * > * @return {@link Class<>} of carrier class matching carrier shape > */ > private static CarrierClass findCarrierClass(CarrierShape carrierShape) { > String carrierClassName = > CarrierObjectFactory.carrierClassName(carrierShape); > > return carrierCache.computeIfAbsent(carrierClassName, > cn -> CarrierObjectFactory.newCarrierClass(carrierShape)); > } > > /** > * Get the carrier shape based on parameter types. > * > * @param ptypes parameter types > * > * @return carrier object shape > * > * @throws IllegalArgumentException if number of component slots exceeds maximum > */ > private static CarrierShape getCarrierShape(Class[] ptypes) { > int objectCount = 0; > int intCount = 0; > int longCount = 0; > > for (Class ptype : ptypes) { > if (!ptype.isPrimitive()) { > objectCount++; > } else if (ptype == long.class || ptype == double.class) { > longCount++; > } else { > intCount++; > } > } > > CarrierShape carrierShape = new CarrierShape(objectCount, intCount, longCount); > > if (MAX_COMPONENTS < carrierShape.slotCount()) { > throw new IllegalArgumentException("Exceeds maximum number of component slots"); > } > > return carrierShape; > } > > /** > * Permute a raw constructor {@link MethodHandle} to match the order and > * types of the parameter types. > * > * @param newPTypes given parameter types > * @param carrierShape carrier object shape > * @param constructor {@link MethodHandle} to raw carrier object constructor > * > * @return {@link MethodHandle} constructor matching parameter types > */ > private static MethodHandle constructor(Class[] newPTypes, > CarrierShape carrierShape, > MethodHandle constructor) { > int objectIndex = carrierShape.objectOffset(); > int intIndex = carrierShape.intOffset(); > int longIndex = carrierShape.longOffset(); > int[] reorder = new int[newPTypes.length]; > int index = 0; > Class[] permutePTypes = new Class[newPTypes.length]; > > for (Class ptype : newPTypes) { > MethodHandle filter = null; > int from; > > if (!ptype.isPrimitive()) { > from = objectIndex++; > ptype = Object.class; > } else if (ptype == long.class || ptype == double.class) { > from = longIndex++; > filter = ptype == double.class ? DOUBLE_TO_LONG : null; > } else { > from = intIndex++; > > if (ptype == float.class) { > filter = FLOAT_TO_INT; > } else if (ptype == boolean.class) { > filter = BOOLEAN_TO_INT; > } else if (ptype == byte.class) { > filter = BYTE_TO_INT; > } else if (ptype == short.class) { > filter = SHORT_TO_INT; > } else if (ptype == char.class) { > filter = CHAR_TO_INT; > } > } > > permutePTypes[index] = ptype; > reorder[from] = index++; > constructor = filter == null ? constructor : > MethodHandles.filterArguments(constructor, from, filter); > } > > MethodType permutedMethodType = > MethodType.methodType(constructor.type().returnType(), > permutePTypes); > MethodType castMethodType = > MethodType.methodType(Object.class, newPTypes); > constructor = MethodHandles.permuteArguments(constructor, > permutedMethodType, reorder); > constructor = constructor.asType(castMethodType); > > return constructor; > } > > /** > * Permute raw component getters to match order and types of the parameter > * types. > * > * @param ptypes given parameter types > * @param carrierShape carrier object shape > * @param components raw {@link MethodHandle MethodHandles} to raw > * carrier component getters > * > * @return array of components matching parameter types > */ > private static MethodHandle[] components(Class[] ptypes, > CarrierShape carrierShape, > MethodHandle[] components) { > MethodHandle[] reorder = new MethodHandle[ptypes.length]; > int objectIndex = 0; > int intIndex = carrierShape.objectCount; > int longIndex = carrierShape.objectCount + carrierShape.intCount; > int index = 0; > > for (Class ptype : ptypes) { > MethodHandle component; > MethodHandle filter = null; > > if (!ptype.isPrimitive()) { > component = components[objectIndex++]; > } else if (ptype == long.class || ptype == double.class) { > component = components[longIndex++]; > filter = ptype == double.class ? LONG_TO_DOUBLE : null; > } else { > component = components[intIndex++]; > > if (ptype == float.class) { > filter = INT_TO_FLOAT; > } else if (ptype == boolean.class) { > filter = INT_TO_BOOLEAN; > } else if (ptype == byte.class) { > filter = INT_TO_BYTE; > } else if (ptype == short.class) { > filter = INT_TO_SHORT; > } else if (ptype == char.class) { > filter = INT_TO_CHAR; > } > } > > component = filter == null ? component : > MethodHandles.filterReturnValue(component, filter); > MethodType methodType = MethodType.methodType(ptype, Object.class); > reorder[index++] = component.asType(methodType); > } > > return reorder; > } > > /** > * Returns a carrier component getter {@link MethodHandle} for the > * component {@code i}. > * > * @param ptypes given parameter types > * @param carrierShape shape of the carrier object > * @param carrierClass carrier object class > * @param i index to the component > * > * @return carrier component getter {@link MethodHandle} > * > * @throws IllegalArgumentException if number of component slots exceeds maximum > */ > private static MethodHandle component(Class[] ptypes, > CarrierShape carrierShape, > CarrierClass carrierClass, > int i) { > CarrierShape componentShape = getCarrierShape(Arrays.copyOf(ptypes, i)); > Class ptype = ptypes[i]; > int index; > MethodHandle filter = null; > > if (!ptype.isPrimitive()) { > index = carrierShape.objectOffset() + componentShape.objectCount(); > } else if (ptype == long.class || ptype == double.class) { > index = carrierShape.longOffset() + componentShape.longCount(); > filter = ptype == double.class ? LONG_TO_DOUBLE : null; > } else { > index = carrierShape.intOffset() + componentShape.intCount(); > > if (ptype == float.class) { > filter = INT_TO_FLOAT; > } else if (ptype == boolean.class) { > filter = INT_TO_BOOLEAN; > } else if (ptype == byte.class) { > filter = INT_TO_BYTE; > } else if (ptype == short.class) { > filter = INT_TO_SHORT; > } else if (ptype == char.class) { > filter = INT_TO_CHAR; > } > } > > MethodHandle component = carrierClass.component(index); > component = filter == null ? component : > MethodHandles.filterReturnValue(component, filter); > > return component.asType(MethodType.methodType(ptype, Object.class)); > } > > /** > * Return a constructor {@link MethodHandle} for a carrier with components > * aligning with the parameter types of the supplied > * {@link MethodType methodType}. > * > * @param methodType {@link MethodType} providing types for the carrier's > * components. > * > * @return carrier constructor {@link MethodHandle} > * > * @throws NullPointerException is methodType is null > * @throws IllegalArgumentException if number of component slots exceeds maximum > */ > public static MethodHandle constructor(MethodType methodType) { > Objects.requireNonNull(methodType); > > Class[] ptypes = methodType.parameterArray(); > CarrierShape carrierShape = getCarrierShape(ptypes); > > if (carrierShape.slotCount() <= MAX_OBJECT_COMPONENTS) { > CarrierClass carrierClass = findCarrierClass(carrierShape); > > return constructor(ptypes, carrierShape, carrierClass.constructor()); > } else { > return CarrierArrayFactory.constructor(ptypes); > } > } > > /** > * Return component getter {@link MethodHandle MethodHandles} for all the > * carrier's components. > * > * @param methodType {@link MethodType} providing types for the carrier's > * components. > * > * @return array of get component {@link MethodHandle MethodHandles} > * > * @throws NullPointerException is methodType is null > * @throws IllegalArgumentException if number of component slots exceeds maximum > * > */ > public static MethodHandle[] components(MethodType methodType) { > Objects.requireNonNull(methodType); > Class[] ptypes = methodType.parameterArray(); > CarrierShape carrierShape = getCarrierShape(ptypes); > int slotCount = carrierShape.slotCount(); > MethodHandle[] components; > > if (slotCount <= MAX_OBJECT_COMPONENTS) { > Carrier.CarrierClass carrierClass = findCarrierClass(carrierShape); > components = components(ptypes, carrierShape, carrierClass.components()); > } else { > components = Carrier.CarrierArrayFactory.components(ptypes); > } > > return components; > } > > /** > * Return a component getter {@link MethodHandle} for component {@code i}. > * > * @param methodType {@link MethodType} providing types for the carrier's > * components. > * @param i component index > * > * @return a component getter {@link MethodHandle} for component {@code i} > * > * @throws NullPointerException is methodType is null > * @throws IllegalArgumentException if number of component slots exceeds maximum > * or if {@code i} is out of bounds > */ > public static MethodHandle component(MethodType methodType, int i) { > Objects.requireNonNull(methodType); > Class[] ptypes = methodType.parameterArray(); > > if (i < 0 || i >= ptypes.length) { > throw new IllegalArgumentException("i is out of bounds for ptypes"); > } > > CarrierShape carrierShape = getCarrierShape(ptypes); > > if (carrierShape.slotCount() <= MAX_OBJECT_COMPONENTS) { > CarrierClass carrierClass = findCarrierClass(carrierShape); > > return component(ptypes, carrierShape, carrierClass, i); > } else { > return CarrierArrayFactory.component(ptypes, i); > } > } > } From brian.goetz at oracle.com Mon Nov 8 20:37:24 2021 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 8 Nov 2021 15:37:24 -0500 Subject: RFR: 8273328: Compiler implementation for Pattern Matching for switch (Second Preview) In-Reply-To: <_hUs5IQRMm-eJDvie67qbTMxaXyqWmWiqU82I1ix6N8=.33c811c5-9661-4a2a-a4ad-e6c3f810aceb@github.com> References: <_hUs5IQRMm-eJDvie67qbTMxaXyqWmWiqU82I1ix6N8=.33c811c5-9661-4a2a-a4ad-e6c3f810aceb@github.com> Message-ID: This is more of a spec issue than a compiler issue.? I finally got around to running some of my favorite GADT examples on this. I started with this Haskell type: ??? data Term t where ??????? Lit :: t -> Term t ??????? Succ :: Term Int -> Term Int ??????? IsZero :: Term Int -> Term Bool ??????? If :: Term Bool -> Term a -> Term a -> Term a I can map it to this Java hierarchy: ??? sealed interface Term { } ??? record Lit(T val) implements Term { } ??? record Succ(Term a) implements Term { } ??? record IsZero(Term a) implements Term { } ??? record If(Term cond, Term a, Term b) implements Term { } We correctly eliminate the impossible cases in: ??? String foo(Term t) { ? ?? ?? return switch (t) { ??????????? case Lit -> "Lit"; ??????????? case If -> "If"; ??????? } ??? } And the compiler correctly tells me that the switch is exhaustive.? But if I try to write an evaluator: ??? static T eval(Term term) { ??????? return switch (term) { ??????? case Lit t -> t.val; ??????? case Succ t -> eval(t.a) + 1; ??????? case IsZero t -> eval(t.a) == 0; ??????? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); ??????? }; ??? } I get errors on the Succ and IsZero cases.? In Haskell, the equivalent: ??? eval :: Term t -> t ??? eval (Lit t) = t ??? eval (Succ i) = (eval i) + 1 ??? ... works correctly because when we match on `eval (Succ i)`, we unify t with Int, since that's the only instantiation for t that would work in this case.? That's what allows us to return an Int when we're expecting a t, because we've already figured out they are the same. So in order to make our eval work, we would have to know to _refine_ the bounds of T on the RHS of ??????? case Succ t -> eval(t.a) + 1; where we would say "Succ is Term, and Succ extends Term, so T=Integer here". In the absence of this, I have to do an explicit boxing plus an unchecked cast: ??? static T eval(Term term) { ??????? return switch (term) { ??????? case Lit t -> t.val; ??????? case Succ t -> (T) (Integer) (eval(t.a) + 1); ??????? case IsZero t -> (T) (Boolean) (eval(t.a) == 0); ??????? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); ??????? }; ??? } That we need both the boxing and the T cast is probably a bug. On 11/2/2021 6:59 AM, Jan Lahoda wrote: > The specification for pattern matching for switch (preview)[1] has been updated with two changes: > -any type of pattern (including guarded patterns) dominates constant cases. Dominance across pattern/non-constant cases is unchanged. (See the change in `Attr.java`.) > -for sealed hierarchies, it may happen some of the subtypes are impossible (not castable) to the selector type. Like, for example: > > sealed interface I {} > final class A implements I {} > final class B implements I {} > ... > I i = ...; > switch (i) { > case A a -> {} //case not allowed as I is not castable to A > case B b -> {} > } > > > But, the exhaustiveness checks in JDK 17 required all the permitted subclasses, including `A`, are covered by the switch, which forced a `default` clause in place of `case A a` for cases like this. The updated specification excludes such impossible permitted subclasses from exhaustiveness checks, so the default is no longer needed and this: > > > I i = ...; > switch (i) { > case B b -> {} > } > > > compiles OK. > (See the change in `Flow.java`.) > > [1]http://cr.openjdk.java.net/~gbierman/jep420/jep420-20211020/specs/patterns-switch-jls.html > > ------------- > > Commit messages: > - Fixing tests. > - Merge branch 'master' into JDK-8273328 > - Updating to reflect the new spec. > > Changes:https://git.openjdk.java.net/jdk/pull/6209/files > Webrev:https://webrevs.openjdk.java.net/?repo=jdk&pr=6209&range=00 > Issue:https://bugs.openjdk.java.net/browse/JDK-8273328 > Stats: 223 lines in 9 files changed: 174 ins; 16 del; 33 mod > Patch:https://git.openjdk.java.net/jdk/pull/6209.diff > Fetch: git fetchhttps://git.openjdk.java.net/jdk pull/6209/head:pull/6209 > > PR:https://git.openjdk.java.net/jdk/pull/6209 From duke at openjdk.java.net Tue Nov 9 12:29:10 2021 From: duke at openjdk.java.net (duke) Date: Tue, 9 Nov 2021 12:29:10 GMT Subject: git: openjdk/amber-docs: Updated index for JDK 18 work in progress (#11) Message-ID: <5e8fec64-7bf8-43eb-928b-94e7cd2e2f6b@openjdk.java.net> Changeset: 11c2d1e2 Author: Gavin Bierman Committer: GitHub Date: 2021-11-09 12:28:44 +0000 URL: https://git.openjdk.java.net/amber-docs/commit/11c2d1e214f64478eada689ee8228633541df82a Updated index for JDK 18 work in progress (#11) * Updated index for JDK 18 work in progress * Updating http to https ! site/_index.md From gbierman at openjdk.java.net Tue Nov 9 12:32:10 2021 From: gbierman at openjdk.java.net (Gavin Bierman) Date: Tue, 9 Nov 2021 12:32:10 GMT Subject: [amber-docs] RFR: Updated index for JDK 18 work in progress [v2] In-Reply-To: References: Message-ID: > Updating the index page Gavin Bierman has updated the pull request incrementally with one additional commit since the last revision: Updating http to https ------------- Changes: - all: https://git.openjdk.java.net/amber-docs/pull/11/files - new: https://git.openjdk.java.net/amber-docs/pull/11/files/f3a63627..0506a9b9 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=amber-docs&pr=11&range=01 - incr: https://webrevs.openjdk.java.net/?repo=amber-docs&pr=11&range=00-01 Stats: 22 lines in 1 file changed: 0 ins; 0 del; 22 mod Patch: https://git.openjdk.java.net/amber-docs/pull/11.diff Fetch: git fetch https://git.openjdk.java.net/amber-docs pull/11/head:pull/11 PR: https://git.openjdk.java.net/amber-docs/pull/11 From gbierman at openjdk.java.net Tue Nov 9 12:32:12 2021 From: gbierman at openjdk.java.net (Gavin Bierman) Date: Tue, 9 Nov 2021 12:32:12 GMT Subject: [amber-docs] Withdrawn: Updated index for JDK 18 work in progress In-Reply-To: References: Message-ID: On Fri, 5 Nov 2021 15:32:46 GMT, Gavin Bierman wrote: > Updating the index page This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/amber-docs/pull/11 From ice1000kotlin at foxmail.com Tue Nov 9 17:40:45 2021 From: ice1000kotlin at foxmail.com (=?utf-8?B?VGVzbGEgWmhhbmc=?=) Date: Tue, 9 Nov 2021 13:40:45 -0400 Subject: RFR: 8273328: Compiler implementation for Pattern Matching forswitch (Second Preview) Message-ID: Hi, Regarding GADT semantics, I would also like to see empty switches, which is an inevitable phenomenon when you can refute patterns. Is empty switch a thing yet? Regards, Tesla ---Original--- From: "Brian Goetz" References: Message-ID: <2369129e-3b82-72fa-4182-94fda4154fde@oracle.com> Do you mean switches that have no operand, so the cases are a series of guards, or a switch with no cases?? The latter seems unlikely since the cases of a switch must be exhaustive on the type of the operand. On 11/9/2021 12:40 PM, Tesla Zhang wrote: > Hi, > > Regarding GADT semantics, I would also like to see empty switches, > which is an inevitable phenomenon when you can refute patterns. Is > empty switch a thing yet? > > ------------------------------------------------------------------------ > Regards, > Tesla > ---Original--- > *From:* "Brian Goetz" > *Date:* Mon, Nov 8, 2021 15:37 PM > *To:* "Jan > Lahoda";"amber-dev"; > *Subject:* Re: RFR: 8273328: Compiler implementation for Pattern > Matching forswitch (Second Preview) > > This is more of a spec issue than a compiler issue.? I finally got > around to running some of my favorite GADT examples on this. > > I started with this Haskell type: > > ???? data Term t where > ???????? Lit :: t -> Term t > ???????? Succ :: Term Int -> Term Int > ???????? IsZero :: Term Int -> Term Bool > ???????? If :: Term Bool -> Term a -> Term a -> Term a > > I can map it to this Java hierarchy: > > ???? sealed interface Term { } > > ???? record Lit(T val) implements Term { } > ???? record Succ(Term a) implements Term { } > ???? record IsZero(Term a) implements Term { } > ???? record If(Term cond, Term a, Term b) implements > Term { } > > We correctly eliminate the impossible cases in: > > ???? String foo(Term t) { > ?? ?? ?? return switch (t) { > ???????????? case Lit -> "Lit"; > ???????????? case If -> "If"; > ???????? } > ???? } > > And the compiler correctly tells me that the switch is exhaustive.? But > if I try to write an evaluator: > > ???? static T eval(Term term) { > ???????? return switch (term) { > ???????? case Lit t -> t.val; > ???????? case Succ t -> eval(t.a) + 1; > ???????? case IsZero t -> eval(t.a) == 0; > ???????? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); > ???????? }; > ???? } > > > I get errors on the Succ and IsZero cases.? In Haskell, the equivalent: > > ???? eval :: Term t -> t > ???? eval (Lit t) = t > ???? eval (Succ i) = (eval i) + 1 > ???? ... > > works correctly because when we match on `eval (Succ i)`, we unify t > with Int, since that's the only instantiation for t that would work in > this case.? That's what allows us to return an Int when we're expecting > a t, because we've already figured out they are the same. > > So in order to make our eval work, we would have to know to _refine_ the > bounds of T on the RHS of > > ???????? case Succ t -> eval(t.a) + 1; > > where we would say "Succ is Term, and Succ extends Term, so > T=Integer here". > > In the absence of this, I have to do an explicit boxing plus an > unchecked cast: > > ???? static T eval(Term term) { > ???????? return switch (term) { > ???????? case Lit t -> t.val; > ???????? case Succ t -> (T) (Integer) (eval(t.a) + 1); > ???????? case IsZero t -> (T) (Boolean) (eval(t.a) == 0); > ???????? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); > ???????? }; > ???? } > > That we need both the boxing and the T cast is probably a bug. > > > > > > > > On 11/2/2021 6:59 AM, Jan Lahoda wrote: > > The specification for pattern matching for switch (preview)[1] has > been updated with two changes: > > -any type of pattern (including guarded patterns) dominates constant > cases. Dominance across pattern/non-constant cases is unchanged. (See > the change in `Attr.java`.) > > -for sealed hierarchies, it may happen some of the subtypes are > impossible (not castable) to the selector type. Like, for example: > > > > sealed interface I {} > > final class A implements I {} > > final class B implements I {} > > ... > > I i = ...; > > switch (i) { > >?????? case A a -> {} //case not allowed as I is not > castable to A > >?????? case B b -> {} > > } > > > > > > But, the exhaustiveness checks in JDK 17 required all the permitted > subclasses, including `A`, are covered by the switch, which forced a > `default` clause in place of `case A a` for cases like this. The > updated specification excludes such impossible permitted subclasses > from exhaustiveness checks, so the default is no longer needed and this: > > > > > > I i = ...; > > switch (i) { > >?????? case B b -> {} > > } > > > > > > compiles OK. > > (See the change in `Flow.java`.) > > > > > [1]http://cr.openjdk.java.net/~gbierman/jep420/jep420-20211020/specs/patterns-switch-jls.html > > > > ------------- > > > > Commit messages: > >?? - Fixing tests. > >?? - Merge branch 'master' into JDK-8273328 > >?? - Updating to reflect the new spec. > > > > Changes:https://git.openjdk.java.net/jdk/pull/6209/files > > Webrev:https://webrevs.openjdk.java.net/?repo=jdk&pr=6209&range=00 > >??? Issue:https://bugs.openjdk.java.net/browse/JDK-8273328 > >??? Stats: 223 lines in 9 files changed: 174 ins; 16 del; 33 mod > >??? Patch:https://git.openjdk.java.net/jdk/pull/6209.diff > >??? Fetch: git fetchhttps://git.openjdk.java.net/jdk > pull/6209/head:pull/6209 > > > > PR:https://git.openjdk.java.net/jdk/pull/6209 From ice1000kotlin at foxmail.com Tue Nov 9 19:37:51 2021 From: ice1000kotlin at foxmail.com (=?utf-8?B?VGVzbGEgWmhhbmc=?=) Date: Tue, 9 Nov 2021 15:37:51 -0400 Subject: [External] : Re: RFR: 8273328: Compiler implementation for Pattern Matching forswitch (Second Preview) Message-ID: Hi, I meant the latter. Consider Term References: Message-ID: <535274ae-ae61-21da-0cf3-a372160b76e7@oracle.com> If the type of the switch operand is uninhabitable, then an empty switch is exhaustive. On 11/9/2021 2:37 PM, Tesla Zhang wrote: > Hi, > > > I meant the latter. Consider Term with Lit and If, two subclasses > removed, and you switch on an instance of Term. > > > ------------------------------------------------------------------------ > Regards, > Tesla > ---Original--- > *From:* "Brian Goetz" > *Date:* Tue, Nov 9, 2021 13:44 PM > *To:* "Tesla Zhang";"Jan > Lahoda";"amber-dev"; > *Subject:* Re: [External] : Re: RFR: 8273328: Compiler implementation > for Pattern Matching forswitch (Second Preview) > > Do you mean switches that have no operand, so the cases are a series > of guards, or a switch with no cases?? The latter seems unlikely since > the cases of a switch must be exhaustive on the type of the operand. > > On 11/9/2021 12:40 PM, Tesla Zhang wrote: >> Hi, >> >> Regarding GADT semantics, I would also like to see empty switches, >> which is an inevitable phenomenon when you can refute patterns. Is >> empty switch a thing yet? >> >> ------------------------------------------------------------------------ >> Regards, >> Tesla >> ---Original--- >> *From:* "Brian Goetz" >> *Date:* Mon, Nov 8, 2021 15:37 PM >> *To:* "Jan >> Lahoda";"amber-dev"; >> *Subject:* Re: RFR: 8273328: Compiler implementation for Pattern >> Matching forswitch (Second Preview) >> >> This is more of a spec issue than a compiler issue.? I finally got >> around to running some of my favorite GADT examples on this. >> >> I started with this Haskell type: >> >> ?? ? data Term t where >> ?????? ? Lit :: t -> Term t >> ?????? ? Succ :: Term Int -> Term Int >> ?????? ? IsZero :: Term Int -> Term Bool >> ?????? ? If :: Term Bool -> Term a -> Term a -> Term a >> >> I can map it to this Java hierarchy: >> >> ?? ? sealed interface Term { } >> >> ?? ? record Lit(T val) implements Term { } >> ?? ? record Succ(Term a) implements Term { } >> ?? ? record IsZero(Term a) implements Term { } >> ?? ? record If(Term cond, Term a, Term b) implements >> Term { } >> >> We correctly eliminate the impossible cases in: >> >> ?? ? String foo(Term t) { >> ?? ?? ?? return switch (t) { >> ?????????? ? case Lit -> "Lit"; >> ?????????? ? case If -> "If"; >> ?????? ? } >> ?? ? } >> >> And the compiler correctly tells me that the switch is exhaustive.? But >> if I try to write an evaluator: >> >> ?? ? static T eval(Term term) { >> ?????? ? return switch (term) { >> ?????? ? case Lit t -> t.val; >> ?????? ? case Succ t -> eval(t.a) + 1; >> ?????? ? case IsZero t -> eval(t.a) == 0; >> ?????? ? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); >> ?????? ? }; >> ?? ? } >> >> >> I get errors on the Succ and IsZero cases.? In Haskell, the equivalent: >> >> ?? ? eval :: Term t -> t >> ?? ? eval (Lit t) = t >> ?? ? eval (Succ i) = (eval i) + 1 >> ?? ? ... >> >> works correctly because when we match on `eval (Succ i)`, we unify t >> with Int, since that's the only instantiation for t that would work in >> this case.? That's what allows us to return an Int when we're expecting >> a t, because we've already figured out they are the same. >> >> So in order to make our eval work, we would have to know to _refine_ the >> bounds of T on the RHS of >> >> ?????? ? case Succ t -> eval(t.a) + 1; >> >> where we would say "Succ is Term, and Succ extends Term, so >> T=Integer here". >> >> In the absence of this, I have to do an explicit boxing plus an >> unchecked cast: >> >> ?? ? static T eval(Term term) { >> ?????? ? return switch (term) { >> ?????? ? case Lit t -> t.val; >> ?????? ? case Succ t -> (T) (Integer) (eval(t.a) + 1); >> ?????? ? case IsZero t -> (T) (Boolean) (eval(t.a) == 0); >> ?????? ? case If t -> eval(t.cond) ? eval(t.a) : eval(t.b); >> ?????? ? }; >> ?? ? } >> >> That we need both the boxing and the T cast is probably a bug. >> >> >> >> >> >> >> >> On 11/2/2021 6:59 AM, Jan Lahoda wrote: >> > The specification for pattern matching for switch (preview)[1] has >> been updated with two changes: >> > -any type of pattern (including guarded patterns) dominates >> constant cases. Dominance across pattern/non-constant cases is >> unchanged. (See the change in `Attr.java`.) >> > -for sealed hierarchies, it may happen some of the subtypes are >> impossible (not castable) to the selector type. Like, for example: >> > >> > sealed interface I {} >> > final class A implements I {} >> > final class B implements I {} >> > ... >> > I i = ...; >> > switch (i) { >> >???? ? case A a -> {} //case not allowed as I is not >> castable to A >> >???? ? case B b -> {} >> > } >> > >> > >> > But, the exhaustiveness checks in JDK 17 required all the permitted >> subclasses, including `A`, are covered by the switch, which forced a >> `default` clause in place of `case A a` for cases like this. The >> updated specification excludes such impossible permitted subclasses >> from exhaustiveness checks, so the default is no longer needed and this: >> > >> > >> > I i = ...; >> > switch (i) { >> >???? ? case B b -> {} >> > } >> > >> > >> > compiles OK. >> > (See the change in `Flow.java`.) >> > >> > >> [1]http://cr.openjdk.java.net/~gbierman/jep420/jep420-20211020/specs/patterns-switch-jls.html >> > >> > ------------- >> > >> > Commit messages: >> > ? - Fixing tests. >> > ? - Merge branch 'master' into JDK-8273328 >> > ? - Updating to reflect the new spec. >> > >> > Changes:https://git.openjdk.java.net/jdk/pull/6209/files >> >? Webrev:https://webrevs.openjdk.java.net/?repo=jdk&pr=6209&range=00 >> >? ? Issue:https://bugs.openjdk.java.net/browse/JDK-8273328 >> >? ? Stats: 223 lines in 9 files changed: 174 ins; 16 del; 33 mod >> >? ? Patch:https://git.openjdk.java.net/jdk/pull/6209.diff >> >? ? Fetch: git fetchhttps://git.openjdk.java.net/jdk >> pull/6209/head:pull/6209 >> > >> > PR:https://git.openjdk.java.net/jdk/pull/6209 > From duke at openjdk.java.net Thu Nov 11 22:08:13 2021 From: duke at openjdk.java.net (duke) Date: Thu, 11 Nov 2021 22:08:13 GMT Subject: git: openjdk/amber: stats-before-this-super: 98 new changesets Message-ID: <5d000b6b-83c3-41bd-8d93-d45ea16bba32@openjdk.org> Changeset: e21b5c7b Author: Mandy Chung Date: 2021-11-04 23:51:18 +0000 URL: https://git.openjdk.java.net/amber/commit/e21b5c7b3781430ecf568e7f5c89ef3391e06d9e 8276650: GenGraphs does not produce deterministic output Reviewed-by: iris ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java ! test/langtools/tools/jdeps/modules/DotFileTest.java Changeset: 9ad4d3d0 Author: Sandhya Viswanathan Date: 2021-11-05 03:30:09 +0000 URL: https://git.openjdk.java.net/amber/commit/9ad4d3d06bb356436d69af07726ef6727c500f59 8276025: Hotspot's libsvml.so may conflict with user dependency Reviewed-by: kvn, erikj, psandoz, ihse ! make/modules/jdk.incubator.vector/Lib.gmk ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp = src/jdk.incubator.vector/linux/native/libjsvml/globals_vectorApiSupport_linux.S.inc + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_acos_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_asin_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_atan2_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_atan_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cbrt_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cos_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cosh_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_exp_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_expm1_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_hypot_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log10_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log1p_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_pow_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_sin_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_sinh_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_tan_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_d_tanh_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_acos_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_asin_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_atan2_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_atan_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cbrt_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cos_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cosh_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_exp_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_expm1_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_hypot_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log10_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log1p_linux_x86.S + src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_pow_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_sin_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_sinh_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_tan_linux_x86.S = src/jdk.incubator.vector/linux/native/libjsvml/jsvml_s_tanh_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_acos_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_asin_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_atan2_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_atan_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_cbrt_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_cosh_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_exp_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_expm1_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_d_log10_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_atan_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_cbrt_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_exp_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_expm1_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_log10_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_log1p_linux_x86.S - src/jdk.incubator.vector/linux/native/libsvml/svml_s_log_linux_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/globals_vectorApiSupport_windows.S.inc + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_acos_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_asin_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_atan2_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_atan_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cbrt_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cos_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cosh_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_exp_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_expm1_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_hypot_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log10_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log1p_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_pow_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sin_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sinh_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tan_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tanh_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_acos_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_asin_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_atan2_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_atan_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cbrt_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cos_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cosh_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_exp_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_expm1_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_hypot_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log10_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log1p_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_pow_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sin_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sinh_windows_x86.S = src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tan_windows_x86.S + src/jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tanh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_acos_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_asin_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_atan2_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_atan_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_cbrt_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_cosh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_exp_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_expm1_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_hypot_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_log10_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_log1p_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_log_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_pow_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_sinh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_tan_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_d_tanh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_acos_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_asin_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_atan2_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_atan_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_cbrt_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_cosh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_exp_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_expm1_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_log10_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_log1p_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_log_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_sinh_windows_x86.S - src/jdk.incubator.vector/windows/native/libsvml/svml_s_tanh_windows_x86.S ! test/jdk/jdk/incubator/vector/ImageTest.java = test/jdk/jdk/incubator/vector/LoadJsvmlTest.java Changeset: 396132ff Author: Jaikiran Pai Date: 2021-11-05 03:44:45 +0000 URL: https://git.openjdk.java.net/amber/commit/396132ff1e56463ad195cac5c9ac8e2eac5a16e8 8275509: ModuleDescriptor.hashCode isn't reproducible across builds Reviewed-by: alanb, ihse ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java + test/jdk/java/lang/module/ModuleDescriptorHashCodeTest.java Changeset: 8e17ce00 Author: Ioi Lam Date: 2021-11-05 04:37:01 +0000 URL: https://git.openjdk.java.net/amber/commit/8e17ce00316a765bbedefc34dc5898ba4f3f2144 8275185: Remove dead code and clean up jvmstat LocalVmManager Reviewed-by: cjplummer, redestad, kevinw ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/PerfDataFile.java Changeset: 7281861e Author: Thomas Stuefe Date: 2021-11-05 05:15:53 +0000 URL: https://git.openjdk.java.net/amber/commit/7281861e0662e6c51507066a1f12673a236c7491 8272065: jcmd cannot rely on the old core reflection implementation which will be changed after JEP 416 Reviewed-by: mchung, coleenp, dholmes ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp - src/hotspot/share/oops/reflectionAccessorImplKlassHelper.cpp - src/hotspot/share/oops/reflectionAccessorImplKlassHelper.hpp ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderHierarchyTest.java ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java - test/hotspot/jtreg/serviceability/dcmd/vm/ShowReflectionTargetTest.java Changeset: 96c396b7 Author: Ningsheng Jian Date: 2021-11-05 07:45:54 +0000 URL: https://git.openjdk.java.net/amber/commit/96c396b701e290fc3e1124b1c862b41e02e9c1d9 8276151: AArch64: Incorrect result for double to int vector conversion Reviewed-by: aph, psandoz ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 ! test/hotspot/jtreg/compiler/vectorapi/VectorCastShape128Test.java ! test/hotspot/jtreg/compiler/vectorapi/VectorCastShape64Test.java Changeset: 323d2017 Author: Leo Korinth Date: 2021-11-05 09:25:21 +0000 URL: https://git.openjdk.java.net/amber/commit/323d2017959dc96d25eaa1aad6404586099c237e 8275506: Rename allocated_on_stack to allocated_on_stack_or_embedded Reviewed-by: stuefe ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/memory/allocation.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/utilities/growableArray.cpp ! test/hotspot/gtest/utilities/test_growableArray.cpp Changeset: 3c0faa73 Author: Leo Korinth Date: 2021-11-05 09:42:26 +0000 URL: https://git.openjdk.java.net/amber/commit/3c0faa73522bd004b66cb9e477f43e15a29842e6 8276173: Clean up and remove unneeded casts in HeapDumper Reviewed-by: coleenp, hseigel ! src/hotspot/share/services/heapDumper.cpp Changeset: d95299a4 Author: Patrick Concannon Date: 2021-11-05 10:39:37 +0000 URL: https://git.openjdk.java.net/amber/commit/d95299a4d751449816ad2a88359f1e48e9608246 8276634: Remove `usePlainDatagramSocketImpl` option from the test DatagramChannel/SendReceiveMaxSize.java Reviewed-by: dfuchs, alanb, vtewari ! test/jdk/java/nio/channels/DatagramChannel/ChangingAddress.java ! test/jdk/java/nio/channels/DatagramChannel/SendReceiveMaxSize.java Changeset: 0616d868 Author: Magnus Ihse Bursie Date: 2021-11-05 12:05:22 +0000 URL: https://git.openjdk.java.net/amber/commit/0616d868c7cd5010f017b315fa1cf6cc1617ce29 8276635: Use blessed modifier order in compiler code Reviewed-by: darcy ! src/java.compiler/share/classes/javax/tools/Diagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JRTIndex.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java ! src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java Changeset: b9331360 Author: Magnus Ihse Bursie Date: 2021-11-05 12:06:39 +0000 URL: https://git.openjdk.java.net/amber/commit/b9331360f50afe5b4549d7003d4932ebc54a3c71 8276641: Use blessed modifier order in jshell Reviewed-by: iris ! src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/AnsiWriter.java ! src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/WindowsAnsiWriter.java ! src/jdk.jshell/share/classes/jdk/jshell/Key.java ! src/jdk.jshell/share/classes/jdk/jshell/MemoryFileManager.java ! src/jdk.jshell/share/classes/jdk/jshell/spi/ExecutionControl.java Changeset: 7023b3f8 Author: Magnus Ihse Bursie Date: 2021-11-05 12:07:58 +0000 URL: https://git.openjdk.java.net/amber/commit/7023b3f8a120dda97bc27fdf130c05c1bd7a730b 8276628: Use blessed modifier order in serviceability code Reviewed-by: dholmes, lmesnik, cjplummer ! src/java.management/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanServerDelegateImpl.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/MXBeanProxy.java ! src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java ! src/java.management/share/classes/com/sun/jmx/remote/security/HashedPasswordManager.java ! src/java.management/share/classes/javax/management/MBeanServerFactory.java ! src/java.management/share/classes/javax/management/ObjectName.java ! src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/java.management/share/classes/javax/management/timer/Timer.java ! src/java.management/share/classes/sun/management/ClassLoadingImpl.java ! src/java.management/share/classes/sun/management/NotificationEmitterSupport.java ! src/java.management/share/classes/sun/management/VMManagementImpl.java ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/OopMapValue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/aarch64/BsdAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/aarch64/LinuxAARCH64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/ppc64/LinuxPPC64CFrame.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.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/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/HeapRegion.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/HeapRegionSetBase.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GenCollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAttachedArrayForForwarding.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwarding.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwardingEntry.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZForwardingTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobalsForVMStructs.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGranuleMapForForwarding.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGranuleMapForPageTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPage.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageAllocator.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageTable.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZRelocate.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZVirtualMemory.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/DataLayout.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/DefaultMetadataVisitor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Metadata.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ParametersTypeData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/SpeculativeTrapData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallRuntimeNode.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/CallStaticJavaNode.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/opto/Node.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/InstanceConstructor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/tree/CTypeTreeNodeAdapter.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java ! src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java ! src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/TransportService.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Env.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/VMConnection.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/AbstractLauncher.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ClassTypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/InvokableTypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/Packet.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/PrimitiveValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/TargetVM.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/TypeComponentImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java ! src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java ! src/jdk.management.agent/share/classes/sun/management/jdp/JdpJmxPacket.java ! src/jdk.management/share/classes/com/sun/management/internal/DiagnosticCommandImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/GarbageCollectorExtImpl.java ! src/jdk.management/share/classes/com/sun/management/internal/PlatformMBeanProviderImpl.java Changeset: c393ee8f Author: Magnus Ihse Bursie Date: 2021-11-05 14:09:58 +0000 URL: https://git.openjdk.java.net/amber/commit/c393ee8f598850379266bdba1f55af94744dbad1 8276632: Use blessed modifier order in security-libs code Reviewed-by: mullan ! src/java.security.jgss/share/classes/sun/security/jgss/ProviderList.java ! src/java.security.jgss/share/classes/sun/security/jgss/TokenTracker.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/java.smartcardio/share/classes/javax/smartcardio/CardNotPresentException.java ! src/java.smartcardio/share/classes/javax/smartcardio/CardPermission.java ! src/java.smartcardio/share/classes/javax/smartcardio/TerminalFactory.java ! src/java.smartcardio/share/classes/sun/security/smartcardio/ChannelImpl.java ! src/java.smartcardio/share/classes/sun/security/smartcardio/PCSC.java ! src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java ! src/java.smartcardio/windows/classes/sun/security/smartcardio/PlatformPCSC.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/Constants.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CKey.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CRSACipher.java ! src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/CSignature.java Changeset: a74a839a Author: Vladimir Kozlov Date: 2021-11-05 16:07:25 +0000 URL: https://git.openjdk.java.net/amber/commit/a74a839af02446d322d77c6e546e652ec6ad5d73 8276571: C2: pass compilation options as structure Reviewed-by: shade, chagedorn ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 92d21763 Author: Daniel D. Daugherty Date: 2021-11-05 17:04:39 +0000 URL: https://git.openjdk.java.net/amber/commit/92d2176362954a7093894057748056610eeafe4b 8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12 Reviewed-by: stuefe, gziemski ! src/hotspot/os/bsd/decoder_machO.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/share/runtime/os.cpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b01f1073 Author: Brian Burkhalter Date: 2021-11-05 17:25:06 +0000 URL: https://git.openjdk.java.net/amber/commit/b01f1073f9691c40fc15b7ed67ae2e019ff729ea 8276252: java/nio/channels/Channels/TransferTo.java failed with OOM java heap space error Reviewed-by: lancea ! test/jdk/java/nio/channels/Channels/TransferTo.java Changeset: a4724332 Author: Andrew John Hughes Date: 2021-11-05 21:05:42 +0000 URL: https://git.openjdk.java.net/amber/commit/a4724332098cd8bff44ee27e9190fd28fa5c1865 8276572: Fake libsyslookup.so library causes tooling issues Reviewed-by: shade, mcimadamore ! src/jdk.incubator.foreign/share/native/libsyslookup/syslookup.c Changeset: 0e0dd33f Author: Kim Barrett Date: 2021-11-05 21:20:51 +0000 URL: https://git.openjdk.java.net/amber/commit/0e0dd33fff9922a086968cfa6ccd27727f979c83 8276129: PretouchTask should page-align the chunk size Reviewed-by: stefank, tschatzl ! src/hotspot/share/gc/shared/pretouchTask.cpp Changeset: 59c3dcc7 Author: Magnus Ihse Bursie Date: 2021-11-05 21:21:38 +0000 URL: https://git.openjdk.java.net/amber/commit/59c3dcc761ac7a9eab1517743cbb77e5526ca6f3 8276746: Add section on reproducible builds in building.md Reviewed-by: erikj, sgehwolf, aleonard ! doc/building.html ! doc/building.md Changeset: ed7ecca4 Author: Hamlin Li Date: 2021-11-05 23:24:45 +0000 URL: https://git.openjdk.java.net/amber/commit/ed7ecca401e5f4c3c07dc98e05a21396c6cdf594 8254739: G1: Optimize evacuation failure for regions with few failed objects Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CardSetMemory.cpp ! src/hotspot/share/gc/g1/g1CardSetMemory.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp + src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.cpp + src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1SegmentedArray.hpp ! src/hotspot/share/gc/g1/g1SegmentedArray.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp ! test/hotspot/gtest/gc/g1/test_freeRegionList.cpp Changeset: c7095b20 Author: Anirvan Sarkar Committer: Joe Wang Date: 2021-11-06 00:41:44 +0000 URL: https://git.openjdk.java.net/amber/commit/c7095b20d956e154d9863a7928d26285f1a0a0ac 8276207: Properties.loadFromXML/storeToXML works incorrectly for supplementary characters Reviewed-by: joehw ! src/java.base/share/classes/jdk/internal/util/xml/impl/Parser.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/XMLStreamWriterImpl.java ! test/jdk/java/util/Properties/LoadAndStoreXML.java Changeset: 2653cfbf Author: Jaikiran Pai Date: 2021-11-06 03:36:46 +0000 URL: https://git.openjdk.java.net/amber/commit/2653cfbf0f316183ea23dd234896b44f7dd6eae0 8276688: Remove JLinkReproducibleXXXTest from ProblemList.txt Reviewed-by: alanb, mchung ! test/jdk/ProblemList.txt Changeset: 88491549 Author: Ioi Lam Date: 2021-11-07 21:38:59 +0000 URL: https://git.openjdk.java.net/amber/commit/884915496f7bfe754279f1644603131c64f192b3 8275846: read_base_archive_name() could read past the end of buffer Reviewed-by: ccheung, stuefe ! src/hotspot/share/cds/filemap.cpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java Changeset: 44047f84 Author: Yi Yang Date: 2021-11-08 02:18:40 +0000 URL: https://git.openjdk.java.net/amber/commit/44047f849fad157dac5df788aa5a2c1838e4aaf7 8274328: C2: Redundant CFG edges fixup in block ordering Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/block.cpp ! src/hotspot/share/opto/block.hpp Changeset: 3934fe54 Author: Nick Gasson Date: 2021-11-08 06:40:49 +0000 URL: https://git.openjdk.java.net/amber/commit/3934fe54b4c3e51add6d3fe1f145e5aebfe3b2fc 8275847: Scheduling fails with "too many D-U pinch points" on small method Reviewed-by: thartmann, kvn ! src/hotspot/cpu/x86/vmreg_x86.hpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/output.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestScheduleSmallMethod.java Changeset: fc0fe256 Author: Christian Stein Committer: Aleksey Shipilev Date: 2021-11-08 08:09:51 +0000 URL: https://git.openjdk.java.net/amber/commit/fc0fe256793b33430c1247e0c091150a091da3c4 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit Reviewed-by: shade ! test/jdk/tools/launcher/HelpFlagsTest.java Changeset: d8b0dee6 Author: Ludvig Janiuk Committer: Claes Redestad Date: 2021-11-08 09:44:44 +0000 URL: https://git.openjdk.java.net/amber/commit/d8b0dee65e7e074d81eecf451542f79747ea7c78 8276239: Better tables in java.util.random package summary Reviewed-by: jlaskey ! src/java.base/share/classes/java/util/random/package-info.java Changeset: 0395e4ef Author: Hannes Walln?fer Date: 2021-11-08 11:35:26 +0000 URL: https://git.openjdk.java.net/amber/commit/0395e4ef8ced8385cc2c9b3bea4c6f4490c62d2b 8276768: Snippet copy feature should use button instead of link Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetTag.java ! test/langtools/jdk/javadoc/lib/javadoc/tester/LinkChecker.java Changeset: 54481394 Author: Christian Hagedorn Date: 2021-11-08 12:47:58 +0000 URL: https://git.openjdk.java.net/amber/commit/54481394a3b7d36b2326e22e4aa910a3e8041b5c 8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/cfgnode.cpp + test/hotspot/jtreg/compiler/c2/TestDeadDataLoopCmoveIdentity.java Changeset: ff6863c9 Author: Thomas Schatzl Date: 2021-11-08 12:59:00 +0000 URL: https://git.openjdk.java.net/amber/commit/ff6863c98dbd15c4f3920402eb0991727d1a380c 8276540: Howl Full CardSet container iteration marks too many cards Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp Changeset: 4c14eddf Author: Jan Lahoda Date: 2021-11-08 13:19:51 +0000 URL: https://git.openjdk.java.net/amber/commit/4c14eddf41f1d9984417dc5ac6aba6f268b31029 8274734: the method jdk.jshell.SourceCodeAnalysis documentation not working Reviewed-by: vromero ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java + test/langtools/jdk/jshell/MultipleDocumentationTest.java Changeset: fa754b8f Author: Jan Lahoda Date: 2021-11-08 13:20:44 +0000 URL: https://git.openjdk.java.net/amber/commit/fa754b8ffda0ae16cda03d896260870ff8fb6ae9 8276149: jshell throws EOF error when throwing exception inside switch expression Reviewed-by: vromero ! src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java ! test/langtools/jdk/jshell/CompletenessTest.java Changeset: 0c2d00bf Author: Jan Lahoda Date: 2021-11-08 13:21:40 +0000 URL: https://git.openjdk.java.net/amber/commit/0c2d00bff7b96cca53820aadfdaf09c840a2a33a 8275097: Wrong span of the 'default' tag Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java ! test/langtools/tools/javac/patterns/SwitchErrors.out Changeset: cc2cac13 Author: Petr Portnov Committer: Roger Riggs Date: 2021-11-08 13:22:37 +0000 URL: https://git.openjdk.java.net/amber/commit/cc2cac130cc28730a30d2e1d76bcb6ec8bc0b580 8274686: java.util.UUID#hashCode() should use Long.hashCode() Reviewed-by: rriggs ! src/java.base/share/classes/java/util/UUID.java Changeset: 71c4b195 Author: Andy Herrick Date: 2021-11-08 13:45:23 +0000 URL: https://git.openjdk.java.net/amber/commit/71c4b195178029f5414fa45d2c5ac70a1d2536e5 8276562: Fix to JDK-8263155 left out the help text changes Reviewed-by: asemenyuk, almatvee ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/CLIHelp.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Changeset: c815c5cb Author: Denghui Dong Date: 2021-11-08 14:30:54 +0000 URL: https://git.openjdk.java.net/amber/commit/c815c5cbbb0b6a2aebd0a38cb930c74bd665d082 8276209: Some call sites doesn't pass the parameter 'size' to SharedRuntime::dtrace_object_alloc(_base) Reviewed-by: dholmes, coleenp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/c1_Runtime1_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/s390/c1_Runtime1_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: ea23e733 Author: Daniel D. Daugherty Date: 2021-11-08 14:45:04 +0000 URL: https://git.openjdk.java.net/amber/commit/ea23e7333e03abb4aca3e9f3854bab418a4b70e2 8249004: Reduce ThreadsListHandle overhead in relation to direct handshakes Reviewed-by: coleenp, sspitsyn, dholmes, rehn ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 7320b77b Author: Thomas Schatzl Date: 2021-11-08 15:00:31 +0000 URL: https://git.openjdk.java.net/amber/commit/7320b77b3e451932ee8befa7af4b80593725761e 8276548: Use range based visitor for Howl-Full cards Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: 75adf54b Author: Aleksey Shipilev Date: 2021-11-08 15:35:27 +0000 URL: https://git.openjdk.java.net/amber/commit/75adf54bdcc5e06fb8e8ca499a2f326d70b65f76 8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition Reviewed-by: jlahoda ! test/langtools/jdk/jshell/CustomInputToolBuilder.java Changeset: 7e73bca0 Author: Roger Riggs Date: 2021-11-08 16:39:07 +0000 URL: https://git.openjdk.java.net/amber/commit/7e73bca0b7a34af9fb73780491951539815651b4 8276408: Deprecate Runtime.exec methods with a single string command line argument Reviewed-by: alanb ! src/java.base/share/classes/java/lang/Runtime.java ! test/jdk/java/lang/ProcessBuilder/Zombies.java ! test/jdk/java/lang/RuntimeTests/exec/BadEnvp.java ! test/jdk/java/lang/RuntimeTests/exec/ExecWithDir.java ! test/jdk/java/lang/RuntimeTests/exec/SetCwd.java Changeset: e383d263 Author: Jonathan Gibbons Date: 2021-11-08 19:13:22 +0000 URL: https://git.openjdk.java.net/amber/commit/e383d263610c7b4d4be2dce599a9043b8f76cd64 8275199: Bogus warning generated for serializable records Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java = test/langtools/jdk/javadoc/doclet/testRecordTypes/jdk17/element-list Changeset: 905e3e88 Author: Eamonn McManus Date: 2021-11-08 19:57:44 +0000 URL: https://git.openjdk.java.net/amber/commit/905e3e88137d46f90de7034e9fc324e97af873a6 8231490: Ugly racy writes to ZipUtils.defaultBuf Reviewed-by: lancea ! src/java.base/share/classes/java/util/zip/Inflater.java Changeset: 14d66bd4 Author: Andrew Leonard Date: 2021-11-08 20:37:24 +0000 URL: https://git.openjdk.java.net/amber/commit/14d66bd438dfa1feeafaca39be8f79a91e2968e9 8276654: element-list order is non deterministic Reviewed-by: ihse ! make/modules/jdk.javadoc/Gendata.gmk Changeset: a7dedb5f Author: Joe Darcy Date: 2021-11-08 22:19:55 +0000 URL: https://git.openjdk.java.net/amber/commit/a7dedb5f4761a7d0bc4db658d96d369b13b80620 8276772: Refine javax.lang.model docs Reviewed-by: iris, vromero ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationMirror.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/RecordComponentElement.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/type/NoType.java ! src/java.compiler/share/classes/javax/lang/model/type/NullType.java ! src/java.compiler/share/classes/javax/lang/model/type/PrimitiveType.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 38e6d5d6 Author: Bradford Wetmore Date: 2021-11-09 01:11:18 +0000 URL: https://git.openjdk.java.net/amber/commit/38e6d5d6ed967f68e6ac1bfaa285efa16577c790 8276677: Malformed Javadoc inline tags in JDK source in javax/net/ssl Reviewed-by: jnimeh ! src/java.base/share/classes/javax/net/ssl/SSLEngine.java ! src/java.base/share/classes/javax/net/ssl/SSLSocket.java Changeset: 8747882e Author: Ioi Lam Date: 2021-11-09 07:18:06 +0000 URL: https://git.openjdk.java.net/amber/commit/8747882e4cb3af58062923bf830f9de877bdb03d 8276790: Rename GenericCDSFileMapHeader::_base_archive_path_offset Reviewed-by: dholmes, ccheung ! src/hotspot/share/cds/cdsConstants.cpp ! src/hotspot/share/cds/filemap.cpp ! src/hotspot/share/cds/filemap.hpp ! src/hotspot/share/include/cds.h ! test/hotspot/jtreg/runtime/cds/appcds/SharedArchiveConsistency.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java ! test/lib/jdk/test/lib/cds/CDSArchiveUtils.java Changeset: 945f4085 Author: Stefan Johansson Date: 2021-11-09 11:11:23 +0000 URL: https://git.openjdk.java.net/amber/commit/945f4085e5c51f37c2048bb221a1521895ba28c6 8276098: Do precise BOT updates in G1 evacuation phase Reviewed-by: tschatzl, ayang ! 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/g1Allocator.inline.hpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp ! src/hotspot/share/gc/shared/plab.hpp Changeset: 5c7f77c8 Author: Thomas Schatzl Date: 2021-11-09 13:07:42 +0000 URL: https://git.openjdk.java.net/amber/commit/5c7f77c82404976a6ca1d54b40f1969eac10d63b 8276850: Remove outdated comment in HeapRegionManager::par_iterate Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 4bd5bfd8 Author: Thomas Stuefe Date: 2021-11-09 14:12:40 +0000 URL: https://git.openjdk.java.net/amber/commit/4bd5bfd8e2624715ebfa6e4c49172361389fbc98 8276731: Metaspace chunks are uncommitted twice Reviewed-by: shade, coleenp ! src/hotspot/share/memory/metaspace/chunkManager.cpp Changeset: e1985947 Author: Masanori Yano Committer: Alan Bateman Date: 2021-11-09 14:28:07 +0000 URL: https://git.openjdk.java.net/amber/commit/e198594753b0b0653256923586c7f4ec9e3cfac3 8250678: ModuleDescriptor.Version parsing treats empty segments inconsistently Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! test/jdk/java/lang/module/VersionTest.java Changeset: c27afb31 Author: Weijun Wang Date: 2021-11-09 14:46:32 +0000 URL: https://git.openjdk.java.net/amber/commit/c27afb313b77d19e7ace7101c6f21aa5b2c56505 8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java Reviewed-by: ascarpino - test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: f65db88b Author: Yasumasa Suenaga Date: 2021-11-09 14:54:42 +0000 URL: https://git.openjdk.java.net/amber/commit/f65db88b74911e5896d2ff536c4ac97e7f62d98b 8276841: Add support for Visual Studio 2022 Reviewed-by: erikj, ihse ! make/autoconf/toolchain_microsoft.m4 Changeset: e35abe32 Author: Hannes Walln?fer Date: 2021-11-09 15:05:07 +0000 URL: https://git.openjdk.java.net/amber/commit/e35abe3235ab38985a19545e76c58260ec97c718 8256208: Javadoc's generated overview does not show classes of unnamed package 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/PackageIndexWriter.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java = test/langtools/jdk/javadoc/doclet/testUnnamedPackage/src1/pkg/D.java + test/langtools/jdk/javadoc/doclet/testUnnamedPackage/src1/pkg/package.html Changeset: 93692ea0 Author: Andrey Turbanov Committer: Chris Plummer Date: 2021-11-09 16:58:43 +0000 URL: https://git.openjdk.java.net/amber/commit/93692ea0a9bc437309b808f511c771a79dcdfb9a 8274395: Use enhanced-for instead of plain 'for' in jdk.internal.jvmstat Reviewed-by: cjplummer, amenkov, sspitsyn ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/VmIdentifier.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalMonitoredVm.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/MonitoredHostProvider.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v2_0/TypeCode.java Changeset: daf77ebf Author: Leo Korinth Date: 2021-11-09 17:50:16 +0000 URL: https://git.openjdk.java.net/amber/commit/daf77ebfc4ca6d537ef55acbd62b908b5575ad08 8276337: Use override specifier in HeapDumper Reviewed-by: stuefe, dholmes ! src/hotspot/share/services/heapDumper.cpp Changeset: dde959df Author: Brian Burkhalter Date: 2021-11-09 19:17:59 +0000 URL: https://git.openjdk.java.net/amber/commit/dde959dfcef01897fdf51f820d414402e6309b8d 8276808: java/nio/channels/Channels/TransferTo.java timed out Reviewed-by: lancea, shade ! test/jdk/java/nio/channels/Channels/TransferTo.java Changeset: a60e9125 Author: Pankaj Bansal Date: 2021-11-09 20:10:20 +0000 URL: https://git.openjdk.java.net/amber/commit/a60e91259ba83d2a525b612b2c7a1fd7934b88a2 8198626: java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html fails on mac Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java Changeset: 055de6f5 Author: Hannes Walln?fer Date: 2021-11-09 20:11:18 +0000 URL: https://git.openjdk.java.net/amber/commit/055de6f566208b168818be1dc3ad29cdb9caa1cf 8223358: Incorrect HTML structure in annotation pages Reviewed-by: jjg + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeMemberWriterImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.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/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SummaryListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeMemberWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeOptionalMemberWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AnnotationTypeRequiredMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WriterFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AbstractMemberBuilder.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeMemberBuilder.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/BuilderFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/pkg/AnnotationType.java Changeset: f9024d06 Author: Hannes Walln?fer Date: 2021-11-09 20:17:25 +0000 URL: https://git.openjdk.java.net/amber/commit/f9024d0606e39863b590f0d7c949d569f8bf8abd 8230130: javadoc search result dialog shows cut off headers for long results Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Changeset: d7012fbd Author: Roger Riggs Date: 2021-11-09 20:43:51 +0000 URL: https://git.openjdk.java.net/amber/commit/d7012fbd604fc1a54a2d7364a6ca4a32f47ffc7c 8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary Reviewed-by: alanb - test/jdk/java/lang/RuntimeTests/exec/ExecWithDir.java Changeset: 06992208 Author: Rickard B?ckman Date: 2021-11-09 21:38:12 +0000 URL: https://git.openjdk.java.net/amber/commit/0699220830a457959b784b35af125b70f43fa3b0 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc Reviewed-by: neliasso, chagedorn, kvn ! src/hotspot/share/opto/postaloc.cpp Changeset: c8b0ee6b Author: Hamlin Li Date: 2021-11-10 01:12:43 +0000 URL: https://git.openjdk.java.net/amber/commit/c8b0ee6b8a0c1bca8f8357e786f24c8cb6dd7310 8276833: G1: Make G1EvacFailureRegions::par_iterate const Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1EvacFailureRegions.cpp ! src/hotspot/share/gc/g1/g1EvacFailureRegions.hpp Changeset: c1e41fe3 Author: Hamlin Li Date: 2021-11-10 01:13:30 +0000 URL: https://git.openjdk.java.net/amber/commit/c1e41fe38bbbae12e1f73d2cd63c7afffc19475b 8276842: G1: Only calculate size in bytes from words when needed Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1EvacFailure.cpp Changeset: 8822d41f Author: Jamil Nimeh Date: 2021-11-10 01:24:33 +0000 URL: https://git.openjdk.java.net/amber/commit/8822d41fdcc2c2d568badd72635dc587d21dbd63 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily Reviewed-by: xuelei, wetmore ! src/java.base/share/classes/sun/security/ssl/TransportContext.java ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java + test/jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java Changeset: e91e9d85 Author: Hamlin Li Date: 2021-11-10 01:26:35 +0000 URL: https://git.openjdk.java.net/amber/commit/e91e9d853272ea8f5ce490f2f0c971fd40795d74 8276721: G1: Refine G1EvacFailureObjectsSet::iterate Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.cpp ! src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp Changeset: 403f3185 Author: Anirvan Sarkar Committer: Christoph Langer Date: 2021-11-10 05:51:39 +0000 URL: https://git.openjdk.java.net/amber/commit/403f3185f0988dcf6ef4e857d6659533bfa2943f 8276854: Windows GHA builds fail due to broken Cygwin Reviewed-by: clanger ! .github/workflows/submit.yml Changeset: fd0a25e6 Author: Aleksey Shipilev Date: 2021-11-10 07:59:01 +0000 URL: https://git.openjdk.java.net/amber/commit/fd0a25e62b2c8abc3a419c2e80abbcf11c9e882f 8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager Reviewed-by: serb, aivanov ! test/jdk/java/awt/print/PrinterJob/CheckPrivilege.java Changeset: e01d6d00 Author: Prasanta Sadhukhan Date: 2021-11-10 08:34:07 +0000 URL: https://git.openjdk.java.net/amber/commit/e01d6d00bc4ab5ca0d38f8894a78e6d911e0fe93 8276679: Malformed Javadoc inline tags in JDK source in javax/swing Reviewed-by: aivanov, pbansal ! src/java.desktop/share/classes/javax/swing/JTree.java ! src/java.desktop/share/classes/javax/swing/SwingUtilities.java ! src/java.desktop/share/classes/javax/swing/event/HyperlinkEvent.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java Changeset: 0f463a7b Author: Aleksey Shipilev Date: 2021-11-10 09:50:27 +0000 URL: https://git.openjdk.java.net/amber/commit/0f463a7bf73791eda9404882ff63daf9040399bb 8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32 Reviewed-by: alanb ! test/jdk/java/nio/file/spi/TestProvider.java Changeset: a3f710ef Author: Aleksey Shipilev Date: 2021-11-10 10:45:51 +0000 URL: https://git.openjdk.java.net/amber/commit/a3f710efbe7dcef18477a96fd306bec19f181f8b 8276215: Intrinsics matchers should handle native method flags better Reviewed-by: dholmes, kvn ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp Changeset: a0b84453 Author: Aleksey Shipilev Date: 2021-11-10 11:27:13 +0000 URL: https://git.openjdk.java.net/amber/commit/a0b84453b087ff368a32b93729c5b30fda22ed48 8276846: JDK-8273416 is incomplete for UseSSE=1 Reviewed-by: neliasso, kvn ! src/hotspot/cpu/x86/x86_32.ad Changeset: 0f23c6a9 Author: Sergey Tsypanov Committer: Claes Redestad Date: 2021-11-10 12:46:30 +0000 URL: https://git.openjdk.java.net/amber/commit/0f23c6a9feb3657eb20ff5988a9e2ffca2108af1 8276926: Use String.valueOf() when initializing File.separator and File.pathSeparator Reviewed-by: redestad, jlaskey ! src/java.base/share/classes/java/io/File.java Changeset: 55b36c6f Author: Harold Seigel Date: 2021-11-10 13:11:16 +0000 URL: https://git.openjdk.java.net/amber/commit/55b36c6f3bb7eb066daaf41f9eba46633afedf08 8276825: hotspot/runtime/SelectionResolution test errors Reviewed-by: dholmes, shade ! test/hotspot/jtreg/runtime/SelectionResolution/classes/selectionresolution/ClassBuilder.java ! test/hotspot/jtreg/runtime/SelectionResolution/classes/selectionresolution/Clazz.java ! test/hotspot/jtreg/runtime/SelectionResolution/classes/selectionresolution/TestBuilder.java Changeset: 38ec3a16 Author: Yasumasa Suenaga Date: 2021-11-10 14:33:02 +0000 URL: https://git.openjdk.java.net/amber/commit/38ec3a16d722d740d0b2128c6f6c2d1eab7a7c08 8276672: Cannot build hsdis on WSL Co-authored-by: Magnus Ihse Bursie Co-authored-by: Yasumasa Suenaga Reviewed-by: ihse, erikj ! make/Hsdis.gmk Changeset: f561d3c1 Author: Aleksey Shipilev Date: 2021-11-10 14:41:33 +0000 URL: https://git.openjdk.java.net/amber/commit/f561d3c1942ce901fa77c907839032f76feb6998 8276864: Update boot JDKs to 17.0.1 in GHA Reviewed-by: erikj, ihse ! make/conf/test-dependencies Changeset: ce3ed65a Author: Jonathan Gibbons Date: 2021-11-10 15:24:27 +0000 URL: https://git.openjdk.java.net/amber/commit/ce3ed65ac3411a533052a8c01231f7e540803afb 8273154: Provide a JavadocTester method for non-overlapping, unordered output matching Reviewed-by: prappo ! test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java + test/langtools/jdk/javadoc/testJavadocTester/TestJavadocTester.java Changeset: a5c160c7 Author: Weijun Wang Date: 2021-11-10 19:35:17 +0000 URL: https://git.openjdk.java.net/amber/commit/a5c160c711a3f66db18c75973f4efdea63332863 8267108: Alternate Subject.getSubject and doAs APIs that do not depend on Security Manager APIs Reviewed-by: mullan ! src/java.base/share/classes/javax/security/auth/Subject.java ! src/java.security.jgss/share/classes/sun/security/jgss/GSSUtil.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java ! test/jdk/com/sun/security/sasl/gsskerb/AuthOnly.java ! test/jdk/com/sun/security/sasl/gsskerb/ConfSecurityLayer.java ! test/jdk/com/sun/security/sasl/gsskerb/NoSecurityLayer.java ! test/jdk/java/security/AccessController/PreserveCombiner.java + test/jdk/javax/security/auth/Subject/CurrentSubject.java ! test/jdk/javax/security/auth/Subject/DoAs.java + test/jdk/javax/security/auth/Subject/Exceptions.java + test/jdk/javax/security/auth/Subject/FromACC.java ! test/jdk/javax/security/auth/Subject/Synch.java ! test/jdk/sun/security/krb5/KrbCredSubKey.java ! test/jdk/sun/security/krb5/ServiceCredsCombination.java ! test/jdk/sun/security/krb5/auto/Context.java ! test/jdk/sun/security/krb5/auto/HttpNegotiateServer.java ! test/jdk/sun/security/krb5/auto/LongLife.java Changeset: 67c2714b Author: Coleen Phillimore Date: 2021-11-10 19:45:09 +0000 URL: https://git.openjdk.java.net/amber/commit/67c2714ba2c9658e07153a6f50391c896e4caebc 8276889: Improve compatibility discussion in instanceKlass.cpp Reviewed-by: hseigel ! src/hotspot/share/oops/instanceKlass.cpp Changeset: 2374abda Author: Alisen Chung Committer: Alexey Ivanov Date: 2021-11-10 20:08:13 +0000 URL: https://git.openjdk.java.net/amber/commit/2374abda19213d615a72c83f584ea61d5bbba4a3 8276678: Malformed Javadoc inline tags in JDK source in com/sun/beans/decoder/DocumentHandler.java Reviewed-by: serb, aivanov ! src/java.desktop/share/classes/com/sun/beans/decoder/DocumentHandler.java Changeset: df02daa6 Author: Ioi Lam Date: 2021-11-10 20:22:41 +0000 URL: https://git.openjdk.java.net/amber/commit/df02daa6f9df801a7e0b6203fd6411d8a62bb277 8269986: Remove +3 from Symbol::identity_hash() Reviewed-by: coleenp ! src/hotspot/share/oops/symbol.hpp Changeset: 0c409cac Author: Naoto Sato Date: 2021-11-10 20:52:11 +0000 URL: https://git.openjdk.java.net/amber/commit/0c409cac789f1b1d21e09a65db36bb6c72c569db 8276186: Require getAvailableLocales() methods to include Locale.ROOT Reviewed-by: prappo, smarks, iris ! src/java.base/share/classes/java/text/BreakIterator.java ! src/java.base/share/classes/java/text/Collator.java ! src/java.base/share/classes/java/text/DateFormat.java ! src/java.base/share/classes/java/text/DateFormatSymbols.java ! src/java.base/share/classes/java/text/DecimalFormatSymbols.java ! src/java.base/share/classes/java/text/NumberFormat.java ! src/java.base/share/classes/java/time/format/DecimalStyle.java ! src/java.base/share/classes/java/util/Calendar.java ! src/java.base/share/classes/java/util/Locale.java + test/jdk/java/util/Locale/RequiredAvailableLocalesTest.java Changeset: bce35ac1 Author: Naoto Sato Date: 2021-11-10 20:53:23 +0000 URL: https://git.openjdk.java.net/amber/commit/bce35ac1d6c4115148468a3240ad459074e0b79e 8276775: ZonedDateTime/OffsetDateTime.toString return invalid ISO-8601 for years <= 1893 Reviewed-by: lancea, iris, bpb, scolebourne, rriggs ! src/java.base/share/classes/java/time/OffsetDateTime.java ! src/java.base/share/classes/java/time/ZonedDateTime.java Changeset: 73e6d7d7 Author: Zhengyu Gu Date: 2021-11-11 00:14:52 +0000 URL: https://git.openjdk.java.net/amber/commit/73e6d7d74d2ddd27f11775944c6fc4fb5268106d 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp Changeset: e27a67a9 Author: Jesper Wilhelmsson Date: 2021-11-11 01:14:30 +0000 URL: https://git.openjdk.java.net/amber/commit/e27a67a91647e584411a9ef57c0a028ab37af19b 8276930: Update ProblemList Reviewed-by: kevinw, dholmes ! test/jdk/ProblemList.txt Changeset: ad3be04d Author: Yoshiki Sato Committer: Naoto Sato Date: 2021-11-11 01:39:06 +0000 URL: https://git.openjdk.java.net/amber/commit/ad3be04d2ac84836e393d696ff03ddfe72779094 8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766 Reviewed-by: naoto, coffeys ! src/java.base/share/classes/sun/util/resources/TimeZoneNames.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java Changeset: 08e0fd67 Author: Hamlin Li Date: 2021-11-11 05:52:58 +0000 URL: https://git.openjdk.java.net/amber/commit/08e0fd6757ef15b71df0e86afd01211a6e48bd09 8276835: G1: make G1EvacFailureObjectsSet::record inline Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.cpp ! src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.hpp + src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: 91bb0d65 Author: Aleksey Shipilev Date: 2021-11-11 07:07:58 +0000 URL: https://git.openjdk.java.net/amber/commit/91bb0d658bce010e74b248b56f0fa5b8a79e8802 8276796: gc/TestSystemGC.java large pages subtest fails with ZGC Reviewed-by: pliden, stefank ! test/hotspot/jtreg/gc/TestSystemGC.java Changeset: 7a140af2 Author: Christian Hagedorn Date: 2021-11-11 08:03:01 +0000 URL: https://git.openjdk.java.net/amber/commit/7a140af25362556ebe86147dcd74413e0044edc0 8276546: [IR Framework] Whitelist and ignore CompileThreshold Reviewed-by: kvn, neliasso ! test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java ! test/hotspot/jtreg/compiler/lib/ir_framework/driver/TestVMProcess.java + test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCompileThreshold.java Changeset: 9862cd07 Author: Hannes Walln?fer Date: 2021-11-11 09:13:49 +0000 URL: https://git.openjdk.java.net/amber/commit/9862cd07c162fcc9cd5cbdd0aab564f446f9256c 8275786: New javadoc option to add script files to generated documentation 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/HtmlDoclet.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/HtmlOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java ! test/langtools/jdk/javadoc/doclet/testHelpOption/TestHelpOption.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java + test/langtools/jdk/javadoc/doclet/testOptions/additional-script-1.js + test/langtools/jdk/javadoc/doclet/testOptions/additional-script-2.js ! test/langtools/jdk/javadoc/tool/CheckManPageOptions.java Changeset: aea09677 Author: casparcwang Committer: Hui Shi Date: 2021-11-11 10:39:09 +0000 URL: https://git.openjdk.java.net/amber/commit/aea096770e74b9c0e1556467705ffdd6cf843d9d 8275854: C2: assert(stride_con != 0) failed: missed some peephole opt Co-authored-by: Roland Westrelin Reviewed-by: thartmann, roland, kvn ! src/hotspot/share/opto/ifnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestLoopEndNodeEliminate.java Changeset: c29cab8a Author: Tobias Hartmann Date: 2021-11-11 13:09:05 +0000 URL: https://git.openjdk.java.net/amber/commit/c29cab8ab475055e02e4300f212907ff2db955ab 8276112: Inconsistent scalar replacement debug info at safepoints Reviewed-by: kvn, chagedorn ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/macro.hpp ! test/hotspot/jtreg/compiler/eliminateAutobox/TestIdentityWithEliminateBoxInDebugInfo.java + test/hotspot/jtreg/compiler/eliminateAutobox/TestSafepointDebugInfo.java Changeset: 2ca4ff87 Author: Aleksei Efimov Date: 2021-11-11 14:33:58 +0000 URL: https://git.openjdk.java.net/amber/commit/2ca4ff87b7c31d56542bbdcea70e828be33f4e97 8244202: Implementation of JEP 418: Internet-Address Resolution SPI Co-authored-by: Chris Hegarty Co-authored-by: Daniel Fuchs Co-authored-by: Alan Bateman Reviewed-by: dfuchs, alanb, michaelm, chegar ! src/java.base/share/classes/java/lang/RuntimePermission.java ! src/java.base/share/classes/java/net/Inet4AddressImpl.java ! src/java.base/share/classes/java/net/Inet6AddressImpl.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/InetAddressImpl.java ! src/java.base/share/classes/java/net/doc-files/net-properties.html + src/java.base/share/classes/java/net/spi/InetAddressResolver.java + src/java.base/share/classes/java/net/spi/InetAddressResolverProvider.java ! src/java.base/share/classes/java/net/spi/package-info.java ! src/java.base/share/classes/jdk/internal/access/JavaNetInetAddressAccess.java ! src/java.base/share/classes/module-info.java + src/java.base/share/classes/sun/net/ResolverProviderConfiguration.java ! src/java.base/share/native/libnet/InetAddress.c ! src/java.base/share/native/libnet/net_util.c ! src/java.base/share/native/libnet/net_util.h ! src/java.base/unix/native/libnet/Inet4AddressImpl.c ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/windows/native/libnet/Inet6AddressImpl.c + test/jdk/java/net/spi/InetAddressResolverProvider/AddressesCachingTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/BootstrapResolverUsageTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/BuiltInResolverTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/EmptyResultsStreamTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/ForeverCache.props + test/jdk/java/net/spi/InetAddressResolverProvider/InetAddressUsageInGetProviderTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/LookupPolicyMappingTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/LookupPolicyOfTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/NeverCache.props + test/jdk/java/net/spi/InetAddressResolverProvider/ProviderGetExceptionTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/ResolutionWithExceptionTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/ResolvePermissionTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/ReverseLookupDelegationTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/RuntimePermissionTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/addresses.txt + test/jdk/java/net/spi/InetAddressResolverProvider/lib/test.library/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/lib/test.library/testlib/ResolutionRegistry.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/bootstrapUsage/bootstrap.usage.provider/impl/WithBootstrapResolverUsageProvider.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/bootstrapUsage/bootstrap.usage.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/delegating/delegating.provider/impl/DelegatingProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/delegating/delegating.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/empty/empty.results.provider/impl/EmptyResultsProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/empty/empty.results.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/faulty/faulty.provider/impl/FaultyResolverProviderGetImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/faulty/faulty.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/recursive/recursive.init.provider/impl/InetAddressUsageInGetProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/recursive/recursive.init.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/simple/simple.provider/impl/SimpleResolverProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/simple/simple.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/throwing/throwing.lookups.provider/impl/ThrowingLookupsProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/providers/throwing/throwing.lookups.provider/module-info.java + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/classpath/ClasspathProviderTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/classpath/ClasspathResolverProviderImpl.java + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/classpath/META-INF/services/java.net.spi.InetAddressResolverProvider + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/classpath/addresses.txt + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/module/ModularProviderTest.java + test/jdk/java/net/spi/InetAddressResolverProvider/serviceProviderOriginType/module/addresses.txt ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: 5e98f993 Author: Ludvig Janiuk Committer: Alexey Ivanov Date: 2021-11-11 16:46:52 +0000 URL: https://git.openjdk.java.net/amber/commit/5e98f993b3cd68bb8564ea904f322235f55c4a7c 8276800: Fix table headers in NumericShaper.html Reviewed-by: naoto, aivanov ! src/java.desktop/share/classes/java/awt/font/NumericShaper.java Changeset: 6f35eede Author: Alexander Zvegintsev Date: 2021-11-11 16:53:27 +0000 URL: https://git.openjdk.java.net/amber/commit/6f35eede4576b6252544f553c3651312b024e7ea 8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Frame/MiscUndecorated/RepaintTest.java Changeset: 8aae88b0 Author: Alan Bateman Date: 2021-11-11 19:07:09 +0000 URL: https://git.openjdk.java.net/amber/commit/8aae88b0fc4acb76ef140f120712403cf4b04a46 8276763: java/nio/channels/SocketChannel/AdaptorStreams.java fails with "SocketTimeoutException: Read timed out" Reviewed-by: dfuchs ! test/jdk/java/nio/channels/SocketChannel/AdaptorStreams.java Changeset: b0d7a9da Author: Lance Andersen Date: 2021-11-11 19:09:17 +0000 URL: https://git.openjdk.java.net/amber/commit/b0d7a9daa6ceb1959bc701043fe3f0397d2ba6f7 8276994: java/nio/channels/Channels/TransferTo.java leaves multi-GB files in /tmp Reviewed-by: alanb ! test/jdk/java/nio/channels/Channels/TransferTo.java Changeset: 0ca0acf6 Author: Claes Redestad Date: 2021-11-11 20:36:46 +0000 URL: https://git.openjdk.java.net/amber/commit/0ca0acf63cb5cec4c62a9948956a04822d6f74a5 8276947: Clarify how DateTimeFormatterBuilder.appendFraction handles value ranges Reviewed-by: rriggs, naoto ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java Changeset: 976db045 Author: duke Date: 2021-11-11 22:01:38 +0000 URL: https://git.openjdk.java.net/amber/commit/976db0454fb436da6afab28e08026e999f6bba71 Automatic merge of master into stats-before-this-super From ice1000kotlin at foxmail.com Thu Nov 18 04:19:38 2021 From: ice1000kotlin at foxmail.com (=?utf-8?B?VGVzbGEgWmhhbmc=?=) Date: Wed, 17 Nov 2021 23:19:38 -0500 Subject: Probably a bug Message-ID: Hi all, My friend Kiva have discovered an ICE of javac 17, here's the reproduction: ``` class Scratch {   public static void main(String[] args) {     switch (null) {       case null -> System.out.println("114");       default -> System.out.println("514");     }   } } ``` FYI the following code compiles: ``` class Scratch {   public static void main(String[] args) {     var x = (Object) null;     switch (x) {       case null -> System.out.println("1919");       default -> System.out.println("810");     }   } } ``` I have no idea how to file a bug to openjdk, so I'm just posting it here. Best regards, Tesla From lgxbslgx at gmail.com Thu Nov 18 05:16:37 2021 From: lgxbslgx at gmail.com (Guoxiong Li) Date: Thu, 18 Nov 2021 13:16:37 +0800 Subject: Probably a bug In-Reply-To: References: Message-ID: Hi, This is a known issue. It was solved at JDK18 and was backported to JDK17.0.2. Please see this bug description[1]. You can use JDK18 early access builds[2] to avoid this issue or wait JDK17.0.2 to release. Best Regards, -- Guoxiong [1] https://bugs.openjdk.java.net/browse/JDK-8269113 [2] http://jdk.java.net/18/ From ice1000kotlin at foxmail.com Thu Nov 18 07:59:59 2021 From: ice1000kotlin at foxmail.com (=?utf-8?B?VGVzbGEgWmhhbmc=?=) Date: Thu, 18 Nov 2021 03:59:59 -0400 Subject: Potential typo Message-ID: Hi all, In jep420, I saw Without such pattern matching, expressing ad-hoc polymorphic calculations like this requires using the cumbersome [visitor pattern][visitor]. Pattern matching is generally more transparent and straightforward. Probably a link label is missing Regards, Tesla From gavin.bierman at oracle.com Thu Nov 18 12:01:42 2021 From: gavin.bierman at oracle.com (Gavin Bierman) Date: Thu, 18 Nov 2021 12:01:42 +0000 Subject: Potential typo In-Reply-To: References: Message-ID: <7BC05C8D-0756-4B85-B3D2-9470C1BFF7D4@oracle.com> Thanks, I?ll fix. Gavin > On 18 Nov 2021, at 07:59, Tesla Zhang wrote: > > Hi all, > > > In jep420, I saw > > > > > Without such pattern matching, expressing ad-hoc polymorphic calculations like this requires using the cumbersome [visitor pattern][visitor]. Pattern matching is generally more transparent and straightforward. > > > > > Probably a link label is missing > > > > Regards, > Tesla From duke at openjdk.java.net Thu Nov 18 22:07:20 2021 From: duke at openjdk.java.net (duke) Date: Thu, 18 Nov 2021 22:07:20 GMT Subject: git: openjdk/amber: stats-before-this-super: 91 new changesets Message-ID: <665839ac-b42f-440b-9d20-0b340a7b1b2c@openjdk.org> Changeset: 3445e50b Author: David Holmes Date: 2021-11-11 22:10:18 +0000 URL: https://git.openjdk.java.net/amber/commit/3445e50bd573857660908a964886f94714315f4c 8276265: jcmd man page is outdated Reviewed-by: stuefe, cjplummer ! src/jdk.jcmd/share/man/jcmd.1 Changeset: 6954b98f Author: Evgeny Astigeevich Committer: Paul Hohensee Date: 2021-11-11 22:23:35 +0000 URL: https://git.openjdk.java.net/amber/commit/6954b98f8faf29b6c2d13687a7a94e83302bdd85 8186670: Implement _onSpinWait() intrinsic for AArch64 Reviewed-by: phh, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp + src/hotspot/cpu/aarch64/spin_wait_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp + test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64.java + test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitNoneAArch64.java + test/micro/org/openjdk/bench/java/lang/ThreadOnSpinWait.java + test/micro/org/openjdk/bench/java/lang/ThreadOnSpinWaitProducerConsumer.java + test/micro/org/openjdk/bench/java/lang/ThreadOnSpinWaitSharedCounter.java Changeset: 1e941ded Author: Andrey Turbanov Committer: Roger Riggs Date: 2021-11-11 22:26:45 +0000 URL: https://git.openjdk.java.net/amber/commit/1e941dedad0ff6282ca4c1d2d71512974c97fc5e 8275197: Remove unused fields in ThaiBuddhistChronology Reviewed-by: naoto, rriggs, iris ! src/java.base/share/classes/java/time/chrono/ThaiBuddhistChronology.java Changeset: 6b833db3 Author: Per Liden Date: 2021-11-12 08:19:03 +0000 URL: https://git.openjdk.java.net/amber/commit/6b833db3f9cace8fbb09bb803ba31208e37a4622 8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases? Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/shared/gcTimer.cpp Changeset: 710f4964 Author: Nils Eliasson Date: 2021-11-12 10:08:26 +0000 URL: https://git.openjdk.java.net/amber/commit/710f496456d642c3e98d230270598f0b2dc75aba 8273277: C2: Move conditional negation into rc_predicate Reviewed-by: thartmann, chagedorn, kvn ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/compiler/loopopts/TestSkeletonPredicateNegation.java ! test/hotspot/jtreg/vmTestbase/jit/t/t105/t105.java Changeset: 13deb384 Author: Julia Boes Date: 2021-11-12 12:05:45 +0000 URL: https://git.openjdk.java.net/amber/commit/13deb38433444a196af5e22e9b29bea6a9a15400 8276848: sun.net.httpserver.simpleserver.CommandLinePositiveTest: test does not specify port Reviewed-by: dfuchs + test/jdk/com/sun/net/httpserver/simpleserver/CommandLinePortNotSpecifiedTest.java ! test/jdk/com/sun/net/httpserver/simpleserver/CommandLinePositiveTest.java Changeset: c4b44329 Author: Magnus Ihse Bursie Date: 2021-11-12 14:08:43 +0000 URL: https://git.openjdk.java.net/amber/commit/c4b44329c1d250f790ca82dd419cdf3330da16f5 8277012: Use blessed modifier order in src/utils Reviewed-by: dholmes, stuefe ! src/utils/IdealGraphVisualizer/Bytecodes/src/main/java/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponent.java ! src/utils/IdealGraphVisualizer/ControlFlow/src/main/java/com/sun/hotspot/igv/controlflow/ControlFlowTopComponent.java ! src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/serialization/BinaryParser.java ! src/utils/IdealGraphVisualizer/FilterWindow/src/main/java/com/sun/hotspot/igv/filterwindow/FilterTopComponent.java ! src/utils/IdealGraphVisualizer/Settings/src/main/java/com/sun/hotspot/igv/settings/Settings.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/BasicLogEvent.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogCleanupReader.java ! src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java ! src/utils/src/build/tools/commentchecker/CommentChecker.java ! src/utils/src/build/tools/dirdiff/DirDiff.java Changeset: 51a5731d Author: Magnus Ihse Bursie Date: 2021-11-12 14:12:37 +0000 URL: https://git.openjdk.java.net/amber/commit/51a5731d6dc4b6f6feac920a4b8b49c15fd6b34f 8277016: Use blessed modifier order in jdk.httpserver Reviewed-by: dfuchs ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ChunkedOutputStream.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/simpleserver/SimpleFileServerImpl.java Changeset: aeba6530 Author: Andrew Leonard Date: 2021-11-12 14:43:54 +0000 URL: https://git.openjdk.java.net/amber/commit/aeba65303479130d9bab74484accad5d7d116a40 8276743: Make openjdk build Zip Archive generation "reproducible" Reviewed-by: erikj, ihse ! make/Main.gmk ! make/ToolsJdk.gmk ! make/common/ZipArchive.gmk + make/jdk/src/classes/build/tools/makezipreproducible/MakeZipReproducible.java Changeset: 3b2585c0 Author: Coleen Phillimore Date: 2021-11-12 16:17:15 +0000 URL: https://git.openjdk.java.net/amber/commit/3b2585c02bd9d66cc2c8b2d5c16e9a48f4280d07 8276658: Clean up JNI local handles code Reviewed-by: dholmes, pchilanomate ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/shared/concurrentGCThread.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/jniHandles.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/nonJavaThread.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/runtime/vmThread.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Thread.java Changeset: 5a2452c8 Author: Andrey Turbanov Committer: Daniel Fuchs Date: 2021-11-12 16:30:56 +0000 URL: https://git.openjdk.java.net/amber/commit/5a2452c80e64b8b7a1799caa1a8a6e9e6a7dab6d 8274835: Remove unnecessary castings in java.base Reviewed-by: mullan, naoto, lancea, bpb ! src/java.base/share/classes/java/io/SequenceInputStream.java ! src/java.base/share/classes/java/lang/ClassValue.java ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/StackTraceElement.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/util/GregorianCalendar.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/stream/ReferencePipeline.java ! src/java.base/share/classes/sun/net/www/MimeTable.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthCacheImpl.java ! src/java.base/share/classes/sun/security/provider/DSAPublicKey.java ! src/java.base/share/classes/sun/security/provider/certpath/PKIX.java ! src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/util/calendar/Era.java Changeset: 0d2980cd Author: Coleen Phillimore Date: 2021-11-12 17:03:33 +0000 URL: https://git.openjdk.java.net/amber/commit/0d2980cdd1486b0689a71fc107a1d4c100bd3025 8258192: Obsolete the CriticalJNINatives flag Reviewed-by: mdoerr, shade ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/vm_version_arm_32.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp ! src/hotspot/cpu/zero/vm_version_zero.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/nativeLookup.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/compiler/runtime/criticalnatives/argumentcorruption/CheckLongArgs.java - test/hotspot/jtreg/compiler/runtime/criticalnatives/argumentcorruption/libCNCheckLongArgs.c - test/hotspot/jtreg/compiler/runtime/criticalnatives/lookup/LookUp.java - test/hotspot/jtreg/compiler/runtime/criticalnatives/lookup/libCNLookUp.c - test/hotspot/jtreg/gc/CriticalNative.java - test/hotspot/jtreg/gc/CriticalNativeArgs.java - test/hotspot/jtreg/gc/libCriticalNative.c - test/hotspot/jtreg/gc/stress/CriticalNativeStress.java Changeset: b85500e5 Author: Lance Andersen Date: 2021-11-12 17:12:13 +0000 URL: https://git.openjdk.java.net/amber/commit/b85500e52479c48b02a96b28fddefa2b25d5d9bd 8276123: ZipFile::getEntry will not return a file entry when there is a directory entry of the same name within a Zip File Reviewed-by: redestad, alanb ! src/java.base/share/classes/java/util/zip/ZipFile.java + test/jdk/java/util/zip/ZipFile/ZipFileDuplicateEntryTest.java Changeset: 74f3e69d Author: Daniel D. Daugherty Date: 2021-11-12 18:46:39 +0000 URL: https://git.openjdk.java.net/amber/commit/74f3e69dc888685558408e663df5d32cb906991f 8277071: [BACKOUT] JDK-8276743 Make openjdk build Zip Archive generation "reproducible" Reviewed-by: erikj ! make/Main.gmk ! make/ToolsJdk.gmk ! make/common/ZipArchive.gmk - make/jdk/src/classes/build/tools/makezipreproducible/MakeZipReproducible.java Changeset: 176d21d6 Author: Daniel D. Daugherty Date: 2021-11-12 19:06:01 +0000 URL: https://git.openjdk.java.net/amber/commit/176d21d6c525f8fd9592db5b4975308ea0001856 8276824: refactor Thread::is_JavaThread_protected Reviewed-by: coleenp, rehn, dholmes ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 8c5f0304 Author: Man Cao Date: 2021-11-12 22:34:10 +0000 URL: https://git.openjdk.java.net/amber/commit/8c5f03049196e66a4f8411bdd853b287134e7ce5 8276453: Undefined behavior in C1 LIR_OprDesc causes SEGV in fastdebug build Co-authored-by: Chuck Rasbold Co-authored-by: James Y Knight Reviewed-by: kvn, dlong ! src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_FrameMap_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp ! src/hotspot/cpu/ppc/c1_FrameMap_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp ! src/hotspot/cpu/s390/c1_FrameMap_s390.cpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_FrameMap_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/share/c1/c1_Compilation.hpp ! src/hotspot/share/c1/c1_FrameMap.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_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.hpp ! src/hotspot/share/gc/shared/c1/modRefBarrierSetC1.hpp Changeset: 296780c7 Author: Thomas Stuefe Date: 2021-11-15 06:47:15 +0000 URL: https://git.openjdk.java.net/amber/commit/296780c7ae5c129d24997007600f428b697d3365 8276983: Small fixes to DumpAllocStat::print_stats Reviewed-by: dholmes, iklam ! src/hotspot/share/cds/dumpAllocStats.cpp Changeset: ca2efb73 Author: Richard Reingruber Date: 2021-11-15 07:02:22 +0000 URL: https://git.openjdk.java.net/amber/commit/ca2efb73f59112d9be2ec29db405deb4c58dd435 8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend Reviewed-by: cjplummer, sspitsyn, rschmelter ! src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c + test/jdk/com/sun/jdi/ResumeAfterThreadResumeCallTest.java Changeset: b231f5ba Author: Hamlin Li Date: 2021-11-15 10:08:14 +0000 URL: https://git.openjdk.java.net/amber/commit/b231f5baa94c7104324cd206c1081b35fd27164c 8276921: G1: Remove redundant failed evacuation regions calculation in RemoveSelfForwardPtrHRClosure Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp Changeset: fdcd16a3 Author: Pavel Rappo Date: 2021-11-15 11:25:23 +0000 URL: https://git.openjdk.java.net/amber/commit/fdcd16a38fb9a14a819d68682f9666ebfe7285db 8277048: Tiny improvements to the specification text for java.util.Properties.load Reviewed-by: rriggs, iris, naoto ! src/java.base/share/classes/java/util/Properties.java Changeset: 02f79008 Author: Albert Mingkun Yang Date: 2021-11-15 12:46:38 +0000 URL: https://git.openjdk.java.net/amber/commit/02f79008828b3dcce3bd6492efaa43e99376c0c5 8276932: G1: Annotate methods with override explicitly in g1CollectedHeap.hpp Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 35a831d5 Author: Thomas Schatzl Date: 2021-11-15 14:34:19 +0000 URL: https://git.openjdk.java.net/amber/commit/35a831d5a755de8f3c71653bd0a37190adddb8ae 8272170: Missing memory barrier when checking active state for regions Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/g1/g1CommittedRegionMap.inline.hpp Changeset: 7fc344dc Author: Hannes Walln?fer Date: 2021-11-15 15:53:43 +0000 URL: https://git.openjdk.java.net/amber/commit/7fc344dc96008f277dacf5518b28447f3a598cde 8277028: Use service type documentation as fallback for @provides Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java Changeset: 9046077f Author: Alexey Semenyuk Date: 2021-11-15 17:57:06 +0000 URL: https://git.openjdk.java.net/amber/commit/9046077fe6ce7bb042fbd0fa1a80537cb4a60581 8276084: Linux DEB Bundler: release number in outputted .deb file should be optional Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxPackageBundler.java ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.control ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/LinuxHelper.java ! test/jdk/tools/jpackage/linux/LinuxResourceTest.java ! test/jdk/tools/jpackage/linux/ReleaseTest.java Changeset: fe45835f Author: Alexey Semenyuk Date: 2021-11-15 17:57:58 +0000 URL: https://git.openjdk.java.net/amber/commit/fe45835f7cebfccd4544ae19d88bdc7f07560fbe 8274856: Failing jpackage tests with fastdebug/release build Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/native/applauncher/LinuxLauncher.c ! src/jdk.jpackage/linux/native/libapplauncher/LinuxLauncherLib.cpp ! src/jdk.jpackage/share/native/applauncher/AppLauncher.cpp ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.cpp ! src/jdk.jpackage/share/native/applauncher/JvmLauncher.h ! src/jdk.jpackage/share/native/applauncher/JvmLauncherLib.c ! src/jdk.jpackage/unix/native/common/UnixSysInfo.cpp ! src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp Changeset: 1830b8da Author: Thomas Schatzl Date: 2021-11-15 18:09:32 +0000 URL: https://git.openjdk.java.net/amber/commit/1830b8da9028af430ee4791f310b5fc9cb1ff37d 8275056: Virtualize G1CardSet containers over heap region Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/g1CardSet.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegionBounds.hpp ! src/hotspot/share/gc/g1/heapRegionBounds.inline.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp ! test/hotspot/gtest/gc/g1/test_g1CardSet.cpp ! test/hotspot/jtreg/gc/arguments/TestG1HeapRegionSize.java Changeset: db0c8d52 Author: Andrey Turbanov Committer: Chris Plummer Date: 2021-11-15 19:14:17 +0000 URL: https://git.openjdk.java.net/amber/commit/db0c8d522704d2e12bce4ebeb9297b57e3789f4f 8274232: Cleanup unnecessary null comparison before instanceof check in jdk.jdi Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/BooleanValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ByteValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/CharValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ConnectorImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/DoubleValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/FieldImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/FloatValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/IntegerValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/LocalVariableImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/LocationImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/LongValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/MethodImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/MirrorImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ShortValueImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/StackFrameImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/TypeImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VoidValueImpl.java Changeset: 7a870418 Author: Andrey Turbanov Committer: Chris Plummer Date: 2021-11-15 19:18:35 +0000 URL: https://git.openjdk.java.net/amber/commit/7a870418a3e8de3b290ba71cbe4ca7979ec029f9 8275385: Change nested classes in jdk.jdi to static nested classes Reviewed-by: sspitsyn, amenkov, cjplummer ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ConnectorImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/SDE.java Changeset: 9326eb14 Author: Dean Long Date: 2021-11-15 21:09:23 +0000 URL: https://git.openjdk.java.net/amber/commit/9326eb14617bf08e3376f854fc022e11d1ef34dd 8276095: ciReplay: replay failure due to incomplete ciMethodData information Reviewed-by: chagedorn, kvn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/ci/ciMethodData.hpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciReplay.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciMethodData.java ! test/hotspot/jtreg/compiler/ciReplay/TestLambdas.java Changeset: a59c9b2a Author: Paul Sandoz Date: 2021-11-15 21:48:38 +0000 URL: https://git.openjdk.java.net/amber/commit/a59c9b2ac277d6ff6be1700d91ff389f137e61ca 8271515: Integration of JEP 417: Vector API (Third Incubator) Co-authored-by: Sandhya Viswanathan Co-authored-by: Jatin Bhateja Co-authored-by: Ningsheng Jian Co-authored-by: Xiaohong Gong Co-authored-by: Eric Liu Co-authored-by: Jie Fu Co-authored-by: Vladimir Ivanov Co-authored-by: John R Rose Co-authored-by: Paul Sandoz Co-authored-by: Rado Smogura Reviewed-by: kvn, sviswanathan, ngasson ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_sve.ad ! src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.cpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/adlc/forms.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/postaloc.cpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/growableArray.hpp ! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! src/jdk.incubator.vector/windows/native/libjsvml/globals_vectorApiSupport_windows.S.inc ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h + test/hotspot/jtreg/compiler/vectorapi/VectorMaskCastTest.java + test/hotspot/jtreg/compiler/vectorapi/VectorMaskLoadStoreTest.java + test/hotspot/jtreg/compiler/vectorapi/VectorMemoryAlias.java Changeset: bd92674b Author: Calvin Cheung Date: 2021-11-16 02:34:36 +0000 URL: https://git.openjdk.java.net/amber/commit/bd92674be563ad291990216b7cdf061c498f5dd3 8276184: Exclude lambda proxy class from the CDS archive if its caller class is excluded Reviewed-by: iklam, dholmes ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! test/hotspot/jtreg/runtime/cds/appcds/LambdaContainsOldInf.java ! test/hotspot/jtreg/runtime/cds/appcds/SignedJar.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaContainsOldInf.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForOldInfInBaseArchive.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/OldClassInBaseArchive.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/RedefineCallerClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/RedefineCallerClass.java ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/Hello.java ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/LambdaContainsOldInfApp.java Changeset: e4362007 Author: Aleksey Shipilev Date: 2021-11-16 07:32:34 +0000 URL: https://git.openjdk.java.net/amber/commit/e4362007da8e40c076493364df91cf85960a03e7 8008243: Zero: Implement fast bytecodes Reviewed-by: rkennke, coleenp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.hpp ! src/hotspot/share/prims/jvmtiManageCapabilities.cpp Changeset: 7719a74c Author: Thomas Stuefe Date: 2021-11-16 07:49:43 +0000 URL: https://git.openjdk.java.net/amber/commit/7719a74cec8c47fd036226b520a5fce7887386da 8277172: Remove stray comment mentioning instr_size_for_decode_klass_not_null on x64 Reviewed-by: dholmes ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: 1d79cfd3 Author: Stefan Johansson Date: 2021-11-16 08:27:34 +0000 URL: https://git.openjdk.java.net/amber/commit/1d79cfd3a16a71ec1bf93a0748e806b21a717b52 8276229: Stop allowing implicit updates in G1BlockOffsetTable Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1BlockOffsetTable.cpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp ! src/hotspot/share/gc/g1/g1BlockOffsetTable.inline.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: b8d33a2a Author: Thomas Stuefe Date: 2021-11-16 09:49:03 +0000 URL: https://git.openjdk.java.net/amber/commit/b8d33a2a4e4ac1be322644102e8f09ce1435b4fb 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/include/jmm.h ! src/hotspot/share/services/management.cpp ! src/jdk.management/share/native/libmanagement_ext/DiagnosticCommandImpl.c Changeset: 20f3872d Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:13:24 +0000 URL: https://git.openjdk.java.net/amber/commit/20f3872d1cd6257ab9c76bb998f8dc2d07bc1724 8274261: Use enhanced-for instead of plain 'for' in jdk.jcmd Reviewed-by: sspitsyn, cjplummer ! src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/ColumnFormat.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionFormat.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/Parser.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java Changeset: a9cb8bdb Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:14:37 +0000 URL: https://git.openjdk.java.net/amber/commit/a9cb8bdbaac7241959805c491b6d13b6e14f8966 8274168: Avoid String.compareTo == 0 to check String equality in java.management Reviewed-by: sspitsyn, dfuchs, cjplummer, dholmes ! src/java.management/share/classes/javax/management/BinaryRelQueryExp.java ! src/java.management/share/classes/javax/management/loading/MLet.java Changeset: 0bc26837 Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:15:52 +0000 URL: https://git.openjdk.java.net/amber/commit/0bc268377ed5d2dd15bdd7283a77b59ad505e2b7 8274190: Use String.equals instead of String.compareTo in jdk.internal.jvmstat Reviewed-by: cjplummer, sspitsyn ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredHost.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/monitor/VmIdentifier.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AliasFileParser.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/PerfDataBuffer.java ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java Changeset: 9629627e Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:17:08 +0000 URL: https://git.openjdk.java.net/amber/commit/9629627e2c8021c254517ac5463cc66723175fd9 8274163: Use String.equals instead of String.compareTo in jdk.jcmd Reviewed-by: cjplummer, amenkov, sspitsyn ! src/jdk.jcmd/share/classes/sun/tools/jps/Arguments.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/OptionLister.java ! src/jdk.jcmd/share/classes/sun/tools/jstat/Parser.java Changeset: c06df25a Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:18:10 +0000 URL: https://git.openjdk.java.net/amber/commit/c06df25a4fb76ee65d3fa99ec0579ca4a406c345 8274662: Replace 'while' cycles with iterator with enhanced-for in jdk.hotspot.agent Reviewed-by: amenkov, cjplummer, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/DeadlockDetector.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java Changeset: 1c45c8a0 Author: Andrey Turbanov Committer: Serguei Spitsyn Date: 2021-11-16 11:19:01 +0000 URL: https://git.openjdk.java.net/amber/commit/1c45c8a08287e2d8d7574eaa773850b7f0b33207 8274757: Cleanup unnecessary calls to Throwable.initCause() in java.management module Reviewed-by: dfuchs, sspitsyn ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectorServer.java ! src/java.management/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/java.management/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java ! src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java ! src/java.management/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java ! src/java.management/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java ! src/java.management/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java Changeset: 7906eb05 Author: Hamlin Li Date: 2021-11-16 11:37:37 +0000 URL: https://git.openjdk.java.net/amber/commit/7906eb050d4675092536048e8e21334767e397e6 8277119: Add asserts in GenericTaskQueueSet methods Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/taskqueue.inline.hpp Changeset: 9a9a157a Author: Jayathirth D V Date: 2021-11-16 13:18:56 +0000 URL: https://git.openjdk.java.net/amber/commit/9a9a157a7d45cbfb016d4427931e1d5345210f7a 8276905: Use appropriate macosx_version_minimum value while compiling metal shaders Reviewed-by: ihse, kcr, erikj, prr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: f3eb5014 Author: MeryKitty Committer: Tobias Hartmann Date: 2021-11-16 14:09:53 +0000 URL: https://git.openjdk.java.net/amber/commit/f3eb5014aa75af4463308f52f2bc6e9fcd2da36c 8276162: Optimise unsigned comparison pattern Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/subnode.cpp + test/hotspot/jtreg/compiler/c2/irTests/TestUnsignedComparison.java + test/micro/org/openjdk/bench/vm/compiler/UnsignedComparison.java Changeset: d5e47d6b Author: Yasumasa Suenaga Date: 2021-11-16 14:47:42 +0000 URL: https://git.openjdk.java.net/amber/commit/d5e47d6b84514edde23a8baff8c2274e5b3ca6bb 8277089: Use system binutils to build hsdis Reviewed-by: ihse ! make/autoconf/jdk-options.m4 ! src/utils/hsdis/README ! src/utils/hsdis/hsdis.c Changeset: e5ffdf91 Author: Dean Long Date: 2021-11-16 17:25:38 +0000 URL: https://git.openjdk.java.net/amber/commit/e5ffdf9120c14b38e4c8794888d2002e2686ebfc 8276231: ciReplay: SIGSEGV when replay compiling lambdas Reviewed-by: iveresov, chagedorn ! src/hotspot/share/ci/ciReplay.cpp Changeset: b0a463fa Author: Alexander Zuev Date: 2021-11-16 19:01:53 +0000 URL: https://git.openjdk.java.net/amber/commit/b0a463fa59a1c3c554f48267525729bf89a2c5be 8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes! Reviewed-by: serb ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java Changeset: cddc6ce4 Author: Daniel Jelinski Committer: Xue-Lei Andrew Fan Date: 2021-11-16 20:34:15 +0000 URL: https://git.openjdk.java.net/amber/commit/cddc6ce44695cba4614c3405eb2b194d7c76489b 8275811: Incorrect instance to dispose Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/InputRecord.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketOutputRecord.java Changeset: 8ed384cf Author: Roger Riggs Date: 2021-11-16 20:53:49 +0000 URL: https://git.openjdk.java.net/amber/commit/8ed384cfb655d97ba452033e06d18ca38e5fc9b0 8276609: Document setting property `jdk.serialFilter` to an invalid value throws `ExceptionInInitializerError` Reviewed-by: dfuchs, lancea ! src/java.base/share/classes/java/io/ObjectInputFilter.java Changeset: a77d8ddf Author: Ioi Lam Date: 2021-11-16 21:03:33 +0000 URL: https://git.openjdk.java.net/amber/commit/a77d8ddf11fba33007a4f5c0468d69de23f10f6a 8276787: Improve warning messages for -XX:+RecordDynamicDumpInfo Reviewed-by: ccheung, stuefe ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/thread.cpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/SharedArchiveFileOption.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 23e5117a Author: Jaikiran Pai Date: 2021-11-17 03:20:40 +0000 URL: https://git.openjdk.java.net/amber/commit/23e5117a55b3f3d0e3d26bf2d481f4ad1c99af57 8276559: (httpclient) Consider adding an HttpRequest.Builder.HEAD method to build a HEAD request. Reviewed-by: cstein, dfuchs ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestBuilderImpl.java ! test/jdk/java/net/httpclient/HeadTest.java ! test/jdk/java/net/httpclient/HttpRequestBuilderTest.java ! test/jdk/java/net/httpclient/HttpRequestNewBuilderTest.java ! test/jdk/java/net/httpclient/RequestBuilderTest.java Changeset: 08f65a59 Author: Fairoz Matte Committer: Jayathirth D V Date: 2021-11-17 06:13:26 +0000 URL: https://git.openjdk.java.net/amber/commit/08f65a59a7bd387974d94253ec7093524a3e92f1 8277313: Validate header failed for test/jdk/java/net/httpclient/HeadTest.java Reviewed-by: jdv ! test/jdk/java/net/httpclient/HeadTest.java Changeset: 9aa30de4 Author: Faye Gao Committer: Tobias Hartmann Date: 2021-11-17 08:19:46 +0000 URL: https://git.openjdk.java.net/amber/commit/9aa30de4bb55357ddf0900e6103062f02e85753b 8275317: AArch64: Support some type conversion vectorization in SLP Reviewed-by: thartmann, ngasson ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/vectornode.cpp ! test/hotspot/jtreg/compiler/codegen/TestIntFloatVect.java ! test/hotspot/jtreg/compiler/codegen/TestLongDoubleVect.java ! test/micro/org/openjdk/bench/vm/compiler/TypeVectorOperations.java Changeset: e9934e12 Author: Albert Mingkun Yang Date: 2021-11-17 09:59:55 +0000 URL: https://git.openjdk.java.net/amber/commit/e9934e1243929514e147ecdd3cefa74168ed0500 8277221: G1: Remove methods without implementations in G1CollectedHeap Reviewed-by: tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 2af9e597 Author: Kevin Walls Date: 2021-11-17 11:59:52 +0000 URL: https://git.openjdk.java.net/amber/commit/2af9e5976fdf94afc7dbe5ad7827553818057bae 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test Reviewed-by: jiefu, sspitsyn ! test/jdk/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java ! test/jdk/sun/jvmstat/monitor/HostIdentifier/testcases - test/jdk/sun/tools/jps/TestJpsHostName.java Changeset: 9f2f46ee Author: Harold Seigel Date: 2021-11-17 14:25:17 +0000 URL: https://git.openjdk.java.net/amber/commit/9f2f46ee4576d9cd0190530949e5e50f796a6bdc 8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows Reviewed-by: coleenp ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/GenClassesBuilder.java ! test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/SysDictTest.java Changeset: 8f5a8f74 Author: Alexander Zuev Date: 2021-11-17 17:36:53 +0000 URL: https://git.openjdk.java.net/amber/commit/8f5a8f740b62c27cc244debe57aaa2975f84a694 8264293: Create implementation for NSAccessibilityMenu protocol peer 8264296: Create implementation for NSAccessibilityPopUpButton protocol peer 8264295: Create implementation for NSAccessibilityMenuItem protocol peer 8264294: Create implementation for NSAccessibilityMenuBar protocol peer Reviewed-by: pbansal, ant ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuBarAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuBarAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuItemAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/MenuItemAccessibility.m Changeset: b6876649 Author: Alex Kasko Committer: Zhengyu Gu Date: 2021-11-17 17:48:07 +0000 URL: https://git.openjdk.java.net/amber/commit/b6876649a82bed508d817ccbde1600d00937e4b2 8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points Reviewed-by: bpb, shade ! test/jdk/java/nio/file/FileStore/Basic.java Changeset: a907b2b1 Author: Coleen Phillimore Date: 2021-11-17 19:53:55 +0000 URL: https://git.openjdk.java.net/amber/commit/a907b2b144f2af27392eb7c2f9656fbb1a759618 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here" Reviewed-by: hseigel, sspitsyn ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/utilities/accessFlags.hpp ! test/hotspot/jtreg/ProblemList.txt Changeset: 262d0700 Author: Weijun Wang Date: 2021-11-17 20:03:55 +0000 URL: https://git.openjdk.java.net/amber/commit/262d07001babcbe7f9acd2053aa3b7bac304cf85 8277246: Check for NonRepudiation as well when validating a TSA certificate Reviewed-by: xuelei, mullan ! src/java.base/share/classes/sun/security/validator/EndEntityChecker.java ! test/jdk/sun/security/tools/jarsigner/TimestampCheck.java Changeset: 8881f29b Author: Dean Long Date: 2021-11-17 20:18:07 +0000 URL: https://git.openjdk.java.net/amber/commit/8881f29bc83336bcbc0e8ff0cf1d2bbe55172f5c 8277310: ciReplay: @cpi MethodHandle references not resolved Reviewed-by: chagedorn, thartmann ! src/hotspot/share/ci/ciReplay.cpp Changeset: 007ad7c7 Author: Joe Darcy Date: 2021-11-17 20:23:43 +0000 URL: https://git.openjdk.java.net/amber/commit/007ad7c77c6277ce733386b4402b787d81dd41cf 8277303: Terminology mismatch between JLS17-3.9 and SE17's javax.lang.model.SourceVersion method specs Reviewed-by: iris, jjg ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: d8c02802 Author: Dean Long Date: 2021-11-17 20:26:25 +0000 URL: https://git.openjdk.java.net/amber/commit/d8c0280273fa9f8e113088d6a43a4af076cd4f87 8277316: ciReplay: dump_replay_data is not thread-safe Reviewed-by: chagedorn, thartmann ! src/hotspot/share/ci/ciEnv.cpp Changeset: 6bb04626 Author: Sean Coffey Date: 2021-11-17 20:50:46 +0000 URL: https://git.openjdk.java.net/amber/commit/6bb04626af6574ef1e8d4b7dad0389d4b59f5d08 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE Reviewed-by: weijun ! src/java.base/share/classes/sun/security/pkcs/PKCS9Attributes.java ! test/jdk/sun/security/x509/AlgorithmId/NonStandardNames.java Changeset: 45a60db5 Author: Albert Mingkun Yang Date: 2021-11-17 21:02:13 +0000 URL: https://git.openjdk.java.net/amber/commit/45a60db5a0aa78fa9eb1c2899bd167c136e0fa03 8277045: G1: Remove unnecessary set_concurrency call in G1ConcurrentMark::weak_refs_work Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp Changeset: ce4471f8 Author: Daniel D. Daugherty Date: 2021-11-17 21:23:38 +0000 URL: https://git.openjdk.java.net/amber/commit/ce4471f806e51bc9f9ad746b69ba490443947110 8277346: ProblemList 7 serviceability/sa tests on macosx-x64 8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64 Reviewed-by: tschatzl, bpb ! test/hotspot/jtreg/ProblemList.txt Changeset: 29e552c0 Author: Sergey Bylokhov Date: 2021-11-17 22:21:38 +0000 URL: https://git.openjdk.java.net/amber/commit/29e552c03a2825f9526330072668a1d63ac68fd4 8272358: Some tests may fail when executed with other locales than the US Reviewed-by: aivanov ! test/langtools/jdk/jshell/ToolBasicTest.java ! test/langtools/jdk/jshell/ToolSimpleTest.java ! test/langtools/tools/javac/lambda/lambdaExecution/LambdaTranslationTest1.java ! test/langtools/tools/javac/lambda/lambdaExecution/LambdaTranslationTest2.java Changeset: 231fb61a Author: Naoto Sato Date: 2021-11-18 01:12:12 +0000 URL: https://git.openjdk.java.net/amber/commit/231fb61aaeae04787c06a4c972197943d9085627 8276970: Default charset for PrintWriter that wraps PrintStream Reviewed-by: rriggs, alanb ! src/java.base/share/classes/java/io/OutputStreamWriter.java ! src/java.base/share/classes/java/io/PrintStream.java ! src/java.base/share/classes/java/io/PrintWriter.java + test/jdk/java/io/PrintStream/InheritEncodingTest.java Changeset: b8453ebd Author: Naoto Sato Date: 2021-11-18 01:13:26 +0000 URL: https://git.openjdk.java.net/amber/commit/b8453ebdb471e08cc8d62c777f33ad52902f67d7 8275007: Java fails to start with null charset if LC_ALL is set to certain locales Reviewed-by: rriggs, iris, joehw, alanb ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/native/libjava/jni_util.c Changeset: 81938001 Author: Fei Gao Committer: Ningsheng Jian Date: 2021-11-18 02:41:27 +0000 URL: https://git.openjdk.java.net/amber/commit/81938001f9bae56c59f4e18b7756089f2cf0bf74 8274179: AArch64: Support SVE operations with encodable immediates Reviewed-by: aph, ngasson ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_sve.ad ! src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.cpp ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h ! test/hotspot/jtreg/compiler/codegen/TestByteVect.java ! test/hotspot/jtreg/compiler/codegen/TestCharVect.java ! test/hotspot/jtreg/compiler/codegen/TestIntVect.java ! test/hotspot/jtreg/compiler/codegen/TestLongVect.java ! test/hotspot/jtreg/compiler/codegen/TestShortVect.java Changeset: 91607436 Author: Prasanta Sadhukhan Date: 2021-11-18 04:33:49 +0000 URL: https://git.openjdk.java.net/amber/commit/91607436b79126ccb999deaf38a98209dbfe6ec1 8276058: Some swing test fails on specific CI macos system Reviewed-by: prr, kizune ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java ! test/jdk/javax/swing/JButton/8151303/PressedIconTest.java ! test/jdk/javax/swing/JInternalFrame/8069348/bug8069348.java ! test/jdk/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java Changeset: 2f4b5405 Author: Doug Simon Date: 2021-11-18 08:32:54 +0000 URL: https://git.openjdk.java.net/amber/commit/2f4b5405f0b53782f3ed5274f68b31eb968efb6d 8276314: [JVMCI] check alignment of call displacement during code installation Reviewed-by: kvn ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.hpp Changeset: db55f927 Author: Ioi Lam Date: 2021-11-18 08:49:07 +0000 URL: https://git.openjdk.java.net/amber/commit/db55f9272c0889f4ea4dee0f4aa3d9613fadb2f8 8277343: dynamicArchive/SharedArchiveFileOption.java failed: '-XX:+RecordDynamicDumpInfo is unsupported when a dynamic CDS archive is specified in -XX:SharedArchiveFile:' missing Reviewed-by: hseigel, ccheung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicArchiveTestBase.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/SharedArchiveFileOption.java Changeset: 0a65e8b2 Author: Andrey Turbanov Committer: Alexey Ivanov Date: 2021-11-18 10:48:16 +0000 URL: https://git.openjdk.java.net/amber/commit/0a65e8b282fd41e57108422fbd140527d9697efd 8276794: Change nested classes in java.desktop to static nested classes Reviewed-by: serb, aivanov ! src/java.desktop/macosx/classes/com/apple/eawt/_AppEventHandler.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLRenderer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/SOFMarkerSegment.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/SOSMarkerSegment.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java ! src/java.desktop/share/classes/com/sun/media/sound/EventDispatcher.java ! src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java ! src/java.desktop/share/classes/com/sun/media/sound/SoftMainMixer.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileWriter.java ! src/java.desktop/share/classes/java/awt/CardLayout.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Polygon.java ! src/java.desktop/share/classes/java/awt/ScrollPane.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/print/Book.java ! src/java.desktop/share/classes/java/beans/XMLEncoder.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java ! src/java.desktop/share/classes/javax/print/attribute/standard/PrinterStateReasons.java ! src/java.desktop/share/classes/javax/sound/sampled/AudioInputStream.java ! src/java.desktop/share/classes/javax/swing/GroupLayout.java ! src/java.desktop/share/classes/javax/swing/JComboBox.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/javax/swing/KeyboardManager.java ! src/java.desktop/share/classes/javax/swing/RepaintManager.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalComboBoxEditor.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalIconFactory.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTableUI.java ! src/java.desktop/share/classes/javax/swing/text/DefaultHighlighter.java ! src/java.desktop/share/classes/javax/swing/text/ElementIterator.java ! src/java.desktop/share/classes/javax/swing/text/JTextComponent.java ! src/java.desktop/share/classes/javax/swing/text/StringContent.java ! src/java.desktop/share/classes/javax/swing/text/StyleContext.java ! src/java.desktop/share/classes/javax/swing/text/html/ImageView.java ! src/java.desktop/share/classes/javax/swing/text/html/TableView.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultMutableTreeNode.java ! src/java.desktop/share/classes/sun/awt/PlatformFont.java ! src/java.desktop/share/classes/sun/java2d/loops/RenderCache.java ! src/java.desktop/share/classes/sun/java2d/opengl/OGLRenderer.java ! src/java.desktop/share/classes/sun/java2d/pipe/GeneralCompositePipe.java ! src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java ! src/java.desktop/share/classes/sun/print/PrintJob2D.java ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java ! src/java.desktop/share/classes/sun/print/ServiceDialog.java ! src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java ! src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/java.desktop/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java ! src/java.desktop/unix/classes/sun/awt/X11/XTextAreaPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java ! src/java.desktop/unix/classes/sun/font/X11GB2312.java ! src/java.desktop/unix/classes/sun/font/X11GBK.java ! src/java.desktop/unix/classes/sun/font/X11KSC5601.java ! src/java.desktop/unix/classes/sun/print/IPPPrintService.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/XPStyle.java ! src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java ! src/java.desktop/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DRenderer.java Changeset: 77cc5088 Author: Albert Mingkun Yang Date: 2021-11-18 10:52:55 +0000 URL: https://git.openjdk.java.net/amber/commit/77cc508802899b370f1cdf592331f81efb8d9208 8277215: Remove redundancy in ReferenceProcessor constructor args Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 2c06bca9 Author: Erik ?sterlund Date: 2021-11-18 11:17:00 +0000 URL: https://git.openjdk.java.net/amber/commit/2c06bca98fcf9d129d6085e26c225fb26368a558 8266368: Inaccurate after_unwind hook in C2 exception handler Reviewed-by: dlong, thartmann ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp Changeset: 38345bd2 Author: Evgeny Astigeevich Committer: Volker Simonis Date: 2021-11-18 11:18:15 +0000 URL: https://git.openjdk.java.net/amber/commit/38345bd28db83371676f1685806ddc207a833879 8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1 Reviewed-by: phh, aph, ngasson ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp + test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java Changeset: b3a62b48 Author: Harold Seigel Date: 2021-11-18 13:18:37 +0000 URL: https://git.openjdk.java.net/amber/commit/b3a62b48816358ac7dadde4e7893190500ca7b79 8276795: Deprecate seldom used CDS flags Reviewed-by: dholmes, ccheung, iklam ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/intrinsics/klass/TestIsPrimitive.java ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: a44b45fd Author: Sean Mullan Date: 2021-11-18 13:48:12 +0000 URL: https://git.openjdk.java.net/amber/commit/a44b45fdf31275a2c1e9d1d0132874a7de45f8ee 4337793: Mark non-serializable fields of java.security.cert.Certificate and CertPath Reviewed-by: valeriep, rriggs ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/Certificate.java Changeset: 00c388b4 Author: Erik ?sterlund Date: 2021-11-18 14:32:59 +0000 URL: https://git.openjdk.java.net/amber/commit/00c388b4aba41d5f0874585e9c0a33c4571805f6 8259643: ZGC can return metaspace OOM prematurely Reviewed-by: stefank, pliden, stuefe ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/memory/metaspace.cpp + src/hotspot/share/memory/metaspaceCriticalAllocation.cpp + src/hotspot/share/memory/metaspaceCriticalAllocation.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: d93b238f Author: Erik ?sterlund Date: 2021-11-18 14:44:58 +0000 URL: https://git.openjdk.java.net/amber/commit/d93b238f9725727ae1e2e9f203943b5ddf778f35 8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64 Reviewed-by: aph, ngasson ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp Changeset: 276bfcd1 Author: Prasanta Sadhukhan Date: 2021-11-18 15:17:59 +0000 URL: https://git.openjdk.java.net/amber/commit/276bfcd1a115f90dde644abef79d64bb61788c75 8277407: javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java fails to compile after JDK-8276058 Reviewed-by: dcubed ! test/jdk/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java Changeset: 354a34ea Author: Albert Mingkun Yang Date: 2021-11-18 15:54:04 +0000 URL: https://git.openjdk.java.net/amber/commit/354a34ea2077c9372e585adb1303df604827a2e2 8277336: Improve CollectedHeap::safepoint_workers comments Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/shared/collectedHeap.hpp Changeset: 5d249c46 Author: Alexander Zuev Date: 2021-11-18 16:07:38 +0000 URL: https://git.openjdk.java.net/amber/commit/5d249c46abc8dfdc3acdaff41d26f3bd9ba84731 8275071: [macos] A11y cursor gets stuck when combobox is closed Reviewed-by: serb, pbansal ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java Changeset: ce0f00f6 Author: Thomas Schatzl Date: 2021-11-18 16:59:41 +0000 URL: https://git.openjdk.java.net/amber/commit/ce0f00f66e78a504d5e40a25fa213325ec0af394 8276093: Improve naming in closures to iterate over card sets Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/g1CardSet.inline.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp ! test/hotspot/gtest/gc/g1/test_g1CardSet.cpp Changeset: 03473b4c Author: Sergey Bylokhov Date: 2021-11-18 18:25:38 +0000 URL: https://git.openjdk.java.net/amber/commit/03473b4c271b2ec7f0ebdb0edabadf7f36816b9d 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor Reviewed-by: jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! test/jdk/java/awt/Window/WindowResizingOnDPIChanging/WindowResizingOnMovingToAnotherDisplay.java Changeset: 8db0c361 Author: Daniel D. Daugherty Date: 2021-11-18 18:40:26 +0000 URL: https://git.openjdk.java.net/amber/commit/8db0c361a39cf10d373c3d2dfa54267cf53452db 8277414: ProblemList runtime/CommandLine/VMDeprecatedOptions.java on windows-x64 Reviewed-by: mikael, iklam ! test/hotspot/jtreg/ProblemList.txt Changeset: 57eb8647 Author: Niklas Radomski Committer: Martin Doerr Date: 2021-11-18 19:00:58 +0000 URL: https://git.openjdk.java.net/amber/commit/57eb864765f38185f8db8f1d37681d6cfe2a3c73 8276927: [PPC64] Port shenandoahgc to linux on ppc64le Reviewed-by: rkennke, ihse, mdoerr ! make/autoconf/jvm-features.m4 ! make/hotspot/gensrc/GensrcAdlc.gmk ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp + src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp + src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp + src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp + src/hotspot/cpu/ppc/gc/shenandoah/shenandoah_ppc.ad ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: 36bd4a35 Author: Harold Seigel Date: 2021-11-18 20:06:13 +0000 URL: https://git.openjdk.java.net/amber/commit/36bd4a35fbee077c00c1f4240f1f02f4d7d5f656 8277404: Test VMDeprecatedOptions.java failing with Unable to create shared archive file Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 89b125f4 Author: Roman Kennke Date: 2021-11-18 21:32:00 +0000 URL: https://git.openjdk.java.net/amber/commit/89b125f4d4d6a467185b4b39861fd530a738e67f 8275527: Refactor forward pointer access Reviewed-by: tschatzl, stefank ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp ! src/hotspot/share/gc/serial/markSweep.inline.hpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/oops/oop.inline.hpp Changeset: dd045c2c Author: duke Date: 2021-11-18 22:01:08 +0000 URL: https://git.openjdk.java.net/amber/commit/dd045c2cee9ce4d44b3436da034595c50664cf98 Automatic merge of master into stats-before-this-super From ice1000kotlin at foxmail.com Wed Nov 24 05:51:53 2021 From: ice1000kotlin at foxmail.com (=?utf-8?B?VGVzbGEgWmhhbmc=?=) Date: Wed, 24 Nov 2021 00:51:53 -0500 Subject: What's the current status of JEP 405? Message-ID: Hi, I'm very happy to see that 420 is now targeting JDK 18, but what about 405? Is it planned to be launched in JDK 18? Best regards, Tesla From gavin.bierman at oracle.com Thu Nov 25 14:14:03 2021 From: gavin.bierman at oracle.com (Gavin Bierman) Date: Thu, 25 Nov 2021 14:14:03 +0000 Subject: What's the current status of JEP 405? In-Reply-To: References: Message-ID: <36BE44EC-D864-49F2-B849-03FCC82F4B88@oracle.com> No, not 18. Hoping for 19! Gavin > On 24 Nov 2021, at 05:51, Tesla Zhang wrote: > > Hi, > > I'm very happy to see that 420 is now targeting JDK 18, but what about 405? Is it planned to be launched in JDK 18? > > > Best regards, > Tesla From duke at openjdk.java.net Thu Nov 25 22:08:03 2021 From: duke at openjdk.java.net (duke) Date: Thu, 25 Nov 2021 22:08:03 GMT Subject: git: openjdk/amber: stats-before-this-super: 86 new changesets Message-ID: Changeset: 839033ba Author: Man Cao Date: 2021-11-18 23:35:01 +0000 URL: https://git.openjdk.java.net/amber/commit/839033baf61ca7f10437e8e53b2114b081d97ea9 8276976: Rename LIR_OprDesc to LIR_Opr Co-authored-by: Chuck Rasbold Reviewed-by: thartmann, iveresov ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIR_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIR_arm.cpp ! src/hotspot/cpu/ppc/c1_LIR_ppc.cpp ! src/hotspot/cpu/s390/c1_LIR_s390.cpp ! src/hotspot/cpu/x86/c1_LIR_x86.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/c1/c1_LinearScan.hpp ! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp Changeset: 2f0bde1a Author: Yi Yang Date: 2021-11-19 02:04:48 +0000 URL: https://git.openjdk.java.net/amber/commit/2f0bde1a658b0910304c110920a2e8ccbe4557f8 8277102: Dubious PrintCompilation output Reviewed-by: thartmann, dnsimon ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compileTask.cpp ! src/hotspot/share/compiler/compileTask.hpp ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java Changeset: 47564cae Author: Tobias Hartmann Date: 2021-11-19 07:07:17 +0000 URL: https://git.openjdk.java.net/amber/commit/47564caeb0628e5c03a0e7f04093adce77d6dd3b 8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg Reviewed-by: chagedorn, sviswanathan ! src/hotspot/share/prims/vectorSupport.cpp + test/hotspot/jtreg/compiler/vectorapi/TestLongVectorNeg.java Changeset: f34f1190 Author: Tobias Hartmann Date: 2021-11-19 07:13:05 +0000 URL: https://git.openjdk.java.net/amber/commit/f34f119080b4e8baf396fb26c21d572dd432fd91 8277213: CompileTask_lock is acquired out of order with MethodCompileQueue_lock Reviewed-by: rbackman, coleenp ! src/hotspot/share/compiler/compileTask.hpp Changeset: 2f20b0d8 Author: Jan Lahoda Date: 2021-11-19 07:49:58 +0000 URL: https://git.openjdk.java.net/amber/commit/2f20b0d8daca6bdc53b4b9e1837c428930d34236 8273039: JShell crashes when naming variable or method "abstract" or "strictfp" Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/jdk/jshell/ErrorRecoveryTest.java + test/langtools/tools/javac/attr/AttrRecoveryTest.java Changeset: 3a76d397 Author: Tobias Hartmann Date: 2021-11-19 08:23:45 +0000 URL: https://git.openjdk.java.net/amber/commit/3a76d397949ad22e4786476e583cc9d33c015214 8277324: C2 compilation fails with "bad AD file" on x86-32 after JDK-8276162 due to missing match rule Reviewed-by: chagedorn, roland ! src/hotspot/cpu/x86/x86_32.ad Changeset: 7a046e0f Author: Albert Mingkun Yang Date: 2021-11-19 08:31:09 +0000 URL: https://git.openjdk.java.net/amber/commit/7a046e0f765e0ad04fd52c9a882c5d90b085bc00 8277371: Remove unnecessary DefNewGeneration::ref_processor_init() Reviewed-by: stefank, tschatzl, mli ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/defNewGeneration.hpp ! src/hotspot/share/gc/shared/generation.hpp Changeset: 11d819d6 Author: Hamlin Li Date: 2021-11-19 10:15:30 +0000 URL: https://git.openjdk.java.net/amber/commit/11d819d68a3ce2ae0973b496141c52aa419f90f0 8277439: G1: Correct include guard name in G1EvacFailureObjectsSet.hpp Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1EvacFailureObjectsSet.hpp Changeset: b15e6f07 Author: Jie Fu Date: 2021-11-19 10:38:42 +0000 URL: https://git.openjdk.java.net/amber/commit/b15e6f076afe5ac68e9af68756860d0b25adea4b 8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs Reviewed-by: thartmann, chagedorn ! test/hotspot/jtreg/compiler/vectorapi/TestLongVectorNeg.java Changeset: 03debf27 Author: Daniel Fuchs Date: 2021-11-19 13:18:12 +0000 URL: https://git.openjdk.java.net/amber/commit/03debf277537135974d3f55e3a5c7cf6842ee5e0 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie Reviewed-by: michaelm ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Request.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/CookieHeaderTest.java = test/jdk/java/net/httpclient/UserCookieTest.java Changeset: b1a1bf4e Author: Claes Redestad Date: 2021-11-19 13:25:40 +0000 URL: https://git.openjdk.java.net/amber/commit/b1a1bf4e305d6675f8f751aa8fef7013d99466f1 8277427: Update jib-profiles.js to use JMH 1.33 devkit Reviewed-by: shade, erikj ! make/conf/jib-profiles.js Changeset: a0227965 Author: Magnus Ihse Bursie Committer: Magnus Ihse Bursie Date: 2021-11-19 13:55:08 +0000 URL: https://git.openjdk.java.net/amber/commit/a0227965bb8d1d49718794d67f8a4cfeebc9bec2 8275745: Reproducible copyright headers Reviewed-by: ihse, erikj ! make/autoconf/basic_tools.m4 ! make/autoconf/jdk-options.m4 ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java ! make/jdk/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! make/modules/java.base/Gensrc.gmk ! make/modules/jdk.localedata/Gensrc.gmk Changeset: 936f7ff4 Author: Andy Herrick Date: 2021-11-19 14:23:04 +0000 URL: https://git.openjdk.java.net/amber/commit/936f7ff49ed86adb74bb1ff10d93cb3d7f7d70a0 8276150: Quarantined jpackage apps are labeled as "damaged" Reviewed-by: almatvee ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java Changeset: 03f8c0fb Author: Sean Mullan Date: 2021-11-19 14:36:07 +0000 URL: https://git.openjdk.java.net/amber/commit/03f8c0fb9363dc1bb07bed1ae0359c029caa0130 8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled Reviewed-by: weijun ! src/java.base/share/classes/sun/security/pkcs/SignerInfo.java ! src/java.base/share/classes/sun/security/provider/certpath/AlgorithmChecker.java ! src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java ! src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ! src/java.base/share/classes/sun/security/util/JarConstraintsParameters.java ! src/java.base/share/classes/sun/security/util/ManifestEntryVerifier.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! test/jdk/sun/security/tools/jarsigner/TimestampCheck.java Changeset: 976c2bb0 Author: Stefan Karlsson Date: 2021-11-19 15:34:22 +0000 URL: https://git.openjdk.java.net/amber/commit/976c2bb05611cdc7b11b0918aaf50ff693507aae 8277212: GC accidentally cleans valid megamorphic vtable inline caches Reviewed-by: eosterlund, pliden, coleenp, thartmann ! src/hotspot/share/code/compiledMethod.cpp Changeset: 09e8c8c6 Author: Coleen Phillimore Date: 2021-11-19 17:48:43 +0000 URL: https://git.openjdk.java.net/amber/commit/09e8c8c64abf4178a042c79b92d7e08e54467331 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for Reviewed-by: dholmes, hseigel ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 66775543 Author: Andrey Turbanov Committer: Roger Riggs Date: 2021-11-19 18:48:06 +0000 URL: https://git.openjdk.java.net/amber/commit/6677554374ade32c9f2ddaaa093064de8aebd831 8274949: Use String.contains() instead of String.indexOf() in java.base Reviewed-by: weijun, dfuchs, vtewari, lancea ! src/java.base/share/classes/java/net/HttpCookie.java ! src/java.base/share/classes/java/net/HttpURLConnection.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/jdk/internal/jrtfs/JrtPath.java ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java ! src/java.base/share/classes/sun/net/www/http/HttpCapture.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/java.base/share/classes/sun/security/provider/PolicyFile.java ! src/java.base/share/classes/sun/security/rsa/RSAPSSSignature.java ! src/java.base/share/classes/sun/security/rsa/RSAUtil.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/util/Debug.java ! src/java.base/share/classes/sun/security/util/SignatureUtil.java ! src/java.base/share/classes/sun/security/x509/AlgorithmId.java ! src/java.base/share/classes/sun/util/locale/LocaleMatcher.java ! src/java.base/unix/classes/sun/net/www/protocol/jar/JarFileFactory.java ! src/java.base/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java Changeset: 36b59f38 Author: Andrey Turbanov Committer: Roger Riggs Date: 2021-11-19 18:49:04 +0000 URL: https://git.openjdk.java.net/amber/commit/36b59f3814fdaa44c9c04a0e8d63d0ba56929326 8274333: Redundant null comparison after Pattern.split Reviewed-by: mullan, weijun, rriggs, iris ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/security/util/AlgorithmDecomposer.java Changeset: f609b8fd Author: Andrey Turbanov Committer: Roger Riggs Date: 2021-11-19 18:50:03 +0000 URL: https://git.openjdk.java.net/amber/commit/f609b8fd74c55f3149d8e5a6a9a9bc3598c0b961 8274946: Cleanup unnecessary calls to Throwable.initCause() in java.rmi Reviewed-by: iris, rriggs ! src/java.rmi/share/classes/java/rmi/server/RMIClassLoader.java ! src/java.rmi/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java ! src/java.rmi/share/classes/javax/rmi/ssl/SslRMIClientSocketFactory.java ! src/java.rmi/share/classes/javax/rmi/ssl/SslRMIServerSocketFactory.java ! src/java.rmi/share/classes/sun/rmi/log/ReliableLog.java Changeset: e47cc81b Author: Andrey Turbanov Committer: Roger Riggs Date: 2021-11-19 18:51:13 +0000 URL: https://git.openjdk.java.net/amber/commit/e47cc81b095381266104e9137495e91fb4c225a4 8275386: Change nested classes in jdk.jlink to static nested classes Reviewed-by: alanb, rriggs, iris ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourcePoolManager.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java Changeset: a3406a1d Author: Thomas Stuefe Date: 2021-11-19 19:49:57 +0000 URL: https://git.openjdk.java.net/amber/commit/a3406a1d8ab4228b06b4f2978f87275093c39468 8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM" Reviewed-by: coleenp ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestContext.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestManyArenasManyThreads.java Changeset: 2d4af225 Author: Yasumasa Suenaga Date: 2021-11-19 20:24:17 +0000 URL: https://git.openjdk.java.net/amber/commit/2d4af2255feb2eaeca533424f8cba3ec0945d757 8277370: configure script cannot distinguish WSL version Reviewed-by: erikj ! make/autoconf/basic_windows.m4 Changeset: 2ab43ec2 Author: Pavel Rappo Date: 2021-11-19 20:51:22 +0000 URL: https://git.openjdk.java.net/amber/commit/2ab43ec2428edaebfe9a7fb0e716ff7141a28de0 8273544: Increase test coverage for snippets Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Attribute.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Attributes.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Parser.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Replace.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Style.java + test/langtools/jdk/javadoc/doclet/testSnippetTag/SnippetTester.java + test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetMarkup.java + test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetPathOption.java ! test/langtools/jdk/javadoc/doclet/testSnippetTag/TestSnippetTag.java Changeset: c79a485f Author: Daniel D. Daugherty Date: 2021-11-19 22:37:28 +0000 URL: https://git.openjdk.java.net/amber/commit/c79a485f1c3f9c0c3a79b8847fdcd50a141cd529 8277494: [BACKOUT] JDK-8276150 Quarantined jpackage apps are labeled as "damaged" Reviewed-by: asemenyuk, tschatzl ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java Changeset: 1d7cef33 Author: Derek White Date: 2021-11-20 00:48:32 +0000 URL: https://git.openjdk.java.net/amber/commit/1d7cef33c5ff24695463a03c58c7ca350ec190fc 8276662: Scalability bottleneck in SymbolTable::lookup_common() Reviewed-by: redestad, dholmes, iklam, shade ! src/hotspot/share/classfile/symbolTable.cpp Changeset: 1c215f33 Author: Vishal Chand Committer: Thomas Schatzl Date: 2021-11-20 10:03:45 +0000 URL: https://git.openjdk.java.net/amber/commit/1c215f33698ba2aef4fb230475a9bd33ed3005f9 8272773: Configurable card table card size Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/objectStartArray.cpp ! src/hotspot/share/gc/parallel/objectStartArray.hpp ! src/hotspot/share/gc/parallel/parallelArguments.cpp ! src/hotspot/share/gc/shared/blockOffsetTable.cpp ! src/hotspot/share/gc/shared/blockOffsetTable.hpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTable.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/genArguments.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.hpp Changeset: 0a9e76c4 Author: Jie Fu Date: 2021-11-20 10:12:26 +0000 URL: https://git.openjdk.java.net/amber/commit/0a9e76c4f9d966015c19e87e3eb59ceb7489459f 8277485: Zero: Fix _fast_{i,f}access_0 bytecodes handling Reviewed-by: sgehwolf, shade ! src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp Changeset: 4ff43010 Author: Joe Darcy Date: 2021-11-21 20:42:37 +0000 URL: https://git.openjdk.java.net/amber/commit/4ff43010bb3f92bd58f66be52a086b3d078b0cbb 8224922: Access JavaFileObject from Element(s) Co-authored-by: Jan Lahoda Reviewed-by: jjg ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java ! src/java.compiler/share/classes/javax/lang/model/element/package-info.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java + test/langtools/tools/javac/processing/model/element/TestFileObjectOf.java ! test/langtools/tools/javac/tree/NoPrivateTypesExported.java Changeset: ca31ed53 Author: TatWai Chong Date: 2021-11-22 02:31:33 +0000 URL: https://git.openjdk.java.net/amber/commit/ca31ed5335f6fa7229c94ba20d9d6031b930d69a 8275448: [REDO] AArch64: Implement string_compare intrinsic in SVE Reviewed-by: ngasson, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_sve.ad ! src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/aarch64/register_definitions_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp + test/micro/org/openjdk/bench/java/lang/StringCompareToDifferentLength.java Changeset: 3f847fe8 Author: Aleksey Shipilev Date: 2021-11-22 09:09:21 +0000 URL: https://git.openjdk.java.net/amber/commit/3f847fe89a088d6921107ca887a7a1bace871bd6 8277385: Zero: Enable CompactStrings support Reviewed-by: redestad, adinn ! src/hotspot/cpu/zero/globals_zero.hpp Changeset: 8051041e Author: Albert Mingkun Yang Date: 2021-11-22 09:59:09 +0000 URL: https://git.openjdk.java.net/amber/commit/8051041eb2b3d70d4cc62b6f2726279d51e44733 8277534: Remove unused ReferenceProcessor::has_discovered_references Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp Changeset: 32839ba0 Author: Serguei Spitsyn Date: 2021-11-22 10:47:47 +0000 URL: https://git.openjdk.java.net/amber/commit/32839ba012f0a0a66e249cd8d12b94499d82ec0a 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state->get_thread()) failed: Must be" Reviewed-by: mdoerr, lmesnik, dcubed ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! test/hotspot/jtreg/ProblemList.txt Changeset: d427c79d Author: Hamlin Li Date: 2021-11-22 11:27:05 +0000 URL: https://git.openjdk.java.net/amber/commit/d427c79d3bd6c80b67c10d15a461f13ae7e0f84b 8277428: G1: Move and inline G1STWIsAliveClosure::do_object_b Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1YoungCollector.cpp Changeset: 6b4fbaed Author: Jim Laskey Date: 2021-11-22 16:17:01 +0000 URL: https://git.openjdk.java.net/amber/commit/6b4fbaedbb782c5f028735ac1d92838895589192 8273792: JumpableGenerator.rngs() documentation refers to wrong method Co-authored-by: Guy Steele Reviewed-by: rriggs ! src/java.base/share/classes/java/util/random/RandomGenerator.java Changeset: 8683de5e Author: Jim Laskey Date: 2021-11-22 16:19:23 +0000 URL: https://git.openjdk.java.net/amber/commit/8683de5eda2d1a04f187073f969140245908f324 8274685: Documentation suggests there are ArbitrarilyJumpableGenerator when none Co-authored-by: Guy Steele Reviewed-by: rriggs ! src/java.base/share/classes/java/util/random/package-info.java Changeset: e5298655 Author: Jatin Bhateja Date: 2021-11-22 16:38:52 +0000 URL: https://git.openjdk.java.net/amber/commit/e529865531d0eb5a2119a1d220b195d088794226 8277239: SIGSEGV in vrshift_reg_maskedNode::emit Reviewed-by: sviswanathan, dlong ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp Changeset: 22f12ac4 Author: Joe Darcy Date: 2021-11-22 16:59:23 +0000 URL: https://git.openjdk.java.net/amber/commit/22f12ac429fbbf134d182d9bf2a16a3d43bc71e1 8277522: Make formatting of null consistent in Elements Reviewed-by: jlahoda ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 33e2a518 Author: Leonid Mesnik Date: 2021-11-22 17:11:34 +0000 URL: https://git.openjdk.java.net/amber/commit/33e2a518ebcd50e76c559512539fd7c864fd2407 8265795: vmTestbase/nsk/jvmti/AttachOnDemand/attach022/TestDescription.java fails when running with JEP 416 Reviewed-by: sspitsyn, dholmes ! src/hotspot/share/prims/unsafe.cpp ! test/hotspot/jtreg/ProblemList.txt + test/hotspot/jtreg/serviceability/jvmti/VMObjectAlloc/VMObjectAllocTest.java + test/hotspot/jtreg/serviceability/jvmti/VMObjectAlloc/libVMObjectAlloc.cpp Changeset: e3911a85 Author: Alexey Semenyuk Date: 2021-11-22 18:04:46 +0000 URL: https://git.openjdk.java.net/amber/commit/e3911a8532e9b93ba5e65c613bd79864485db5ce 8277429: Conflicting jpackage static library name Reviewed-by: almatvee, herrick, erikj ! make/modules/jdk.jpackage/Lib.gmk ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppImageBuilder.java Changeset: 6cf4cd1a Author: Coleen Phillimore Date: 2021-11-22 18:08:13 +0000 URL: https://git.openjdk.java.net/amber/commit/6cf4cd1aa46414d9af17f3704b27d0d381a17ee8 8273341: Update Siphash to version 1.0 Reviewed-by: dholmes ! src/hotspot/share/classfile/altHashing.cpp ! src/hotspot/share/classfile/altHashing.hpp Changeset: 851a3624 Author: Alexander Zuev Date: 2021-11-22 18:26:51 +0000 URL: https://git.openjdk.java.net/amber/commit/851a36247937d124e8217deaaa1a1831cba19b6e 8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ProgressIndicatorAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ProgressIndicatorAccessibility.m Changeset: 1049aba1 Author: Daniel D. Daugherty Date: 2021-11-22 19:03:30 +0000 URL: https://git.openjdk.java.net/amber/commit/1049aba1fb65fd70bd723c80a84250512a68d653 8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64 8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64 8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: 05a9a51d Author: Dean Long Date: 2021-11-22 20:50:06 +0000 URL: https://git.openjdk.java.net/amber/commit/05a9a51dbfc46eb52bc28f1f9a618c75ee2597e9 8277423: ciReplay: hidden class with comment expected error Reviewed-by: chagedorn, thartmann ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp Changeset: f62b81c3 Author: Dean Long Date: 2021-11-22 23:17:46 +0000 URL: https://git.openjdk.java.net/amber/commit/f62b81c3b5e34895e06bedec137bcef701d49df6 8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME" Reviewed-by: shade, stefank ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/vm/mlvm/hiddenloader/stress/oome/heap/Test.java Changeset: bb11c55d Author: Hamlin Li Date: 2021-11-23 00:58:03 +0000 URL: https://git.openjdk.java.net/amber/commit/bb11c55dff86706a010c93ee2cc60c87bb2d53b6 8277542: G1: Move G1CardSetFreePool and related classes to separate files Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/g1/g1CardSetMemory.cpp ! src/hotspot/share/gc/g1/g1CardSetMemory.hpp + src/hotspot/share/gc/g1/g1SegmentedArrayFreePool.cpp + src/hotspot/share/gc/g1/g1SegmentedArrayFreePool.hpp Changeset: 12f08ba4 Author: Jaikiran Pai Date: 2021-11-23 08:19:16 +0000 URL: https://git.openjdk.java.net/amber/commit/12f08ba4d47cb70a0629b17bc3639ce170309f21 8277507: Add jlink.debug system property while launching jpackage tests to help diagonize recent intermittent failures Reviewed-by: almatvee ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/HelloApp.java Changeset: e3243ee9 Author: Sergey Bylokhov Date: 2021-11-23 08:57:34 +0000 URL: https://git.openjdk.java.net/amber/commit/e3243ee963d074c892a0ed16a00fd91b440c96ac 8277087: ZipException: zip END header not found at ZipFile#Source.findEND Reviewed-by: lancea ! src/java.base/share/classes/java/util/zip/ZipOutputStream.java + test/jdk/java/util/zip/ZipOutputStream/EmptyComment.java Changeset: 79350b9b Author: Volker Simonis Date: 2021-11-23 09:15:20 +0000 URL: https://git.openjdk.java.net/amber/commit/79350b9b4f42e43a8ab27ea76b9115dae6f448af 8276216: Negated character classes performance regression in Pattern Reviewed-by: clanger ! src/java.base/share/classes/java/util/regex/Pattern.java + test/micro/org/openjdk/bench/java/util/regex/FindPattern.java Changeset: 017df140 Author: Albert Mingkun Yang Date: 2021-11-23 10:56:15 +0000 URL: https://git.openjdk.java.net/amber/commit/017df140ba65058270c5184db82162d42e42b908 8277556: Call ReferenceProcessorPhaseTimes::set_processing_is_mt once Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: 36b887a8 Author: Albert Mingkun Yang Date: 2021-11-23 10:57:29 +0000 URL: https://git.openjdk.java.net/amber/commit/36b887a885c76ddbbb1e21b32b8e7d9cc92f6ce2 8277560: Remove WorkerDataArray::_is_serial Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/shared/workerDataArray.cpp ! src/hotspot/share/gc/shared/workerDataArray.hpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp Changeset: 66eaf652 Author: Andrey Turbanov Committer: Thomas Schatzl Date: 2021-11-23 12:33:13 +0000 URL: https://git.openjdk.java.net/amber/commit/66eaf6526126eb27c18acc64c2bb0791142815c9 8277413: Remove unused local variables in jdk.hotspot.agent Reviewed-by: lmesnik, tschatzl, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/StubQueue.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugInfoBuilder.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java Changeset: 90f96fb4 Author: Tobias Hartmann Date: 2021-11-23 12:46:15 +0000 URL: https://git.openjdk.java.net/amber/commit/90f96fb4db174e50cc2510f292fe69fc995add26 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last Reviewed-by: chagedorn, neliasso ! src/hotspot/share/compiler/compileBroker.cpp Changeset: f4dc03ea Author: Erik ?sterlund Date: 2021-11-23 14:34:21 +0000 URL: https://git.openjdk.java.net/amber/commit/f4dc03ea6de327425ff265c3d2ec16ea7b0e1634 8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper Reviewed-by: pliden, stefank ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeapIterator.hpp ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/services/heapDumper.cpp Changeset: 5e7e2da2 Author: Roger Riggs Date: 2021-11-23 15:02:48 +0000 URL: https://git.openjdk.java.net/amber/commit/5e7e2da227cd2b5e2d3d1e2f59fb74ddd1835abb 8272042: java.util.ImmutableCollections$Map1 and MapN should not be @ValueBased Reviewed-by: mchung, iris, naoto, smarks ! src/java.base/share/classes/java/util/ImmutableCollections.java Changeset: 64bdc843 Author: Daniel D. Daugherty Date: 2021-11-23 15:16:15 +0000 URL: https://git.openjdk.java.net/amber/commit/64bdc843907634b24ab02b8d81a0f5048b46072c 8277649: [BACKOUT] JDK-8277507 Add jlink.debug system property while launching jpackage tests to help diagonize recent intermittent failures Reviewed-by: alanb, stefank ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/HelloApp.java Changeset: 38802ad5 Author: Christian Hagedorn Date: 2021-11-23 15:22:11 +0000 URL: https://git.openjdk.java.net/amber/commit/38802ad56a31efc90733cb75ea27f019e2c4f5a4 8254108: ciReplay: Support incremental inlining Reviewed-by: dlong, thartmann ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/ci/ciReplay.hpp ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse.hpp ! test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java + test/hotspot/jtreg/compiler/ciReplay/InliningBase.java + test/hotspot/jtreg/compiler/ciReplay/TestIncrementalInlining.java ! test/hotspot/jtreg/compiler/ciReplay/TestInliningProtectionDomain.java Changeset: 7b67a49f Author: Vicente Romero Date: 2021-11-23 15:23:23 +0000 URL: https://git.openjdk.java.net/amber/commit/7b67a49f830b71ef129a4a3a9b0d994d58587edf 8261847: performance of java.lang.Record::toString should be improved Reviewed-by: jlaskey, redestad ! src/java.base/share/classes/java/lang/runtime/ObjectMethods.java + test/langtools/tools/javac/records/BigRecordsToStringTest.java + test/micro/org/openjdk/bench/java/lang/runtime/ObjectMethods.java Changeset: 8a44e093 Author: Jan Lahoda Date: 2021-11-23 16:46:45 +0000 URL: https://git.openjdk.java.net/amber/commit/8a44e093dc3e192990fde8ab37ab08c737f06b39 8268725: jshell does not support the --enable-native-access option Reviewed-by: sundar ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties + test/langtools/jdk/jshell/ToolEnableNativeAccessTest.java Changeset: e8acac2a Author: Daniel D. Daugherty Date: 2021-11-23 17:08:31 +0000 URL: https://git.openjdk.java.net/amber/commit/e8acac2aba30e8a172ca14509220ec06e833d4af 8277350: runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java times out Reviewed-by: hseigel, dholmes, lmesnik ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java Changeset: 03206726 Author: Mandy Chung Date: 2021-11-23 17:14:59 +0000 URL: https://git.openjdk.java.net/amber/commit/032067264fd73cd2f338838d6178f8af24d228b0 8277451: java.lang.reflect.Field::set on static field with invalid argument type should throw IAE Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/reflect/FieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleBooleanFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleByteFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleCharacterFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleDoubleFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleFloatFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleIntegerFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleLongFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleObjectFieldAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/MethodHandleShortFieldAccessorImpl.java + test/jdk/java/lang/reflect/Field/NegativeTest.java ! test/jdk/java/lang/reflect/MethodHandleAccessorsTest.java Changeset: ea85e01a Author: Liam Miller-Cushon Date: 2021-11-23 18:14:47 +0000 URL: https://git.openjdk.java.net/amber/commit/ea85e01a4c8db1bc48d590abc882dc6efe5b0f4a 8271623: Omit enclosing instance fields from inner classes that don't use it Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java ! test/langtools/tools/javac/6521805/T6521805d.java ! test/langtools/tools/javac/6521805/T6521805d.out ! test/langtools/tools/javac/6521805/p/Outer.java ! test/langtools/tools/javac/ClassFileModifiers/MemberModifiers.out ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnnotatedExtendsTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassConstructorsTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateInnerClassMembersTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/AccessToPrivateSiblingsTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/BridgeMethodsForLambdaTest.java ! test/langtools/tools/javac/classfiles/attributes/Synthetic/ThisFieldTest.java ! test/langtools/tools/javac/diags/examples/ErrSyntheticNameConflict.java + test/langtools/tools/javac/optimizeOuterThis/DontOptimizeOuterThis.java + test/langtools/tools/javac/optimizeOuterThis/InnerClasses.java + test/langtools/tools/javac/optimizeOuterThis/OptimizeOuterThis.java ! test/langtools/tools/javap/AnnoTest.java Changeset: 24e586a0 Author: Andrew Leonard Date: 2021-11-23 18:28:30 +0000 URL: https://git.openjdk.java.net/amber/commit/24e586a04368a76cd9f37aa783b974b9e0351d58 8276764: Enable deterministic file content ordering for Jar and Jmod Reviewed-by: mchung, ihse ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java + test/jdk/tools/jar/ContentOrder.java ! test/jdk/tools/jmod/JmodTest.java Changeset: 7cb56a23 Author: Leonid Mesnik Date: 2021-11-23 19:27:50 +0000 URL: https://git.openjdk.java.net/amber/commit/7cb56a230dbd52935ae48fe44b4192ae3b4d7adb 8265796: vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java fails when running with JEP 416 Reviewed-by: cjplummer, mchung ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002a.java Changeset: 7b2d823e Author: Evgeny Astigeevich Committer: Paul Hohensee Date: 2021-11-23 20:05:57 +0000 URL: https://git.openjdk.java.net/amber/commit/7b2d823e842e6a66dbe46b048da44ca9e5485c75 8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found." Reviewed-by: chagedorn, aph, phh ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java Changeset: 712b8756 Author: Stefan Karlsson Date: 2021-11-24 08:25:03 +0000 URL: https://git.openjdk.java.net/amber/commit/712b8756828c88d4f71292d19fddb598d188c429 8277397: ZGC: Add JFR event for temporary latency measurements Reviewed-by: eosterlund, jbachorik, pliden, mgronlun ! src/hotspot/share/gc/z/zTracer.cpp ! src/hotspot/share/gc/z/zTracer.hpp ! src/hotspot/share/gc/z/zTracer.inline.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: 6d734604 Author: Stefan Karlsson Date: 2021-11-24 08:26:22 +0000 URL: https://git.openjdk.java.net/amber/commit/6d734604a38447d81df36f4d4ca57ce71bd570af 8277399: ZGC: Move worker thread logging out of gc+phase=debug Reviewed-by: eosterlund, pliden ! src/hotspot/share/gc/z/zStat.cpp Changeset: d085c2b8 Author: Jan Lahoda Date: 2021-11-24 10:07:49 +0000 URL: https://git.openjdk.java.net/amber/commit/d085c2b8a790a5ddfbb01a0ea4edd4051cfb704b 8273328: Compiler implementation for Pattern Matching for switch (Second Preview) Reviewed-by: vromero, mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! test/langtools/tools/javac/patterns/Domination.java ! test/langtools/tools/javac/patterns/Domination.out ! test/langtools/tools/javac/patterns/EnumTypeChanges.java ! test/langtools/tools/javac/patterns/Exhaustiveness.java ! test/langtools/tools/javac/patterns/SwitchErrors.java ! test/langtools/tools/javac/patterns/SwitchErrors.out ! test/langtools/tools/javac/patterns/Switches.java Changeset: 8a8bc29f Author: Ludvig Janiuk Committer: Nils Eliasson Date: 2021-11-24 11:03:07 +0000 URL: https://git.openjdk.java.net/amber/commit/8a8bc29f203fa4aaa29303a778fd388e32ca651a 8277562: Remove dead method c1 If::swap_sux Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_Instruction.hpp Changeset: 17e68caa Author: KIRIYAMA Takuya Committer: Tobias Hartmann Date: 2021-11-24 11:22:43 +0000 URL: https://git.openjdk.java.net/amber/commit/17e68caad727b04f5e7efde59fce960c66558504 8277042: add test for 8276036 to compiler/codecache Reviewed-by: chagedorn, thartmann + test/hotspot/jtreg/compiler/codecache/CodeCacheFullCountTest.java Changeset: 96e36071 Author: Maurizio Cimadamore Date: 2021-11-24 11:51:16 +0000 URL: https://git.openjdk.java.net/amber/commit/96e36071b63b624d56739b014b457ffc48147c4f 8275063: Implementation of Foreign Function & Memory API (Second incubator) Reviewed-by: erikj, psandoz, jvernee, darcy ! make/test/JtregNativeJdk.gmk ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java ! src/java.base/share/classes/java/nio/Buffer.java ! src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java ! src/java.base/share/classes/jdk/internal/access/JavaNioAccess.java ! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java ! src/java.base/share/classes/sun/nio/ch/IOUtil.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Addressable.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/FunctionDescriptor.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAccess.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryHandles.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/NativeSymbol.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ResourceScope.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SegmentAllocator.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/VaList.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/CABI.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ConfinedScope.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/NativeMemorySegmentImpl.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/NativeSymbolImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/PlatformLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ResourceScopeImpl.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Scoped.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SharedScope.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/Binding.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/BufferLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequence.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableInvoker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableUpcallHandler.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallHandler.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallStubs.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVVaList.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64Linker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/TypeClass.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/TypeClass.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/WinVaList.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64Linker.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestLinkToNativeRBP.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/NativeTestHelper.java ! test/jdk/java/foreign/SafeFunctionAccessTest.java ! test/jdk/java/foreign/StdLibTest.java ! test/jdk/java/foreign/TestAdaptVarHandles.java - test/jdk/java/foreign/TestAddressHandle.java + test/jdk/java/foreign/TestArrayCopy.java ! test/jdk/java/foreign/TestArrays.java ! test/jdk/java/foreign/TestByteBuffer.java - test/jdk/java/foreign/TestCircularInit1.java - test/jdk/java/foreign/TestCircularInit2.java ! test/jdk/java/foreign/TestCondy.java ! test/jdk/java/foreign/TestDowncall.java ! test/jdk/java/foreign/TestFree.java ! test/jdk/java/foreign/TestFunctionDescriptor.java ! test/jdk/java/foreign/TestHandshake.java ! test/jdk/java/foreign/TestIllegalLink.java ! test/jdk/java/foreign/TestIntrinsics.java - test/jdk/java/foreign/TestLayoutAttributes.java ! test/jdk/java/foreign/TestLayoutConstants.java ! test/jdk/java/foreign/TestLayoutEquality.java ! test/jdk/java/foreign/TestLayoutPaths.java ! test/jdk/java/foreign/TestLayouts.java ! test/jdk/java/foreign/TestMemoryAccess.java + test/jdk/java/foreign/TestMemoryAccessInstance.java - test/jdk/java/foreign/TestMemoryAccessStatics.java ! test/jdk/java/foreign/TestMemoryAlignment.java - test/jdk/java/foreign/TestMemoryCopy.java + test/jdk/java/foreign/TestMemoryDereference.java ! test/jdk/java/foreign/TestMemoryHandleAsUnsigned.java ! test/jdk/java/foreign/TestMismatch.java ! test/jdk/java/foreign/TestNULLAddress.java ! test/jdk/java/foreign/TestNative.java ! test/jdk/java/foreign/TestNoForeignUnsafeOverride.java ! test/jdk/java/foreign/TestNulls.java - test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestReshape.java ! test/jdk/java/foreign/TestResourceScope.java ! test/jdk/java/foreign/TestRestricted.java ! test/jdk/java/foreign/TestScopedOperations.java ! test/jdk/java/foreign/TestSegmentAllocators.java + test/jdk/java/foreign/TestSegmentCopy.java + test/jdk/java/foreign/TestSegmentOffset.java + test/jdk/java/foreign/TestSegmentOverlap.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java ! test/jdk/java/foreign/TestSlices.java ! test/jdk/java/foreign/TestSpliterator.java ! test/jdk/java/foreign/TestStringEncoding.java ! test/jdk/java/foreign/TestSymbolLookup.java ! test/jdk/java/foreign/TestTypeAccess.java ! test/jdk/java/foreign/TestUnsupportedPlatform.java ! test/jdk/java/foreign/TestUpcall.java ! test/jdk/java/foreign/TestUpcallException.java ! test/jdk/java/foreign/TestUpcallHighArity.java ! test/jdk/java/foreign/TestUpcallStructScope.java ! test/jdk/java/foreign/TestVarArgs.java ! test/jdk/java/foreign/TestVarHandleCombinators.java ! test/jdk/java/foreign/ThrowingUpcall.java ! test/jdk/java/foreign/callarranger/TestAarch64CallArranger.java ! test/jdk/java/foreign/callarranger/TestWindowsCallArranger.java ! test/jdk/java/foreign/channels/AbstractChannelsTest.java ! test/jdk/java/foreign/channels/TestAsyncSocketChannels.java ! test/jdk/java/foreign/channels/TestSocketChannels.java ! test/jdk/java/foreign/enablenativeaccess/org/openjdk/foreigntest/PanamaMainUnnamedModule.java ! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMain.java ! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainInvoke.java ! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainReflection.java ! test/jdk/java/foreign/handles/invoker_module/handle/invoker/MethodHandleInvoker.java ! test/jdk/java/foreign/handles/lookup_module/handle/lookup/MethodHandleLookup.java + test/jdk/java/foreign/libAsyncInvokers.cpp ! test/jdk/java/foreign/libIntrinsics.c ! test/jdk/java/foreign/libSafeAccess.c + test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java + test/jdk/java/foreign/loaderLookup/invoker/Invoker.java + test/jdk/java/foreign/loaderLookup/lookup/Lookup.java + test/jdk/java/foreign/loaderLookup/lookup/libFoo.c ! test/jdk/java/foreign/malloc/TestMixedMallocFree.java ! test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java ! test/jdk/java/foreign/stackwalk/TestStackWalk.java ! test/jdk/java/foreign/valist/VaListTest.java ! test/jdk/java/foreign/virtual/TestVirtualCalls.java ! test/jdk/java/lang/invoke/VarHandles/VarHandleTestExact.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SegmentTestDataProvider.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/BulkMismatchAcquire.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/BulkOps.java + test/micro/org/openjdk/bench/jdk/incubator/foreign/CLayouts.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadConstant.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadHelper.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadVirtual.java + test/micro/org/openjdk/bench/jdk/incubator/foreign/JNICB.h + test/micro/org/openjdk/bench/jdk/incubator/foreign/JNICB.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverConstant.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNew.java + test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNewHeap.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstant.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantFP.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantHeap.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantMapped.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantShared.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedBuffer.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedSegments.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/ParallelSum.java + test/micro/org/openjdk/bench/jdk/incubator/foreign/QSort.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/StrLenTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/TestAdaptVarHandles.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/TestLoadBytes.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/UnrolledAccess.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/Upcalls.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/VaList.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/VarHandleExact.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverhead.c + test/micro/org/openjdk/bench/jdk/incubator/foreign/libJNICB.c + test/micro/org/openjdk/bench/jdk/incubator/foreign/libQSort.c + test/micro/org/openjdk/bench/jdk/incubator/foreign/libQSortJNI.c ! test/micro/org/openjdk/bench/jdk/incubator/foreign/libUpcallsJNI.c ! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java ! test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadStoreBytes.java ! test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadStoreShort.java Changeset: cf7adae6 Author: Thomas Stuefe Date: 2021-11-24 12:12:23 +0000 URL: https://git.openjdk.java.net/amber/commit/cf7adae6333c7446048ef0364737927337631f63 8275320: NMT should perform buffer overrun checks 8275320: NMT should perform buffer overrun checks 8275301: Unify C-heap buffer overrun checks into NMT Reviewed-by: simonis, zgu ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/mallocSiteTable.cpp ! src/hotspot/share/services/mallocSiteTable.hpp ! src/hotspot/share/services/mallocTracker.cpp ! src/hotspot/share/services/mallocTracker.hpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/utilities/debug.cpp + test/hotspot/gtest/nmt/test_nmt_buffer_overflow_detection.cpp ! test/hotspot/gtest/testutils.cpp ! test/hotspot/gtest/testutils.hpp ! test/hotspot/gtest/unittest.hpp Changeset: 0384739a Author: Roger Riggs Date: 2021-11-24 15:14:22 +0000 URL: https://git.openjdk.java.net/amber/commit/0384739afc2d470ab6a3525e9d85aca0af58f2ed 8276665: ObjectInputStream.GetField.get(name, object) should throw ClassNotFoundException Reviewed-by: naoto, lancea, smarks ! src/java.base/share/classes/java/io/ObjectInputStream.java + test/jdk/java/io/Serializable/GetField/ReadFieldsCNF.java Changeset: 663e33de Author: Christian Stein Committer: Jonathan Gibbons Date: 2021-11-24 16:50:25 +0000 URL: https://git.openjdk.java.net/amber/commit/663e33de13788586fa49bd9816bd148e58ad1031 8272728: javac ignores any -J option in @argfiles silently Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! test/langtools/tools/javac/options/modes/AtFilesTest.java Changeset: 951247c8 Author: Adam Sotona Date: 2021-11-24 17:03:53 +0000 URL: https://git.openjdk.java.net/amber/commit/951247c8cb4ea898bf7c188bed8e143ca7417c83 8235876: Misleading warning message in java source-file mode Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java Changeset: 077b2de0 Author: Andrey Turbanov Committer: Vicente Romero Date: 2021-11-24 18:47:50 +0000 URL: https://git.openjdk.java.net/amber/commit/077b2de088665b907dbfc2b0522a1e109d1d2ca3 8274161: Cleanup redundant casts in jdk.compiler Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java Changeset: 96fe1d0d Author: Leonid Mesnik Date: 2021-11-24 20:11:18 +0000 URL: https://git.openjdk.java.net/amber/commit/96fe1d0d4d95d87950ff2ecec570a927d831746e 8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL" Reviewed-by: sspitsyn, dholmes ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp Changeset: e785f699 Author: Pavel Rappo Date: 2021-11-24 20:13:06 +0000 URL: https://git.openjdk.java.net/amber/commit/e785f699614abc8d557be8fc1782a1f86f272430 8276124: Provide snippet support for properties files Co-authored-by: Jonathan Gibbons Co-authored-by: Hannes Walln?fer Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SnippetTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/snippet/Parser.java ! test/langtools/jdk/javadoc/doclet/testSnippetTag/SnippetTester.java + test/langtools/jdk/javadoc/doclet/testSnippetTag/TestLangProperties.java Changeset: b5841ba3 Author: Lance Andersen Date: 2021-11-24 20:42:29 +0000 URL: https://git.openjdk.java.net/amber/commit/b5841ba3f3d079f3cfee532a4e7f23b00f5cd063 8277806: 4 tools/jar failures per platform after JDK-8272728 Reviewed-by: alanb, jjg ! test/jdk/tools/jar/modularJar/Basic.java ! test/jdk/tools/jar/multiRelease/MRTestBase.java Changeset: 26472bd3 Author: Daniel D. Daugherty Date: 2021-11-24 22:27:24 +0000 URL: https://git.openjdk.java.net/amber/commit/26472bd3bd8788b0839e2871ed220e438fb6d608 8277811: ProblemList vmTestbase/nsk/jdi/TypeComponent/isSynthetic/issynthetic001/TestDescription.java 8277813: ProblemList vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/TestDescription.java Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: a81e4fc0 Author: Jaikiran Pai Date: 2021-11-25 02:12:03 +0000 URL: https://git.openjdk.java.net/amber/commit/a81e4fc07b654a3cc954921981d9d3c0cfd8bcec 8258117: jar tool sets the time stamp of module-info.class entries to the current time Reviewed-by: lancea, ihse, alanb ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java + test/jdk/tools/jar/modularJar/JarToolModuleDescriptorReproducibilityTest.java Changeset: 21e302a0 Author: Daniel D. Daugherty Date: 2021-11-25 04:27:21 +0000 URL: https://git.openjdk.java.net/amber/commit/21e302a0f4cbf3ace907c36d871a2f2cf6277188 8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/Monitor/MonitorUsedDeflationThresholdTest.java Changeset: f0136ec9 Author: Fairoz Matte Committer: Christian Hagedorn Date: 2021-11-25 08:37:31 +0000 URL: https://git.openjdk.java.net/amber/commit/f0136ec94539d0e30ec11d44f8143196da1f7125 8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException Reviewed-by: iklam, chagedorn ! test/hotspot/jtreg/runtime/CommandLine/PrintTouchedMethodsJcmd.java Changeset: 3034ae87 Author: Erik ?sterlund Date: 2021-11-25 09:50:43 +0000 URL: https://git.openjdk.java.net/amber/commit/3034ae87ce4b94c7dc40cfb5a96d6d1e87910bbf 8277631: ZGC: CriticalMetaspaceAllocation asserts Reviewed-by: pliden, stefank, dholmes ! src/hotspot/share/memory/metaspaceCriticalAllocation.cpp ! test/hotspot/jtreg/vmTestbase/gc/gctests/LoadUnloadGC/LoadUnloadGC.java Changeset: f7888349 Author: Ivan Walulya Date: 2021-11-25 14:10:51 +0000 URL: https://git.openjdk.java.net/amber/commit/f788834998eeb9083e971857446321ed173aa916 8277786: G1: Rename log2_card_region_per_heap_region used in G1CardSet Reviewed-by: ayang, tschatzl, mli ! src/hotspot/share/gc/g1/g1CardSet.cpp ! src/hotspot/share/gc/g1/g1CardSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: 98799204 Author: Albert Mingkun Yang Date: 2021-11-25 14:54:48 +0000 URL: https://git.openjdk.java.net/amber/commit/987992042454f92936d3efbd01e7beb921e3b70e 8277825: Remove unused ReferenceProcessorPhaseTimes::_sub_phases_total_time_ms Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Changeset: b3087535 Author: duke Date: 2021-11-25 22:02:00 +0000 URL: https://git.openjdk.java.net/amber/commit/b30875357c9a60a63d5d91f7ead428ad7b378840 Automatic merge of master into stats-before-this-super ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java From dcrystalmails at gmail.com Mon Nov 29 20:04:19 2021 From: dcrystalmails at gmail.com (Dimitris Paltatzidis) Date: Mon, 29 Nov 2021 22:04:19 +0200 Subject: Final variable initialization problem with exhaustive switch Message-ID: Consider the case: enum Parity {ODD, EVEN} Parity p = ... final int a; switch (p) { case Parity.ODD -> a = 1; case Parity.EVEN -> a = 0; } int b = a + 1; //Compile time error: variable a might not have been initialized The switch is exhaustive, yet we need to add a default case to compile. The same behaviour is observed with instance final fields too. Without changing the semantics, the code below compiles: final int a = switch (p) { case Parity.ODD -> 1; case Parity.EVEN -> 0; }; int b = a + 1; //Compiles How can the compiler prove that the final variable will be initialized only in the second case and not in the first too? Thanks for your time. From matthias.perktold at asaon.com Wed Nov 24 08:23:18 2021 From: matthias.perktold at asaon.com (Matthias Perktold - ASA) Date: Wed, 24 Nov 2021 08:23:18 +0000 Subject: Switch on sealed enums Message-ID: I've played around with sealed interfaces implemented by multiple enums only, and I've found some inconveniences I wanted to share here. Consider the following class hierarchy: sealed interface Token { enum Digit implements Token { ONE, TWO, THREE } enum Letter implements Token { A, B, C } } I can use a nested switch expression to cover all cases: static String toStringNested(Token token) { return switch (token) { case Digit d -> switch (d) { case ONE -> "1"; case TWO -> "2"; case THREE -> "3"; }; case Letter l -> switch (l) { case A -> "A"; case B -> "B"; case C -> "C"; }; }; } I thought that in theory, I should be able to use a single, flattened switch that covers all digits and all letters: static String toStringFlat(Token token) { return switch (token) { case ONE -> "1"; case TWO -> "2"; case THREE -> "3"; case A -> "A"; case B -> "B"; case C -> "C"; }; } This is probably deliberately not supported (yet). Anyway, here are my findings: 1. The compiler requires that the enum constants be unqualified. But since we have multiple enums here, just leaving the enum away doesn't work either; we need to add static imports: import static package.to.Token.Digit.*; import static package.to.Token.Letter.*; 2. The compiler cannot figure out that the switch is exhaustive, even if we do cover all cases. We need to add a default case to fix this compiler error. 3. With the default case added, the code still doesn't compile (my IDE thinks it does); We get an error "constant expression required" for each case. In case you wonder why one would use sealed hierarchies of enums, it probably makes more sense to think about these as "enums with subgroups". Using this approach, you can model more precisely that a method accepts or returns only a subset of the cases, but a logical coherent subset. One special reason of grouping enum constants is the use of generics: we could extend our hierarchy as follows: sealed interface Token { T value(); enum Digit implements Token { ONE, TWO, THREE; @Override public Integer value() { ... } } enum Letter implements Token { A, B, C; @Override public Character value() { ... } } } This could also be seen as a workaround for JEP 301: "Enhanced Enums", but a very good one in my opinion. Only when every enum constant needs a different type argument (as in the JEP's examples), you would need to wrap each constant in its own enum. Overall, I think there are good places for such groupings of enums. And it would help if they could be used just like a single enum inside switch. Cheers, Matthias Perktold From john.r.rose at oracle.com Tue Nov 30 07:20:28 2021 From: john.r.rose at oracle.com (John Rose) Date: Tue, 30 Nov 2021 07:20:28 +0000 Subject: Final variable initialization problem with exhaustive switch In-Reply-To: References: Message-ID: <46A83FE8-BB16-4DA0-B6C9-AD398E1C6DBA@oracle.com> On Nov 29, 2021, at 12:04 PM, Dimitris Paltatzidis > wrote: How can the compiler prove that the final variable will be initialized only in the second case and not in the first too? That differing treatment of definite assignment seems like it should be a bug, right? But it?s not. In fact, your switch expression can (under certain circumstances) execute correctly without executing either of its case branches. Switch expressions are inherently exhaustive across their cases. Switch statements are not. This is a key difference. You can see this if you take your code and comment out one of the cases, say for Parity.EVEN. The switch expression errors out at compile time, but the switch statement is a happy camper. Or, if someone comes along and adds a third member to Parity (say, NEITHER) then your switch expression will either fail to compile statically or (if not recompiled) will fail to terminate normally at runtime (throwing something). Meanwhile, the corresponding switch statement will happily recompile, and (whether recompiled or not) will fall through when Parity.NEITHER is presented. In that case, the variable in question will not have been initialized. This is a problem with legacy switch statements. I?m not sure what the solution will be, although I know various alternatives have been discussed at some point. The problem is that the language cannot read the user?s mind, when it finds that (a) an enum is the subject of a switch statement but (b) not all members of the enum are mentioned in the cases. Is it an error in a switch that was intended to be exhaustive? Or is it just that the user (that lazy user!) didn?t want to mention cases which needed no-op actions? ? John From dcrystalmails at gmail.com Tue Nov 30 12:49:27 2021 From: dcrystalmails at gmail.com (Dimitris Paltatzidis) Date: Tue, 30 Nov 2021 14:49:27 +0200 Subject: Final variable initialization problem with exhaustive switch In-Reply-To: <46A83FE8-BB16-4DA0-B6C9-AD398E1C6DBA@oracle.com> References: <46A83FE8-BB16-4DA0-B6C9-AD398E1C6DBA@oracle.com> Message-ID: > > seems like > it should be a bug, right? But it?s not. > Agree, it is just playing it too safe. We can translate the above switch statement into an if, without losing the semantics: if (p == Parity.ODD) { a = 1; } else if (p == Parity.EVEN) { a = 0; } int b = a + 1; //Compile time error: variable a might not have been initialized The above if is exhaustive, yet no one expects last statement to compile, and that is totally fine. So, reducing the switch to the above if, makes it clear why the compiler can't guarantee about the switch too. But, maybe it should. You see, to let the above if compile is an overkill, but with the switch, we have the notion of its context, and especially with enums and sealed types, we can take it a step further and make assumptions about its exhaustiveness. The switch expression guarantees initialization of final variables, based on whether it compiles or not, which by itself depends on its exhaustiveness. The switch statement does not have to be exhaustive to compile and therefore there isn't here that compilation barrier that guarantees the initialization. But, that doesn't have to be the case. Our switch statement in question is *Effectively *exhaustive. So, the compiler doesn't need to prove that a switch statement is exhaustive, it is sufficient to just prove that it is effectively exhaustive. It is similar to the effectively final variables we have with lambdas. Of Course, at the end of the day, it's not about exhaustiveness, it's about having a branch that is guaranteed to perform the initialization. That is what we are effectively trying to prove. Lately, the switch has been greatly enhanced, especially in the exhaustiveness department. Getting the switch statement on track in that aspect, seems more consistent. ???? ???, 30 ??? 2021 ???? 9:20 ?.?., ?/? John Rose ??????: > On Nov 29, 2021, at 12:04 PM, Dimitris Paltatzidis < > dcrystalmails at gmail.com> wrote: > > > How can the compiler prove that the final variable will be initialized only > in the second case and not in the first too? > > > That differing treatment of definite assignment seems like > it should be a bug, right? But it?s not. In fact, your switch > expression can (under certain circumstances) execute > correctly without executing either of its case branches. > > Switch expressions are inherently exhaustive across their cases. > Switch statements are not. This is a key difference. > > You can see this if you take your code and comment out > one of the cases, say for Parity.EVEN. The switch expression > errors out at compile time, but the switch statement is a > happy camper. > > Or, if someone comes along and adds a third member to Parity > (say, NEITHER) then your switch expression will either fail to > compile statically or (if not recompiled) will fail to terminate > normally at runtime (throwing something). > > Meanwhile, the corresponding switch statement will happily > recompile, and (whether recompiled or not) will fall through > when Parity.NEITHER is presented. In that case, the variable > in question will not have been initialized. > > This is a problem with legacy switch statements. I?m not sure > what the solution will be, although I know various alternatives > have been discussed at some point. The problem is that the > language cannot read the user?s mind, when it finds that > (a) an enum is the subject of a switch statement but (b) not > all members of the enum are mentioned in the cases. Is it > an error in a switch that was intended to be exhaustive? > Or is it just that the user (that lazy user!) didn?t want to > mention cases which needed no-op actions? > > ? John > From brian.goetz at oracle.com Tue Nov 30 15:39:05 2021 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 30 Nov 2021 15:39:05 +0000 Subject: Final variable initialization problem with exhaustive switch In-Reply-To: References: <46A83FE8-BB16-4DA0-B6C9-AD398E1C6DBA@oracle.com> Message-ID: <2DECA25D-B274-4899-B7BE-8203726AE90A@oracle.com> This is a sensible-seeming and well-intentioned argument, but it is unfortunately not correct. The problem is one of separate compilation. At compile time, there are only two enum constants, EVEN and ODD, but at run time, there may be more (someone could edit Parity to add INDETERMINATE, and not recompile the client code.) If such a novel constant shows up at runtime, the program semantics are subverted. Combine this with the fact that historically, switch statements are inherently partial; the switch you wrote currently *has a meaning*, which is if a novel value shows up, do neither of the actions. This might be a ?dumb? meaning, but it is the meaning existing switches have, and we can?t arbitrarily change it. What you are arguing is that we made bad decisions in 1995 by allowing partial switches at all; while I might agree with that, in hindsight, it was ?obvious? in 1995 that partiality was an inherent aspect of switch statements (because, C.) When we added switch *expressions*, totality was a forced move (and a good one); when we extended switches to support patterns, we made the bold move (which will annoy some) to require that non-legacy switch STATEMENTS also be total. But we can?t rewrite history. We toyed with the idea of having a modifier on switch (e.g. ?total-switch?) which would engage the totality checking, but the return here seemed weak; it would only work if people changed their code. We could over a decade possibly nudge pattern switches towards totality, with a gradually increasing set of warnings which eventually became errors, and we might do that, but let?s not kid ourselves that this is a very long road. We are largely in a no-win situation; we can either have newer constructs inherit the mistakes of the past, or live with some seam of ?old? switches working slightly differently. We can try to move that seam around, but its hard to have it all. Your claim of ?inconsistency? illustrates that fact, but if you had consistency, you wouldn?t like it, because we?d have to be consistent with the bad old behavior. Of course, whether this is ?too? safe is a matter of opinion. It is a popular viewpoint to say ?but its wrong, just go ahead and break other people?s code, its good for them.? But people won?t thank you for educating them; not doing so (or doing so only very, very carefully) is how Java stays popular. So while I might call it unfortunate, it?s not ?too? safe; its just safe. > On Nov 30, 2021, at 7:49 AM, Dimitris Paltatzidis wrote: > >> >> seems like >> it should be a bug, right? But it?s not. >> > > Agree, it is just playing it too safe. > > We can translate the above switch statement into an if, without losing the > semantics: > > if (p == Parity.ODD) { > a = 1; > } else if (p == Parity.EVEN) { > a = 0; > } > int b = a + 1; //Compile time error: variable a might not have been > initialized > > The above if is exhaustive, yet no one expects last statement to compile, > and that is totally fine. > So, reducing the switch to the above if, makes it clear why the compiler > can't guarantee about the switch too. > But, maybe it should. You see, to let the above if compile is an overkill, > but with the switch, we have the notion > of its context, and especially with enums and sealed types, we can take it > a step further and make assumptions > about its exhaustiveness. > > The switch expression guarantees initialization of final variables, based > on whether it compiles or not, which by > itself depends on its exhaustiveness. > The switch statement does not have to be exhaustive to compile and > therefore there isn't here that compilation > barrier that guarantees the initialization. But, that doesn't have to be > the case. Our switch statement in question > is *Effectively *exhaustive. So, the compiler doesn't need to prove that a > switch statement is exhaustive, it is > sufficient to just prove that it is effectively exhaustive. It is similar > to the effectively final variables we have with > lambdas. > > Of Course, at the end of the day, it's not about exhaustiveness, it's about > having a branch that is guaranteed > to perform the initialization. That is what we are effectively trying to > prove. > > Lately, the switch has been greatly enhanced, especially in the > exhaustiveness department. Getting the > switch statement on track in that aspect, seems more consistent. > > ???? ???, 30 ??? 2021 ???? 9:20 ?.?., ?/? John Rose > ??????: > >> On Nov 29, 2021, at 12:04 PM, Dimitris Paltatzidis < >> dcrystalmails at gmail.com> wrote: >> >> >> How can the compiler prove that the final variable will be initialized only >> in the second case and not in the first too? >> >> >> That differing treatment of definite assignment seems like >> it should be a bug, right? But it?s not. In fact, your switch >> expression can (under certain circumstances) execute >> correctly without executing either of its case branches. >> >> Switch expressions are inherently exhaustive across their cases. >> Switch statements are not. This is a key difference. >> >> You can see this if you take your code and comment out >> one of the cases, say for Parity.EVEN. The switch expression >> errors out at compile time, but the switch statement is a >> happy camper. >> >> Or, if someone comes along and adds a third member to Parity >> (say, NEITHER) then your switch expression will either fail to >> compile statically or (if not recompiled) will fail to terminate >> normally at runtime (throwing something). >> >> Meanwhile, the corresponding switch statement will happily >> recompile, and (whether recompiled or not) will fall through >> when Parity.NEITHER is presented. In that case, the variable >> in question will not have been initialized. >> >> This is a problem with legacy switch statements. I?m not sure >> what the solution will be, although I know various alternatives >> have been discussed at some point. The problem is that the >> language cannot read the user?s mind, when it finds that >> (a) an enum is the subject of a switch statement but (b) not >> all members of the enum are mentioned in the cases. Is it >> an error in a switch that was intended to be exhaustive? >> Or is it just that the user (that lazy user!) didn?t want to >> mention cases which needed no-op actions? >> >> ? John >> From forax at univ-mlv.fr Tue Nov 30 16:01:34 2021 From: forax at univ-mlv.fr (Remi Forax) Date: Tue, 30 Nov 2021 17:01:34 +0100 (CET) Subject: Final variable initialization problem with exhaustive switch In-Reply-To: <2DECA25D-B274-4899-B7BE-8203726AE90A@oracle.com> References: <46A83FE8-BB16-4DA0-B6C9-AD398E1C6DBA@oracle.com> <2DECA25D-B274-4899-B7BE-8203726AE90A@oracle.com> Message-ID: <2114088805.1256409.1638288094432.JavaMail.zimbra@u-pem.fr> ----- Original Message ----- > From: "Brian Goetz" > To: "Dimitris Paltatzidis" > Cc: "John Rose" , "amber-dev" > Sent: Mardi 30 Novembre 2021 16:39:05 > Subject: Re: Final variable initialization problem with exhaustive switch > This is a sensible-seeming and well-intentioned argument, but it is > unfortunately not correct. > > The problem is one of separate compilation. At compile time, there are only two > enum constants, EVEN and ODD, but at run time, there may be more (someone could > edit Parity to add INDETERMINATE, and not recompile the client code.) If such > a novel constant shows up at runtime, the program semantics are subverted. > > Combine this with the fact that historically, switch statements are inherently > partial; the switch you wrote currently *has a meaning*, which is if a novel > value shows up, do neither of the actions. This might be a ?dumb? meaning, but > it is the meaning existing switches have, and we can?t arbitrarily change it. > > What you are arguing is that we made bad decisions in 1995 by allowing partial > switches at all; while I might agree with that, in hindsight, it was ?obvious? > in 1995 that partiality was an inherent aspect of switch statements (because, > C.) When we added switch *expressions*, totality was a forced move (and a good > one); when we extended switches to support patterns, we made the bold move > (which will annoy some) to require that non-legacy switch STATEMENTS also be > total. But we can?t rewrite history. > > We toyed with the idea of having a modifier on switch (e.g. ?total-switch?) > which would engage the totality checking, but the return here seemed weak; it > would only work if people changed their code. We could over a decade possibly > nudge pattern switches towards totality, with a gradually increasing set of > warnings which eventually became errors, and we might do that, but let?s not > kid ourselves that this is a very long road. It's a long road but any stations along that road is a better place than the one we are currently. Dimitris send me the code privately before and ask me if it was a bug or not. I answer that it was a bug, I was wrong. I'm pretty sure Dimitris and me are not the only ones to fall into that trap. Adding a warning requiring a default might be a good step forward, even if we never do more than that. > > We are largely in a no-win situation; we can either have newer constructs > inherit the mistakes of the past, or live with some seam of ?old? switches > working slightly differently. We can try to move that seam around, but its > hard to have it all. Your claim of ?inconsistency? illustrates that fact, but > if you had consistency, you wouldn?t like it, because we?d have to be > consistent with the bad old behavior. > > Of course, whether this is ?too? safe is a matter of opinion. It is a popular > viewpoint to say ?but its wrong, just go ahead and break other people?s code, > its good for them.? But people won?t thank you for educating them; not doing > so (or doing so only very, very carefully) is how Java stays popular. So while > I might call it unfortunate, it?s not ?too? safe; its just safe. Fortunately, a warning does not break the code. R?mi > >> On Nov 30, 2021, at 7:49 AM, Dimitris Paltatzidis >> wrote: >> >>> >>> seems like >>> it should be a bug, right? But it?s not. >>> >> >> Agree, it is just playing it too safe. >> >> We can translate the above switch statement into an if, without losing the >> semantics: >> >> if (p == Parity.ODD) { >> a = 1; >> } else if (p == Parity.EVEN) { >> a = 0; >> } >> int b = a + 1; //Compile time error: variable a might not have been >> initialized >> >> The above if is exhaustive, yet no one expects last statement to compile, >> and that is totally fine. >> So, reducing the switch to the above if, makes it clear why the compiler >> can't guarantee about the switch too. >> But, maybe it should. You see, to let the above if compile is an overkill, >> but with the switch, we have the notion >> of its context, and especially with enums and sealed types, we can take it >> a step further and make assumptions >> about its exhaustiveness. >> >> The switch expression guarantees initialization of final variables, based >> on whether it compiles or not, which by >> itself depends on its exhaustiveness. >> The switch statement does not have to be exhaustive to compile and >> therefore there isn't here that compilation >> barrier that guarantees the initialization. But, that doesn't have to be >> the case. Our switch statement in question >> is *Effectively *exhaustive. So, the compiler doesn't need to prove that a >> switch statement is exhaustive, it is >> sufficient to just prove that it is effectively exhaustive. It is similar >> to the effectively final variables we have with >> lambdas. >> >> Of Course, at the end of the day, it's not about exhaustiveness, it's about >> having a branch that is guaranteed >> to perform the initialization. That is what we are effectively trying to >> prove. >> >> Lately, the switch has been greatly enhanced, especially in the >> exhaustiveness department. Getting the >> switch statement on track in that aspect, seems more consistent. >> >> ???? ???, 30 ??? 2021 ???? 9:20 ?.?., ?/? John Rose >> ??????: >> >>> On Nov 29, 2021, at 12:04 PM, Dimitris Paltatzidis < >>> dcrystalmails at gmail.com> wrote: >>> >>> >>> How can the compiler prove that the final variable will be initialized only >>> in the second case and not in the first too? >>> >>> >>> That differing treatment of definite assignment seems like >>> it should be a bug, right? But it?s not. In fact, your switch >>> expression can (under certain circumstances) execute >>> correctly without executing either of its case branches. >>> >>> Switch expressions are inherently exhaustive across their cases. >>> Switch statements are not. This is a key difference. >>> >>> You can see this if you take your code and comment out >>> one of the cases, say for Parity.EVEN. The switch expression >>> errors out at compile time, but the switch statement is a >>> happy camper. >>> >>> Or, if someone comes along and adds a third member to Parity >>> (say, NEITHER) then your switch expression will either fail to >>> compile statically or (if not recompiled) will fail to terminate >>> normally at runtime (throwing something). >>> >>> Meanwhile, the corresponding switch statement will happily >>> recompile, and (whether recompiled or not) will fall through >>> when Parity.NEITHER is presented. In that case, the variable >>> in question will not have been initialized. >>> >>> This is a problem with legacy switch statements. I?m not sure >>> what the solution will be, although I know various alternatives >>> have been discussed at some point. The problem is that the >>> language cannot read the user?s mind, when it finds that >>> (a) an enum is the subject of a switch statement but (b) not >>> all members of the enum are mentioned in the cases. Is it >>> an error in a switch that was intended to be exhaustive? >>> Or is it just that the user (that lazy user!) didn?t want to >>> mention cases which needed no-op actions? >>> >>> ? John