From gnu.andrew at redhat.com Mon Aug 3 17:12:50 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 3 Aug 2020 18:12:50 +0100 Subject: [RFR] [8u] 8u272-b01 Upstream Sync Message-ID: <20200803171250.GA263856@stopbrexit> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/root/merge.changeset Changes in aarch64-shenandoah-jdk8u272-b01: - JDK-8006205: [TESTBUG] NEED_TEST: please JTREGIFY test/compiler/7177917/Test7177917.java - JDK-8031625: javadoc problems referencing inner class constructors - JDK-8035493: JVMTI PopFrame capability must instruct compilers not to prune locals - JDK-8036088: Replace strtok() with its safe equivalent strtok_s() in DefaultProxySelector.c - JDK-8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails - JDK-8075774: Small readability and performance improvements for zipfs - JDK-8132206: move ScanTest.java into OpenJDK - JDK-8132376: Add @requires os.family to the client tests with access to internal OS-specific API - JDK-8132745: minor cleanup of java/util/Scanner/ScanTest.java - JDK-8137087: [TEST_BUG] Cygwin failure of java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh - JDK-8145808: java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java hangs on Win. 8 - JDK-8151788: NullPointerException from ntlm.Client.type3 - JDK-8151834: Test SmallPrimeExponentP.java times out intermittently - JDK-8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout - JDK-8153583: Make OutputAnalyzer.reportDiagnosticSummary public - JDK-8156169: Some sound tests rarely hangs because of incorrect synchronization - JDK-8165936: Potential Heap buffer overflow when seaching timezone info files - JDK-8166148: Fix for JDK-8165936 broke solaris builds - JDK-8167300: Scheduling failures during gcm should be fatal - JDK-8167615: Opensource unit/regression tests for JavaSound - JDK-8172012: [TEST_BUG] delays needed in javax/swing/JTree/4633594/bug4633594.java - JDK-8177628: Opensource unit/regression tests for ImageIO - JDK-8183341: Better cleanup for javax/imageio/AllowSearch.java - JDK-8183351: Better cleanup for jdk/test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh - JDK-8193137: Nashorn crashes when given an empty script file - JDK-8194298: Add support for per Socket configuration of TCP keepalive - JDK-8198004: javax/swing/JFileChooser/6868611/bug6868611.java throws error - JDK-8200313: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails - JDK-8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender - JDK-8210147: adjust some WSAGetLastError usages in windows network coding - JDK-8211714: Need to update vm_version.cpp to recognise VS2017 minor versions - JDK-8214862: assert(proj != __null) at compile.cpp:3251 - JDK-8217606: LdapContext#reconnect always opens a new connection - JDK-8217647: JFR: recordings on 32-bit systems unreadable - JDK-8226697: Several tests which need the @key headful keyword are missing it. - JDK-8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow - JDK-8230303: JDB hangs when running monitor command - JDK-8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG - JDK-8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing - JDK-8234617: C1: Incorrect result of field load due to missing narrowing conversion - JDK-8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version - JDK-8235325: build failure on Linux after 8235243 - JDK-8235687: Contents/MacOS/libjli.dylib cannot be a symlink - JDK-8237951: CTW: C2 compilation fails with "malformed control flow" - JDK-8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary - JDK-8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD - JDK-8239819: XToolkit: Misread of screen information memory - JDK-8240295: hs_err elapsed time in seconds is not accurate enough - JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one - JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash - JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions - JDK-8244818: Java2D Queue Flusher crash while moving application window to external monitor - JDK-8246310: Clean commented-out code about ModuleEntry andPackageEntry in JFR - JDK-8246384: Enable JFR by default on supported architectures for October 2020 release - JDK-8248643: Remove extra leading space in JDK-8240295 8u backport - JDK-8249610: Make sun.security.krb5.Config.getBooleanObject(String... keys) method public Main issues of note: src/share/vm/opto/node.{c,h}pp already had find_out_with, introduced upstream in 8u272-b01 by JDK-8237951, so the local duplicate was removed to minimise the diff with 8u272. diffstat for root b/.hgtags | 2 + b/common/autoconf/generated-configure.sh | 40 +++++++++++++------------------ b/common/autoconf/jdk-options.m4 | 24 ++++++++++++------ 3 files changed, 36 insertions(+), 30 deletions(-) diffstat for corba b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for jaxp b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for jaxws b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for langtools b/.hgtags | 2 b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java | 5 - b/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java | 5 - b/test/com/sun/javadoc/testConstructors/TestConstructors.java | 31 +++++++++- b/test/com/sun/javadoc/testConstructors/pkg1/Outer.java | 13 +++- 5 files changed, 49 insertions(+), 7 deletions(-) diffstat for nashorn b/.hgtags | 2 + b/src/jdk/nashorn/tools/Shell.java | 2 - b/test/script/nosecurity/JDK-8193137.js | 62 ++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) diffstat for jdk a/test/java/awt/dnd/BadSerializaionTest/BadSerializationTest.java | 75 b/.hgtags | 2 b/make/Bundles.gmk | 8 b/make/mapfiles/libnet/mapfile-vers | 7 b/src/macosx/bin/java_md_macosx.c | 22 b/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m | 1 b/src/share/classes/com/sun/jndi/ldap/LdapCtx.java | 5 b/src/share/classes/com/sun/media/sound/AbstractDataLine.java | 9 b/src/share/classes/com/sun/media/sound/AbstractLine.java | 4 b/src/share/classes/com/sun/media/sound/AbstractMidiDevice.java | 8 b/src/share/classes/com/sun/media/sound/MidiInDevice.java | 4 b/src/share/classes/com/sun/media/sound/RealTimeSequencer.java | 6 b/src/share/classes/com/sun/security/ntlm/NTLM.java | 2 b/src/share/classes/com/sun/tools/example/debug/tty/TTY.java | 3 b/src/share/classes/javax/sound/midi/Sequence.java | 12 b/src/share/classes/jdk/net/ExtendedSocketOptions.java | 64 b/src/share/classes/jdk/net/Sockets.java | 6 b/src/share/classes/sun/net/ExtendedOptionsHelper.java | 54 b/src/share/classes/sun/net/ExtendedOptionsImpl.java | 8 b/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java | 4 b/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 4 b/src/share/classes/sun/nio/ch/Net.java | 44 b/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java | 2 b/src/share/classes/sun/nio/ch/SocketChannelImpl.java | 4 b/src/share/classes/sun/security/krb5/Config.java | 5 b/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java | 93 b/src/share/classes/sun/security/krb5/KrbKdcRep.java | 18 b/src/share/classes/sun/security/validator/PKIXValidator.java | 14 b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java | 13 b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java | 12 b/src/share/lib/security/java.security-aix | 15 b/src/share/lib/security/java.security-linux | 15 b/src/share/lib/security/java.security-macosx | 15 b/src/share/lib/security/java.security-solaris | 15 b/src/share/lib/security/java.security-windows | 15 b/src/solaris/back/linker_md.c | 24 b/src/solaris/classes/java/net/PlainSocketImpl.java | 62 b/src/solaris/classes/sun/awt/X11/XIconWindow.java | 25 b/src/solaris/classes/sun/awt/X11/XToolkit.java | 9 b/src/solaris/native/java/net/ExtendedOptionsImpl.c | 188 + b/src/solaris/native/java/util/TimeZone_md.c | 9 b/src/solaris/native/sun/xawt/XToolkit.c | 9 b/src/windows/back/linker_md.c | 24 b/src/windows/native/java/net/ExtendedOptionsImpl.c | 78 b/src/windows/native/java/net/Inet4AddressImpl.c | 2 b/src/windows/native/java/net/Inet6AddressImpl.c | 2 b/src/windows/native/java/net/SocketInputStream.c | 3 b/src/windows/native/sun/net/spi/DefaultProxySelector.c | 7 b/src/windows/native/sun/windows/awt_Window.cpp | 31 b/test/ProblemList.txt | 7 b/test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java | 7 b/test/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java | 1 b/test/com/sun/java/swing/plaf/gtk/Test6635110.java | 1 b/test/com/sun/java/swing/plaf/gtk/Test6963870.java | 1 b/test/com/sun/jndi/ldap/LdapCtx/Reconnect.java | 117 b/test/com/sun/jndi/ldap/lib/BaseLdapServer.java | 275 + b/test/com/sun/jndi/ldap/lib/LdapMessage.java | 228 + b/test/java/awt/EmbeddedFrame/DisplayChangedTest/DisplayChangedTest.java | 96 b/test/java/awt/EmbeddedFrame/EmbeddedFrameGrabTest/EmbeddedFrameGrabTest.java | 123 b/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java | 11 b/test/java/awt/Gtk/GtkVersionTest/GtkVersionTest.java | 9 b/test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java | 1 b/test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java | 1 b/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh | 10 b/test/java/awt/dnd/BadSerializationTest/BadSerializationTest.java | 168 + b/test/java/net/SocketOption/TcpKeepAliveTest.java | 119 b/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java | 17 b/test/java/nio/channels/AsynchronousSocketChannel/Basic.java | 25 b/test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java | 18 b/test/java/nio/channels/SocketChannel/SocketOptionTests.java | 29 b/test/java/util/Scanner/ScanTest.java | 1502 ++++++++++ b/test/java/util/Scanner/input.txt | 438 ++ b/test/javax/imageio/AllowSearch.java | 88 b/test/javax/imageio/AppContextTest.java | 140 b/test/javax/imageio/AppletResourceTest.html | 40 b/test/javax/imageio/AppletResourceTest.java | 439 ++ b/test/javax/imageio/GetNumImages.java | 96 b/test/javax/imageio/GetReaderWriterInfo.java | 113 b/test/javax/imageio/IIOImageConstructor.java | 46 b/test/javax/imageio/ITSDataType.java | 79 b/test/javax/imageio/ImageIOGetImageReaders.java | 46 b/test/javax/imageio/ImageIOWriteFile.java | 78 b/test/javax/imageio/ImageIOWriteNull.java | 45 b/test/javax/imageio/ImageReadParamPasses.java | 101 b/test/javax/imageio/ImageReaderGetDestination.java | 132 b/test/javax/imageio/ImageReaderReadAll.java | 120 b/test/javax/imageio/ImageStreamFromRAF.java | 67 b/test/javax/imageio/ImageTypeSpecifierBitsPerBand.java | 60 b/test/javax/imageio/ImageTypeSpecifierTest.java | 310 ++ b/test/javax/imageio/ImageWriteParamMisc.java | 105 b/test/javax/imageio/NullInputOutput.java | 73 b/test/javax/imageio/PNGSpiStreamMetadata.java | 66 b/test/javax/imageio/PNGSuffixes.java | 42 b/test/javax/imageio/ReadBitsTest.java | 90 b/test/javax/imageio/SetOutput.java | 54 b/test/javax/imageio/WriteNullImageTest.java | 89 b/test/javax/imageio/event/WriteProgressListenerTest.java | 154 + b/test/javax/imageio/plugins/bmp/BMPCompressionTest.java | 432 ++ b/test/javax/imageio/plugins/bmp/BMPPluginTest.java | 241 + b/test/javax/imageio/plugins/bmp/BMPWriteParamTest.java | 175 + b/test/javax/imageio/plugins/bmp/BmpBigDestinationTest.java | 106 b/test/javax/imageio/plugins/bmp/BmpDefaultImageMetadataTest.java | 151 + b/test/javax/imageio/plugins/bmp/CompressionModeTest.java | 96 b/test/javax/imageio/plugins/bmp/EmbeddedFormatTest.java | 147 b/test/javax/imageio/plugins/bmp/EmptyInputBmpMetadataTest.java | 62 b/test/javax/imageio/plugins/bmp/NoExtraBytesTest.java | 301 ++ b/test/javax/imageio/plugins/bmp/RLECompressionTest.java | 159 + b/test/javax/imageio/plugins/bmp/ReaderListenersTest.java | 257 + b/test/javax/imageio/plugins/bmp/RleEncodingTest.java | 223 + b/test/javax/imageio/plugins/bmp/TestCompressionBI_BITFIELDS.java | 181 + b/test/javax/imageio/plugins/bmp/Write3ByteBgrTest.java | 228 + b/test/javax/imageio/plugins/bmp/WriteProgressListenerTest.java | 176 + b/test/javax/imageio/plugins/bmp/WritingColorChangeTest.java | 194 + b/test/javax/imageio/plugins/gif/AnimationTest.java | 168 + b/test/javax/imageio/plugins/gif/DisableCompressionTest.java | 100 b/test/javax/imageio/plugins/gif/EndWriteSequenceTest.java | 90 b/test/javax/imageio/plugins/gif/IndexingTest.java | 134 b/test/javax/imageio/plugins/gif/LogicalScreenDimensionTest.java | 107 b/test/javax/imageio/plugins/gif/OddPaletteTest.java | 123 b/test/javax/imageio/plugins/gif/PrepareWriteSequenceTest.java | 60 b/test/javax/imageio/plugins/gif/RGBAnimationTest.java | 199 + b/test/javax/imageio/plugins/gif/RGBImageTest.java | 116 b/test/javax/imageio/plugins/gif/StreamMetadataTest.java | 78 b/test/javax/imageio/plugins/gif/TransparencyTest.java | 145 b/test/javax/imageio/plugins/gif/UshortOutOfMemoryTest.java | 77 b/test/javax/imageio/plugins/gif/WriteMetadataTest.java | 81 b/test/javax/imageio/plugins/gif/WriterResetTest.java | 79 b/test/javax/imageio/plugins/gif/WriterReuseTest.java | 157 + b/test/javax/imageio/plugins/jpeg/ByteBinaryTest.java | 93 b/test/javax/imageio/plugins/jpeg/CanEncodeIndexed.java | 55 b/test/javax/imageio/plugins/jpeg/CompressionBug.java | 120 b/test/javax/imageio/plugins/jpeg/CompressionVals.java | 47 b/test/javax/imageio/plugins/jpeg/CrashAfterDispose.java | 135 b/test/javax/imageio/plugins/jpeg/DestTypeTest.java | 157 + b/test/javax/imageio/plugins/jpeg/JPEGsNotAcceleratedTest.java | 365 ++ b/test/javax/imageio/plugins/jpeg/MergeTreeTest.java | 71 b/test/javax/imageio/plugins/jpeg/RasterWithMinXTest.java | 111 b/test/javax/imageio/plugins/jpeg/ResetOutOfMemory.java | 45 b/test/javax/imageio/plugins/jpeg/UshortGrayTest.java | 92 b/test/javax/imageio/plugins/png/CanEncodeShort.java | 66 b/test/javax/imageio/plugins/png/ImageCompare.java | 62 b/test/javax/imageio/plugins/png/PngPremultAlphaTest.java | 131 b/test/javax/imageio/plugins/png/ShortPaletteTest.java | 83 b/test/javax/imageio/plugins/png/WriteProgressive.java | 83 b/test/javax/imageio/plugins/wbmp/EmptyInputWbmpMetadataTest.java | 61 b/test/javax/imageio/plugins/wbmp/GetImageTypesTest.java | 68 b/test/javax/imageio/plugins/wbmp/ValidWbmpTest.java | 93 b/test/javax/imageio/plugins/wbmp/WBMPPluginTest.java | 230 + b/test/javax/imageio/plugins/wbmp/WbmpBigDestinationTest.java | 106 b/test/javax/imageio/plugins/wbmp/WbmpDefaultImageMetadataTest.java | 152 + b/test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh | 280 + b/test/javax/imageio/spi/AppletContextTest/DummyReaderPluginSpi.java | 82 b/test/javax/imageio/spi/AppletContextTest/IIOPluginTest.java | 62 b/test/javax/imageio/spi/CreateMemoryCacheOutputStream.java | 52 b/test/javax/imageio/spi/DeregisterAllSpiTest.java | 158 + b/test/javax/imageio/spi/DeregisterOrderedSpiTest.java | 65 b/test/javax/imageio/spi/OrderingTest.java | 70 b/test/javax/imageio/spi/PluginSpiTest.java | 91 b/test/javax/imageio/spi/RegisterPluginTwiceTest.java | 160 + b/test/javax/imageio/spi/SpiTest.java | 390 ++ b/test/javax/imageio/spi/SpiVersionNumbers.java | 60 b/test/javax/imageio/stream/BitPadding.java | 58 b/test/javax/imageio/stream/DeleteOnExitTest.java | 75 b/test/javax/imageio/stream/DeleteOnExitTest.sh | 69 b/test/javax/imageio/stream/FileCacheImageInputStreamNullTest.java | 49 b/test/javax/imageio/stream/FlushBefore.java | 64 b/test/javax/imageio/stream/MemoryCacheImageOutputStreamTest.java | 115 b/test/javax/imageio/stream/ReadBytesIIOByteBuffer.java | 56 b/test/javax/imageio/stream/ReadFullyTest.java | 146 b/test/javax/imageio/stream/ReadUnsignedIntTest.java | 62 b/test/javax/imageio/stream/StreamFlush.java | 108 b/test/javax/imageio/stream/WriteBitsTest.java | 110 b/test/javax/management/loading/ParserInfiniteLoopTest.java | 6 b/test/javax/sound/midi/Devices/ClosedReceiver.java | 184 + b/test/javax/sound/midi/Devices/IOLoop.java | 404 ++ b/test/javax/sound/midi/Devices/MidiDeviceGetReceivers.java | 187 + b/test/javax/sound/midi/Devices/MidiIO.java | 92 b/test/javax/sound/midi/Devices/MidiOutGetMicrosecondPositionBug.java | 135 b/test/javax/sound/midi/Devices/OpenClose.java | 611 ++++ b/test/javax/sound/midi/Devices/ReceiverTransmitterAvailable.java | 113 b/test/javax/sound/midi/Devices/Reopen.java | 135 b/test/javax/sound/midi/File/SMFCp037.java | 60 b/test/javax/sound/midi/File/SMFParserBreak.java | 109 b/test/javax/sound/midi/File/WriteRealTimeMessageNPE.java | 74 b/test/javax/sound/midi/MetaMessage/MetaMessageClone.java | 76 b/test/javax/sound/midi/MidiSystem/6411624/Test6411624.java | 384 ++ b/test/javax/sound/midi/MidiSystem/6411624/bug6411624.java | 244 + b/test/javax/sound/midi/MidiSystem/DefaultDevices.java | 226 + b/test/javax/sound/midi/MidiSystem/DefaultProperties.java | 164 + b/test/javax/sound/midi/MidiSystem/GetSequencer.java | 128 b/test/javax/sound/midi/MidiSystem/MidiFileTypeUniqueness.java | 51 b/test/javax/sound/midi/MidiSystem/ProviderCacheing.java | 65 b/test/javax/sound/midi/MidiSystem/testdata/lib/conf/sound.properties | 27 b/test/javax/sound/midi/Sequence/GetMicrosecondLength.java | 151 + b/test/javax/sound/midi/Sequence/MidiSMPTE.java | 85 b/test/javax/sound/midi/Sequence/SMPTEDuration.java | 94 b/test/javax/sound/midi/Sequencer/LoopIAE.java | 113 b/test/javax/sound/midi/Sequencer/Looping.java | 315 ++ b/test/javax/sound/midi/Sequencer/MetaCallback.java | 133 b/test/javax/sound/midi/Sequencer/Recording.java | 213 + b/test/javax/sound/midi/Sequencer/SeqRecordDoesNotCopy.java | 117 b/test/javax/sound/midi/Sequencer/SeqRecordsRealTimeEvents.java | 121 b/test/javax/sound/midi/Sequencer/SeqStartRecording.java | 52 b/test/javax/sound/midi/Sequencer/SequencerCacheValues.java | 106 b/test/javax/sound/midi/Sequencer/SequencerSetMuteSolo.java | 170 + b/test/javax/sound/midi/Sequencer/SequencerState.java | 272 + b/test/javax/sound/midi/Sequencer/SetTickPosition.java | 139 b/test/javax/sound/midi/Sequencer/TickLength.java | 211 + b/test/javax/sound/midi/ShortMessage/FastShortMessage.java | 71 b/test/javax/sound/midi/ShortMessage/FastShortMessage2.java | 75 b/test/javax/sound/midi/Soundbanks/ExtraCharInSoundbank.java | 123 b/test/javax/sound/midi/Soundbanks/GetSoundBankIOException.java | 85 b/test/javax/sound/midi/Synthesizer/AsynchronousMidiChannel.java | 147 b/test/javax/sound/midi/Synthesizer/Receiver/bug6186488.java | 89 b/test/javax/sound/midi/Synthesizer/SynthesizerGetLatency.java | 77 b/test/javax/sound/midi/Synthesizer/bug4685396.java | 218 + b/test/javax/sound/midi/Track/TrackAddSameTick.java | 97 b/test/javax/sound/midi/Track/bug6416024.java | 127 b/test/javax/sound/midi/Transmitter/bug6415669.java | 118 b/test/javax/sound/sampled/AudioFileFormat/AudioFileFormatToString.java | 235 + b/test/javax/sound/sampled/AudioFileFormat/Properties.java | 144 b/test/javax/sound/sampled/AudioFileFormat/TypeEquals.java | 44 b/test/javax/sound/sampled/AudioFormat/AudioFormatBitSize.java | 44 b/test/javax/sound/sampled/AudioFormat/EncodingEquals.java | 44 b/test/javax/sound/sampled/AudioFormat/Properties.java | 115 b/test/javax/sound/sampled/AudioInputStream/AISReadFraction.java | 237 + b/test/javax/sound/sampled/AudioInputStream/bug6188860.java | 94 b/test/javax/sound/sampled/AudioSystem/AudioFileTypes/AudioFileTypeUniqueness.java | 52 b/test/javax/sound/sampled/AudioSystem/AudioFileTypes/ShowAudioFileTypes.java | 48 b/test/javax/sound/sampled/AudioSystem/DefaultMixers.java | 198 + b/test/javax/sound/sampled/AudioSystem/DefaultProperties.java | 164 + b/test/javax/sound/sampled/AudioSystem/ProviderCacheing.java | 64 b/test/javax/sound/sampled/AudioSystem/testdata/lib/conf/sound.properties | 27 b/test/javax/sound/sampled/Clip/ClipCloseLoss.java | 163 + b/test/javax/sound/sampled/Clip/ClipFlushCrash.java | 226 + b/test/javax/sound/sampled/Clip/Drain/ClipDrain.java | 126 b/test/javax/sound/sampled/Clip/Duration/ClipDuration.java | 131 b/test/javax/sound/sampled/Clip/Endpoint/ClipSetEndPoint.java | 115 b/test/javax/sound/sampled/Clip/IsRunningHang.java | 117 b/test/javax/sound/sampled/Clip/Open/ClipOpenBug.java | 81 b/test/javax/sound/sampled/Clip/bug5070081.java | 107 b/test/javax/sound/sampled/Clip/bug6251460.java | 138 b/test/javax/sound/sampled/Controls/CompoundControl/ToString.java | 98 b/test/javax/sound/sampled/Controls/FloatControl/FloatControlBug.java | 134 b/test/javax/sound/sampled/DataLine/DataLineInfoNegBufferSize.java | 135 b/test/javax/sound/sampled/DataLine/LineDefFormat.java | 172 + b/test/javax/sound/sampled/DataLine/LongFramePosition.java | 70 b/test/javax/sound/sampled/DirectAudio/TickAtEndOfPlay.java | 97 b/test/javax/sound/sampled/DirectAudio/bug6372428.java | 381 ++ b/test/javax/sound/sampled/FileTypeExtension/FileTypeExtensionTest.java | 62 b/test/javax/sound/sampled/LineEvent/LineInfoNPE.java | 177 + b/test/javax/sound/sampled/Lines/16and32KHz/Has16and32KHz.java | 113 b/test/javax/sound/sampled/Lines/BufferSizeCheck.java | 91 b/test/javax/sound/sampled/Lines/ChangingBuffer.java | 165 + b/test/javax/sound/sampled/Lines/ClickInPlay/ClickInPlay.java | 147 b/test/javax/sound/sampled/Lines/ClickInPlay/Test4218609.java | 380 ++ b/test/javax/sound/sampled/Lines/ClipOpenException.java | 148 b/test/javax/sound/sampled/Lines/FrameSize/FrameSizeTest.java | 70 b/test/javax/sound/sampled/Lines/GetLine.java | 99 b/test/javax/sound/sampled/Lines/SDLwrite.java | 271 + b/test/javax/sound/sampled/Lines/SourceDataLineDefaultBufferSizeCrash.java | 248 + b/test/javax/sound/sampled/Lines/StopStart.java | 282 + b/test/javax/sound/sampled/LinuxBlock/PlaySine.java | 269 + b/test/javax/sound/sampled/LinuxCrash/ClipLinuxCrash.java | 163 + b/test/javax/sound/sampled/LinuxCrash/ClipLinuxCrash2.java | 188 + b/test/javax/sound/sampled/LinuxCrash/SDLLinuxCrash.java | 317 ++ b/test/javax/sound/sampled/Mixers/BogusMixers.java | 71 b/test/javax/sound/sampled/Mixers/BothEndiansAndSigns.java | 136 b/test/javax/sound/sampled/Mixers/DirectSoundRepeatingBuffer/DirectSoundRepeatingBuffer.java | 156 + b/test/javax/sound/sampled/Mixers/DirectSoundRepeatingBuffer/Test4997635.java | 381 ++ b/test/javax/sound/sampled/Mixers/DirectSoundUnderrunSilence/DirectSoundUnderrunSilence.java | 161 + b/test/javax/sound/sampled/Mixers/DirectSoundUnderrunSilence/Test5032020.java | 380 ++ b/test/javax/sound/sampled/Mixers/DisabledAssertionCrash.java | 90 b/test/javax/sound/sampled/Mixers/NoSimpleInputDevice.java | 70 b/test/javax/sound/sampled/Mixers/PhantomMixers.java | 91 b/test/javax/sound/sampled/Mixers/PlugHwMonoAnd8bitAvailable.java | 163 + b/test/javax/sound/sampled/Mixers/UnexpectedIAE.java | 66 b/test/javax/sound/sampled/Recording/TargetDataLineFlush.java | 204 + b/test/javax/sound/sampled/spi/AudioFileReader/AIFFCp037.java | 127 b/test/javax/sound/sampled/spi/AudioFileReader/AIFFLargeHeader.java | 109 b/test/javax/sound/sampled/spi/AudioFileReader/Aiff12bit.java | 78 b/test/javax/sound/sampled/spi/AudioFileReader/AuNotSpecified.java | 61 b/test/javax/sound/sampled/spi/AudioFileReader/AuZeroLength.java | 98 b/test/javax/sound/sampled/spi/AudioFileReader/OpenWaveFile.java | 125 b/test/javax/sound/sampled/spi/AudioFileWriter/AUwithULAW.java | 66 b/test/javax/sound/sampled/spi/AudioFileWriter/AiffSampleRate.java | 96 b/test/javax/sound/sampled/spi/AudioFileWriter/RIFFHeader.java | 83 b/test/javax/sound/sampled/spi/AudioFileWriter/WaveBigEndian.java | 98 b/test/javax/sound/sampled/spi/AudioFileWriter/WriteAuUnspecifiedLength.java | 47 b/test/javax/sound/sampled/spi/FormatConversionProvider/AlawUlaw.java | 205 + b/test/javax/swing/JFileChooser/6868611/bug6868611.java | 85 b/test/javax/swing/JTree/4633594/JTreeFocusTest.java | 232 + b/test/jdk/tools/launcher/JliLaunchTest.java | 73 b/test/jdk/tools/launcher/JliLaunchTest.sh | 33 b/test/jdk/tools/launcher/exeJliLaunchTest.c | 44 b/test/lib/jdk/test/lib/Platform.java | 15 b/test/sun/net/www/protocol/http/NULLTargetInfoTest.java | 57 b/test/sun/security/krb5/auto/ReferralsTest.java | 40 b/test/sun/security/mscapi/SmallPrimeExponentP.java | 68 299 files changed, 34050 insertions(+), 333 deletions(-) diffstat for hotspot b/.hgtags | 2 b/src/share/vm/c1/c1_GraphBuilder.cpp | 23 + b/src/share/vm/c1/c1_Instruction.cpp | 2 b/src/share/vm/c1/c1_ValueStack.cpp | 2 b/src/share/vm/c1/c1_ValueStack.hpp | 2 b/src/share/vm/ci/ciEnv.cpp | 43 ++- b/src/share/vm/ci/ciEnv.hpp | 4 b/src/share/vm/ci/ciMethod.cpp | 2 b/src/share/vm/jfr/jni/jfrJavaSupport.cpp | 4 b/src/share/vm/jfr/metadata/metadata.xml | 24 - b/src/share/vm/jfr/periodic/jfrThreadCPULoadEvent.cpp | 5 b/src/share/vm/jfr/recorder/checkpoint/jfrCheckpointWriter.cpp | 16 - b/src/share/vm/jfr/recorder/checkpoint/jfrCheckpointWriter.hpp | 14 - b/src/share/vm/jfr/recorder/checkpoint/types/jfrType.cpp | 2 b/src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.cpp | 83 ------ b/src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.hpp | 7 b/src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSetWriter.hpp | 2 b/src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp | 12 b/src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp | 4 b/src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp | 6 b/src/share/vm/jfr/recorder/repository/jfrChunkState.cpp | 10 b/src/share/vm/jfr/recorder/repository/jfrChunkState.hpp | 21 - b/src/share/vm/jfr/recorder/repository/jfrChunkWriter.cpp | 17 - b/src/share/vm/jfr/recorder/repository/jfrChunkWriter.hpp | 10 b/src/share/vm/jfr/recorder/repository/jfrEmergencyDump.cpp | 7 b/src/share/vm/jfr/recorder/repository/jfrRepository.cpp | 30 +- b/src/share/vm/jfr/recorder/repository/jfrRepository.hpp | 2 b/src/share/vm/jfr/recorder/service/jfrRecorderService.cpp | 24 - b/src/share/vm/jfr/writers/jfrEventWriterHost.inline.hpp | 2 b/src/share/vm/jfr/writers/jfrPosition.hpp | 4 b/src/share/vm/jfr/writers/jfrPosition.inline.hpp | 4 b/src/share/vm/jfr/writers/jfrStreamWriterHost.hpp | 8 b/src/share/vm/jfr/writers/jfrStreamWriterHost.inline.hpp | 10 b/src/share/vm/jfr/writers/jfrWriterHost.hpp | 10 b/src/share/vm/jfr/writers/jfrWriterHost.inline.hpp | 23 - b/src/share/vm/opto/c2compiler.cpp | 2 b/src/share/vm/opto/callnode.cpp | 8 b/src/share/vm/opto/callnode.hpp | 2 b/src/share/vm/opto/compile.cpp | 27 + b/src/share/vm/opto/compile.hpp | 1 b/src/share/vm/opto/escape.cpp | 5 b/src/share/vm/opto/graphKit.cpp | 2 b/src/share/vm/opto/node.cpp | 25 + b/src/share/vm/opto/node.hpp | 5 b/src/share/vm/opto/phaseX.cpp | 27 - b/src/share/vm/runtime/os.cpp | 7 b/src/share/vm/runtime/vm_version.cpp | 16 + b/test/compiler/7177917/Test7177917.java | 8 b/test/compiler/conversions/Conversion.jasm | 130 +++++++++ b/test/compiler/conversions/TestPrimitiveConversions.java | 60 ++++ b/test/compiler/inlining/StringConcatInfiniteLoop.java | 54 +++ b/test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java | 14 - b/test/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java | 136 ++++++++++ b/test/vmTestbase/nsk/jdb/monitor/monitor002/monitor002a.java | 52 +++ 54 files changed, 706 insertions(+), 316 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le, aarch32 (Zero) & aarch64. Present in Fedora rawhide: https://koji.fedoraproject.org/koji/buildinfo?buildID=1578325 Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From kdnilsen at amazon.com Mon Aug 3 21:48:16 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Mon, 3 Aug 2020 21:48:16 +0000 Subject: SATB write barrier rationale Message-ID: <0CCBC9E6-A3C7-4238-890B-28D5E7E83A53@amazon.com> I'm ?trying to understand the "theory of operation" for Shenandoah GC. It's not clear to me why it requires a SATB write barrier. Can anyone clarify? That I don't immediately appreciate the need for a SATB write barrier suggests that certain of my assumptions about Shenandoah behavior may be wrong. If anyone sees errors in my assumptions below, please correct or clarify. Thanks much. 1. At the start of GC, we stop the world to scan all root pointers, including native-method roots, and all thread stacks, marking every object referenced from this root set. 2. The load-reference barrier marks any object that is referenced from a heap fetch operation. 3. Newly allocated objects are considered live (essentially, marked on allocation) until the end of the current GC pass. From rkennke at redhat.com Mon Aug 3 21:58:08 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 3 Aug 2020 23:58:08 +0200 Subject: SATB write barrier rationale In-Reply-To: <0CCBC9E6-A3C7-4238-890B-28D5E7E83A53@amazon.com> References: <0CCBC9E6-A3C7-4238-890B-28D5E7E83A53@amazon.com> Message-ID: Hi Kelvin, The LRB doesn't mark anything. It has nothing to do with marking. Yes, we could change that and do marking via LRB, we actually made a prototype of it, but it did not work better than SATB (actually looked worse). What seems more interesting is the i-u mode. It does show improvements in some workloads and generally no regressions, and has the additional advantage that it can reclaim weakrefs that are accessed during marking. Roman Nilsen, Kelvin schrieb am Mo., 3. Aug. 2020, 23:51: > I'm ?trying to understand the "theory of operation" for Shenandoah GC. > It's not clear to me why it requires a SATB write barrier. > > Can anyone clarify? > > That I don't immediately appreciate the need for a SATB write barrier > suggests that certain of my assumptions about Shenandoah behavior may be > wrong. If anyone sees errors in my assumptions below, please correct or > clarify. Thanks much. > > 1. At the start of GC, we stop the world to scan all root pointers, > including native-method roots, and all thread stacks, marking every object > referenced from this root set. > > 2. The load-reference barrier marks any object that is referenced from a > heap fetch operation. > > 3. Newly allocated objects are considered live (essentially, marked on > allocation) until the end of the current GC pass. > > > > From kdnilsen at amazon.com Mon Aug 3 22:11:59 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Mon, 3 Aug 2020 22:11:59 +0000 Subject: SATB write barrier rationale In-Reply-To: References: <0CCBC9E6-A3C7-4238-890B-28D5E7E83A53@amazon.com> Message-ID: <2CC0E39A-2ADF-4A7F-9C6E-7BE719F08F00@amazon.com> Thanks for the quick clarification. My misunderstanding was with the behavior of the LRB. From: Roman Kennke Date: Monday, August 3, 2020 at 2:58 PM To: "Nilsen, Kelvin" Cc: Shenandoah Development Subject: RE: [EXTERNAL] SATB write barrier rationale CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hi Kelvin, The LRB doesn't mark anything. It has nothing to do with marking. Yes, we could change that and do marking via LRB, we actually made a prototype of it, but it did not work better than SATB (actually looked worse). What seems more interesting is the i-u mode. It does show improvements in some workloads and generally no regressions, and has the additional advantage that it can reclaim weakrefs that are accessed during marking. Roman Nilsen, Kelvin > schrieb am Mo., 3. Aug. 2020, 23:51: I'm trying to understand the "theory of operation" for Shenandoah GC. It's not clear to me why it requires a SATB write barrier. Can anyone clarify? That I don't immediately appreciate the need for a SATB write barrier suggests that certain of my assumptions about Shenandoah behavior may be wrong. If anyone sees errors in my assumptions below, please correct or clarify. Thanks much. 1. At the start of GC, we stop the world to scan all root pointers, including native-method roots, and all thread stacks, marking every object referenced from this root set. 2. The load-reference barrier marks any object that is referenced from a heap fetch operation. 3. Newly allocated objects are considered live (essentially, marked on allocation) until the end of the current GC pass. From shade at redhat.com Tue Aug 4 08:13:59 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 4 Aug 2020 10:13:59 +0200 Subject: [RFR] [8u] 8u272-b01 Upstream Sync In-Reply-To: <20200803171250.GA263856@stopbrexit> References: <20200803171250.GA263856@stopbrexit> Message-ID: <05f4fb9e-b06c-1a7b-551d-3e0d57565b29@redhat.com> On 8/3/20 7:12 PM, Andrew Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxws/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jdk/merge.changeset Ooof. Lots of new tests. Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/hotspot/merge.changeset Looks good. The node.{c|h}pp merge looks fine. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/langtools/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/nashorn/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/root/merge.changeset Looks good. > Ok to push? Yes. -- Thanks, -Aleksey From mathiske at amazon.com Tue Aug 4 16:45:27 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Tue, 4 Aug 2020 16:45:27 +0000 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> Message-ID: <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> That did not help in this case. But thanks for the bug fix anyway! BTW, I could only apply the string table part of the patch, the ResolvedMethod part does not apply. So we've still got that problem with long pauses in final mark. Doubling parallel GC threads brought them from ~20ms to ~13. This only happens in final mark with class unloading. I found that there are three code blocks that could be responsible and maybe I have been looking at the wrong one. void ShenandoahHeap::stw_unload_classes(bool full_gc) { if (!unload_classes()) return; bool purged_class; // BLOCK 1 // Unload classes and purge SystemDictionary. { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_class_unload : ShenandoahPhaseTimings::purge_class_unload); purged_class = SystemDictionary::do_unloading(gc_timer()); } // BLOCK 2 { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_par : ShenandoahPhaseTimings::purge_par); ShenandoahIsAliveSelector is_alive; uint num_workers = _workers->active_workers(); ShenandoahParallelCleaningTask unlink_task(is_alive.is_alive_closure(), true, true, num_workers, purged_class); _workers->run_task(&unlink_task); } //BLOCK 3 { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_cldg : ShenandoahPhaseTimings::purge_cldg); ClassLoaderDataGraph::purge(); } // Resize and verify metaspace MetaspaceGC::compute_new_size(); MetaspaceUtils::verify_metrics(); } And here are the timings we got in the GC log: ... System Purge 301 us Unload Classes 17824 us Weak Roots 301 us CLDG 1 us ... I suspect "Unload Classes" reports on BLOCK 1 only and not all three then? That would explain a lot. I can't find any reference to "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? Bernd ?On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, Bernd" wrote: Thanks! I'll add the patch and we will report back. On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hi Bernd, On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > Zhengyu, > > is this bug you filed directly related? > https://bugs.openjdk.java.net/browse/JDK-8250841 > > Do you expect that the patch you also posted might help here? > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) Yes, it is directly related and should help the pause times, but not sure by how much. -Zhengyu > > Bernd > > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Hi Niall, > > > > Based on all of this, we had some followup questions: > > > > * Is our understanding of -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to disable class unloading if set to false? > Yes, setting ClassUnloadingWithConcurrentMark to false, still disables > class unloading. > > > * Is there a way to get a detailed breakdown of final mark timing and/or class unloading to expose string/symbol table cleanup time? > Not now. We can add these timings. > > > * Is 16ms a reasonable duration to cleanup string/symbol tables given ~80K strings and ~310K symbols? > > I don't know. Roman & Aleksey may have some insights. > > > * Apart from increasing ShenandoahUnloadClassesFrequency, are there any options to reduce the impact of string/symbol table cleanup on final marking? > > There is possibility that we can move string table cleaning to > concurrent phase. I believe string table is a concurrent hash table in > 11u already. > > Thanks, > > -Zhengyu > > > > > > > > Thanks very much for your help! > > > > Niall and Bernd > > > > On 7/17/20, 08:38, "Zhengyu Gu" wrote: > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: > > > Thanks Zhengyu, I'm looking into this, I'm seeing a lot of class loaders containing a single class. I'll test with class unloading enabled. Considering it's disabled by default, is there a downside to enabling it? > > > > class unloading is also performed during final mark, so it impacts final > > mark pause as well, but probably without this accumulation effect. > > > > We have a parameter, ShenandoahUnloadClassesFrequency, to control > > frequency of class unloading when it is enabled, default is once every 5 > > GC cycles. You may want to tune the parameter to achieve some sort of > > balance. > > > > Thanks, > > > > -Zhengyu > > > > > > > > > > > > Roman & Aleksey, thanks for the details. I'm using 11.0.7, will setup a new test with an 11.0.8 build. > > > > > > Thanks, > > > Niall > > > > > > On 7/17/20, 06:35, "Zhengyu Gu" wrote: > > > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > > > > > Hi Niall, > > > > > > By default, class unloading is disabled for Shenandoah in JDK11. > > > Accumulated class loaders may prolong final mark. You may want to try: > > > > > > jcmd VM.classloader_stats > > > > > > If it is the case, you may want to try -XX:+ClassUnloadingWithConcurrentMark > > > > > > Thanks, > > > > > > -Zhengyu > > > > > > > > > > > > On 7/17/20 12:56 AM, Connaughton, Niall wrote: > > > > Hey all, firstly thanks for all the work on Shenandoah, I?m excited for its potential for us. > > > > > > > > I?ve been doing some testing and have run across a couple of issues that have me scratching my head. The first is Final Mark pauses are increasing steadily over several days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re 12-16ms. The heap occupancy is not ramping up, and neither are the concurrent cycle times, so I?m not sure what?s behind this. The application is running a 20GB heap, peaking around 35% live data heap occupancy, and allocating ~1.3-1.5GB/s. > > > > > > > > What angles can I look at to dig into the cause of increasing Final Mark pauses? I don?t see a lot of details on the Final Mark in the gc logs, and there doesn?t seem to be much difference in the logs over time, except for the pause duration increasing. Here?s an example of a Final Mark log for before/after comparison: > > > > > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Pause Final Mark > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Using 8 of 8 workers for final marking > > > > [2020-07-13T22:27:28.839+0000] GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2429M, Max CSet: 853M, Min Garbage: 0B > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 CSet regions > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > > > > [2020-07-13T22:27:28.843+0000] GC(2224) Pause Final Mark 7.373ms > > > > > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Pause Final Mark > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Using 8 of 8 workers for final marking > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2513M, Max CSet: 853M, Min Garbage: 0B > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 CSet regions > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > > > > [2020-07-15T23:25:05.792+0000] GC(24251) Pause Final Mark 11.790ms > > > > > > > > > > > > The second issue I ran into was that the pacer seemed to be adding a lot of latency. I couldn?t find any traces in the logs of the pacer?s activity. The summary at shutdown from gc+stats is useful, but having some signs of the pacer in the gc logs as the application runs would help correlate against other logs showing latency spikes. Is there any way to get more visibility on the pacer? Disabling the pacer removed the latency impact and we started seeing some really positive signs on the latency. I was expecting that we?d just see more degenerated GC and the latency would be similar, but this wasn?t the case. > > > > > > > > I?m generally happy running with the pacer disabled, especially as it seems we?ll have more visibility into degenerated GCs than we will over the pacer, so we can track regression more easily. So I?m asking this more for understanding than solving a blocking issue. > > > > > > > > Happy to take any pointers or provide any more info that would help. > > > > > > > > Thanks, > > > > Niall > > > > > > > > > > > > > > > > From mathiske at amazon.com Tue Aug 4 16:52:06 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Tue, 4 Aug 2020 16:52:06 +0000 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> Message-ID: I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in this context and that's why only half the patch applied. In OpenJDK 15, both parts apply. ?On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" wrote: That did not help in this case. But thanks for the bug fix anyway! BTW, I could only apply the string table part of the patch, the ResolvedMethod part does not apply. So we've still got that problem with long pauses in final mark. Doubling parallel GC threads brought them from ~20ms to ~13. This only happens in final mark with class unloading. I found that there are three code blocks that could be responsible and maybe I have been looking at the wrong one. void ShenandoahHeap::stw_unload_classes(bool full_gc) { if (!unload_classes()) return; bool purged_class; // BLOCK 1 // Unload classes and purge SystemDictionary. { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_class_unload : ShenandoahPhaseTimings::purge_class_unload); purged_class = SystemDictionary::do_unloading(gc_timer()); } // BLOCK 2 { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_par : ShenandoahPhaseTimings::purge_par); ShenandoahIsAliveSelector is_alive; uint num_workers = _workers->active_workers(); ShenandoahParallelCleaningTask unlink_task(is_alive.is_alive_closure(), true, true, num_workers, purged_class); _workers->run_task(&unlink_task); } //BLOCK 3 { ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_cldg : ShenandoahPhaseTimings::purge_cldg); ClassLoaderDataGraph::purge(); } // Resize and verify metaspace MetaspaceGC::compute_new_size(); MetaspaceUtils::verify_metrics(); } And here are the timings we got in the GC log: ... System Purge 301 us Unload Classes 17824 us Weak Roots 301 us CLDG 1 us ... I suspect "Unload Classes" reports on BLOCK 1 only and not all three then? That would explain a lot. I can't find any reference to "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? Bernd On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, Bernd" wrote: Thanks! I'll add the patch and we will report back. On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hi Bernd, On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > Zhengyu, > > is this bug you filed directly related? > https://bugs.openjdk.java.net/browse/JDK-8250841 > > Do you expect that the patch you also posted might help here? > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) Yes, it is directly related and should help the pause times, but not sure by how much. -Zhengyu > > Bernd > > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Hi Niall, > > > > Based on all of this, we had some followup questions: > > > > * Is our understanding of -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to disable class unloading if set to false? > Yes, setting ClassUnloadingWithConcurrentMark to false, still disables > class unloading. > > > * Is there a way to get a detailed breakdown of final mark timing and/or class unloading to expose string/symbol table cleanup time? > Not now. We can add these timings. > > > * Is 16ms a reasonable duration to cleanup string/symbol tables given ~80K strings and ~310K symbols? > > I don't know. Roman & Aleksey may have some insights. > > > * Apart from increasing ShenandoahUnloadClassesFrequency, are there any options to reduce the impact of string/symbol table cleanup on final marking? > > There is possibility that we can move string table cleaning to > concurrent phase. I believe string table is a concurrent hash table in > 11u already. > > Thanks, > > -Zhengyu > > > > > > > > Thanks very much for your help! > > > > Niall and Bernd > > > > On 7/17/20, 08:38, "Zhengyu Gu" wrote: > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: > > > Thanks Zhengyu, I'm looking into this, I'm seeing a lot of class loaders containing a single class. I'll test with class unloading enabled. Considering it's disabled by default, is there a downside to enabling it? > > > > class unloading is also performed during final mark, so it impacts final > > mark pause as well, but probably without this accumulation effect. > > > > We have a parameter, ShenandoahUnloadClassesFrequency, to control > > frequency of class unloading when it is enabled, default is once every 5 > > GC cycles. You may want to tune the parameter to achieve some sort of > > balance. > > > > Thanks, > > > > -Zhengyu > > > > > > > > > > > > Roman & Aleksey, thanks for the details. I'm using 11.0.7, will setup a new test with an 11.0.8 build. > > > > > > Thanks, > > > Niall > > > > > > On 7/17/20, 06:35, "Zhengyu Gu" wrote: > > > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > > > > > Hi Niall, > > > > > > By default, class unloading is disabled for Shenandoah in JDK11. > > > Accumulated class loaders may prolong final mark. You may want to try: > > > > > > jcmd VM.classloader_stats > > > > > > If it is the case, you may want to try -XX:+ClassUnloadingWithConcurrentMark > > > > > > Thanks, > > > > > > -Zhengyu > > > > > > > > > > > > On 7/17/20 12:56 AM, Connaughton, Niall wrote: > > > > Hey all, firstly thanks for all the work on Shenandoah, I?m excited for its potential for us. > > > > > > > > I?ve been doing some testing and have run across a couple of issues that have me scratching my head. The first is Final Mark pauses are increasing steadily over several days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re 12-16ms. The heap occupancy is not ramping up, and neither are the concurrent cycle times, so I?m not sure what?s behind this. The application is running a 20GB heap, peaking around 35% live data heap occupancy, and allocating ~1.3-1.5GB/s. > > > > > > > > What angles can I look at to dig into the cause of increasing Final Mark pauses? I don?t see a lot of details on the Final Mark in the gc logs, and there doesn?t seem to be much difference in the logs over time, except for the pause duration increasing. Here?s an example of a Final Mark log for before/after comparison: > > > > > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Pause Final Mark > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Using 8 of 8 workers for final marking > > > > [2020-07-13T22:27:28.839+0000] GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2429M, Max CSet: 853M, Min Garbage: 0B > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 CSet regions > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > > > > [2020-07-13T22:27:28.843+0000] GC(2224) Pause Final Mark 7.373ms > > > > > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Pause Final Mark > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Using 8 of 8 workers for final marking > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2513M, Max CSet: 853M, Min Garbage: 0B > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 CSet regions > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > > > > [2020-07-15T23:25:05.792+0000] GC(24251) Pause Final Mark 11.790ms > > > > > > > > > > > > The second issue I ran into was that the pacer seemed to be adding a lot of latency. I couldn?t find any traces in the logs of the pacer?s activity. The summary at shutdown from gc+stats is useful, but having some signs of the pacer in the gc logs as the application runs would help correlate against other logs showing latency spikes. Is there any way to get more visibility on the pacer? Disabling the pacer removed the latency impact and we started seeing some really positive signs on the latency. I was expecting that we?d just see more degenerated GC and the latency would be similar, but this wasn?t the case. > > > > > > > > I?m generally happy running with the pacer disabled, especially as it seems we?ll have more visibility into degenerated GCs than we will over the pacer, so we can track regression more easily. So I?m asking this more for understanding than solving a blocking issue. > > > > > > > > Happy to take any pointers or provide any more info that would help. > > > > > > > > Thanks, > > > > Niall > > > > > > > > > > > > > > > > From zgu at redhat.com Tue Aug 4 19:02:15 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 4 Aug 2020 15:02:15 -0400 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> Message-ID: <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> Hi Bern, Please find my current patch for adding detail timings for class unloading cleanup works. I did not expect string table patch can make meaning impact, because it does not seem that many strings die from early logs. -Zhengyu On 8/4/20 12:52 PM, Mathiske, Bernd wrote: > I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in this context and that's why only half the patch applied. In OpenJDK 15, both parts apply. > > ?On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" wrote: > > That did not help in this case. But thanks for the bug fix anyway! > BTW, I could only apply the string table part of the patch, the ResolvedMethod part does not apply. > > So we've still got that problem with long pauses in final mark. Doubling parallel GC threads brought them from ~20ms to ~13. This only happens in final mark with class unloading. I found that there are three code blocks that could be responsible and maybe I have been looking at the wrong one. > > void ShenandoahHeap::stw_unload_classes(bool full_gc) { > if (!unload_classes()) return; > bool purged_class; > > // BLOCK 1 > // Unload classes and purge SystemDictionary. > { > ShenandoahGCPhase phase(full_gc ? > ShenandoahPhaseTimings::full_gc_purge_class_unload : > ShenandoahPhaseTimings::purge_class_unload); > purged_class = SystemDictionary::do_unloading(gc_timer()); > } > > // BLOCK 2 > { > ShenandoahGCPhase phase(full_gc ? > ShenandoahPhaseTimings::full_gc_purge_par : > ShenandoahPhaseTimings::purge_par); > ShenandoahIsAliveSelector is_alive; > uint num_workers = _workers->active_workers(); > ShenandoahParallelCleaningTask unlink_task(is_alive.is_alive_closure(), true, true, num_workers, purged_class); > _workers->run_task(&unlink_task); > } > > //BLOCK 3 > { > ShenandoahGCPhase phase(full_gc ? > ShenandoahPhaseTimings::full_gc_purge_cldg : > ShenandoahPhaseTimings::purge_cldg); > ClassLoaderDataGraph::purge(); > } > // Resize and verify metaspace > MetaspaceGC::compute_new_size(); > MetaspaceUtils::verify_metrics(); > } > > And here are the timings we got in the GC log: > ... > System Purge 301 us > Unload Classes 17824 us > Weak Roots 301 us > CLDG 1 us > ... > > I suspect "Unload Classes" reports on BLOCK 1 only and not all three then? That would explain a lot. I can't find any reference to "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? > > Bernd > > On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, Bernd" wrote: > > Thanks! I'll add the patch and we will report back. > > On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Hi Bernd, > > On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > > Zhengyu, > > > > is this bug you filed directly related? > > https://bugs.openjdk.java.net/browse/JDK-8250841 > > > > Do you expect that the patch you also posted might help here? > > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) > > Yes, it is directly related and should help the pause times, but not > sure by how much. > > -Zhengyu > > > > > Bernd > > > > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > Hi Niall, > > > > > > Based on all of this, we had some followup questions: > > > > > > * Is our understanding of -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to disable class unloading if set to false? > > Yes, setting ClassUnloadingWithConcurrentMark to false, still disables > > class unloading. > > > > > * Is there a way to get a detailed breakdown of final mark timing and/or class unloading to expose string/symbol table cleanup time? > > Not now. We can add these timings. > > > > > * Is 16ms a reasonable duration to cleanup string/symbol tables given ~80K strings and ~310K symbols? > > > > I don't know. Roman & Aleksey may have some insights. > > > > > * Apart from increasing ShenandoahUnloadClassesFrequency, are there any options to reduce the impact of string/symbol table cleanup on final marking? > > > > There is possibility that we can move string table cleaning to > > concurrent phase. I believe string table is a concurrent hash table in > > 11u already. > > > > Thanks, > > > > -Zhengyu > > > > > > > > > > > > > Thanks very much for your help! > > > > > > Niall and Bernd > > > > > > On 7/17/20, 08:38, "Zhengyu Gu" wrote: > > > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > > > > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: > > > > Thanks Zhengyu, I'm looking into this, I'm seeing a lot of class loaders containing a single class. I'll test with class unloading enabled. Considering it's disabled by default, is there a downside to enabling it? > > > > > > class unloading is also performed during final mark, so it impacts final > > > mark pause as well, but probably without this accumulation effect. > > > > > > We have a parameter, ShenandoahUnloadClassesFrequency, to control > > > frequency of class unloading when it is enabled, default is once every 5 > > > GC cycles. You may want to tune the parameter to achieve some sort of > > > balance. > > > > > > Thanks, > > > > > > -Zhengyu > > > > > > > > > > > > > > > > > Roman & Aleksey, thanks for the details. I'm using 11.0.7, will setup a new test with an 11.0.8 build. > > > > > > > > Thanks, > > > > Niall > > > > > > > > On 7/17/20, 06:35, "Zhengyu Gu" wrote: > > > > > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > > > > > > > > > Hi Niall, > > > > > > > > By default, class unloading is disabled for Shenandoah in JDK11. > > > > Accumulated class loaders may prolong final mark. You may want to try: > > > > > > > > jcmd VM.classloader_stats > > > > > > > > If it is the case, you may want to try -XX:+ClassUnloadingWithConcurrentMark > > > > > > > > Thanks, > > > > > > > > -Zhengyu > > > > > > > > > > > > > > > > On 7/17/20 12:56 AM, Connaughton, Niall wrote: > > > > > Hey all, firstly thanks for all the work on Shenandoah, I?m excited for its potential for us. > > > > > > > > > > I?ve been doing some testing and have run across a couple of issues that have me scratching my head. The first is Final Mark pauses are increasing steadily over several days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re 12-16ms. The heap occupancy is not ramping up, and neither are the concurrent cycle times, so I?m not sure what?s behind this. The application is running a 20GB heap, peaking around 35% live data heap occupancy, and allocating ~1.3-1.5GB/s. > > > > > > > > > > What angles can I look at to dig into the cause of increasing Final Mark pauses? I don?t see a lot of details on the Final Mark in the gc logs, and there doesn?t seem to be much difference in the logs over time, except for the pause duration increasing. Here?s an example of a Final Mark log for before/after comparison: > > > > > > > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Pause Final Mark > > > > > [2020-07-13T22:27:28.835+0000] GC(2224) Using 8 of 8 workers for final marking > > > > > [2020-07-13T22:27:28.839+0000] GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2429M, Max CSet: 853M, Min Garbage: 0B > > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 CSet regions > > > > > [2020-07-13T22:27:28.840+0000] GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > > > > > [2020-07-13T22:27:28.843+0000] GC(2224) Pause Final Mark 7.373ms > > > > > > > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Pause Final Mark > > > > > [2020-07-15T23:25:05.780+0000] GC(24251) Using 8 of 8 workers for final marking > > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: 2513M, Max CSet: 853M, Min Garbage: 0B > > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 CSet regions > > > > > [2020-07-15T23:25:05.787+0000] GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > > > > > [2020-07-15T23:25:05.792+0000] GC(24251) Pause Final Mark 11.790ms > > > > > > > > > > > > > > > The second issue I ran into was that the pacer seemed to be adding a lot of latency. I couldn?t find any traces in the logs of the pacer?s activity. The summary at shutdown from gc+stats is useful, but having some signs of the pacer in the gc logs as the application runs would help correlate against other logs showing latency spikes. Is there any way to get more visibility on the pacer? Disabling the pacer removed the latency impact and we started seeing some really positive signs on the latency. I was expecting that we?d just see more degenerated GC and the latency would be similar, but this wasn?t the case. > > > > > > > > > > I?m generally happy running with the pacer disabled, especially as it seems we?ll have more visibility into degenerated GCs than we will over the pacer, so we can track regression more easily. So I?m asking this more for understanding than solving a blocking issue. > > > > > > > > > > Happy to take any pointers or provide any more info that would help. > > > > > > > > > > Thanks, > > > > > Niall > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------- next part -------------- # HG changeset patch # Parent 102a1d3180f5b26806dd48e44d44020476e2bf4f diff -r 102a1d3180f5 -r 58d6824f8731 src/hotspot/share/gc/shenandoah/parallelCleaning.cpp --- a/src/hotspot/share/gc/shenandoah/parallelCleaning.cpp Tue Aug 04 09:23:49 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/parallelCleaning.cpp Tue Aug 04 14:46:22 2020 -0400 @@ -297,42 +297,57 @@ } } -ParallelCleaningTask::ParallelCleaningTask(BoolObjectClosure* is_alive, +ParallelCleaningTask::ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, + BoolObjectClosure* is_alive, bool process_strings, bool process_symbols, uint num_workers, bool unloading_occurred) : AbstractGangTask("Parallel Cleaning"), + _phase(phase), _string_symbol_task(is_alive, process_strings, process_symbols), _code_cache_task(num_workers, is_alive, unloading_occurred), _klass_cleaning_task(is_alive), _resolved_method_cleaning_task(is_alive) { - - } // The parallel work done by all worker threads. void ParallelCleaningTask::work(uint worker_id) { - // Do first pass of code cache cleaning. - _code_cache_task.work_first_pass(worker_id); + { + ShenandoahWorkerTimingsTracker x(_phase, ShenandoahPhaseTimings::CodeCacheRoots, worker_id); + // Do first pass of code cache cleaning. + _code_cache_task.work_first_pass(worker_id); - // Let the threads mark that the first pass is done. - _code_cache_task.barrier_mark(worker_id); + // Let the threads mark that the first pass is done. + _code_cache_task.barrier_mark(worker_id); + } - // Clean the Strings and Symbols. - _string_symbol_task.work(worker_id); + { + ShenandoahWorkerTimingsTracker x(_phase, ShenandoahPhaseTimings::StringTableRoots, worker_id); + // Clean the Strings and Symbols. + _string_symbol_task.work(worker_id); + } - // Clean unreferenced things in the ResolvedMethodTable - _resolved_method_cleaning_task.work(); + { + ShenandoahWorkerTimingsTracker x(_phase, ShenandoahPhaseTimings::ResolvedMethodTableRoots, worker_id); + // Clean unreferenced things in the ResolvedMethodTable + _resolved_method_cleaning_task.work(); + } - // Wait for all workers to finish the first code cache cleaning pass. - _code_cache_task.barrier_wait(worker_id); + { + ShenandoahWorkerTimingsTracker x(_phase, ShenandoahPhaseTimings::CodeCacheRoots_2, worker_id); + // Wait for all workers to finish the first code cache cleaning pass. + _code_cache_task.barrier_wait(worker_id); - // Do the second code cache cleaning work, which realize on - // the liveness information gathered during the first pass. - _code_cache_task.work_second_pass(worker_id); + // Do the second code cache cleaning work, which realize on + // the liveness information gathered during the first pass. + _code_cache_task.work_second_pass(worker_id); + } - // Clean all klasses that were not unloaded. - _klass_cleaning_task.work(); + { + ShenandoahWorkerTimingsTracker x(_phase, ShenandoahPhaseTimings::CLDGRoots, worker_id); + // Clean all klasses that were not unloaded. + _klass_cleaning_task.work(); + } } diff -r 102a1d3180f5 -r 58d6824f8731 src/hotspot/share/gc/shenandoah/parallelCleaning.hpp --- a/src/hotspot/share/gc/shenandoah/parallelCleaning.hpp Tue Aug 04 09:23:49 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/parallelCleaning.hpp Tue Aug 04 14:46:22 2020 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,6 +27,7 @@ #include "gc/shared/oopStorageParState.hpp" #include "gc/shared/workgroup.hpp" +#include "gc/shenandoah/shenandoahPhaseTimings.hpp" class StringSymbolTableUnlinkTask : public AbstractGangTask { private: @@ -138,14 +139,16 @@ // To minimize the remark pause times, the tasks below are done in parallel. class ParallelCleaningTask : public AbstractGangTask { private: - StringSymbolTableUnlinkTask _string_symbol_task; - CodeCacheUnloadingTask _code_cache_task; - KlassCleaningTask _klass_cleaning_task; - ResolvedMethodCleaningTask _resolved_method_cleaning_task; + StringSymbolTableUnlinkTask _string_symbol_task; + CodeCacheUnloadingTask _code_cache_task; + KlassCleaningTask _klass_cleaning_task; + ResolvedMethodCleaningTask _resolved_method_cleaning_task; + ShenandoahPhaseTimings::Phase _phase; public: // The constructor is run in the VMThread. - ParallelCleaningTask(BoolObjectClosure* is_alive, bool process_strings, bool process_symbols, uint num_workers, bool unloading_occurred); + ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, BoolObjectClosure* is_alive, bool process_strings, + bool process_symbols, uint num_workers, bool unloading_occurred); // The parallel work done by all worker threads. void work(uint worker_id); diff -r 102a1d3180f5 -r 58d6824f8731 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Aug 04 09:23:49 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Aug 04 14:46:22 2020 -0400 @@ -1930,15 +1930,21 @@ if (!unload_classes()) return; // Unload classes and purge SystemDictionary. + bool purged_class; { ShenandoahGCSubPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_class_unload : ShenandoahPhaseTimings::purge_class_unload); - bool purged_class = SystemDictionary::do_unloading(gc_timer()); - + purged_class = SystemDictionary::do_unloading(gc_timer()); + } + { + ShenandoahPhaseTimings::Phase p = full_gc ? + ShenandoahPhaseTimings::full_gc_purge_cleanup : + ShenandoahPhaseTimings::purge_cleanup; + ShenandoahGCSubPhase phase(p); ShenandoahIsAliveSelector is_alive; uint num_workers = _workers->active_workers(); - ParallelCleaningTask unlink_task(is_alive.is_alive_closure(), true, true, num_workers, purged_class); + ParallelCleaningTask unlink_task(p, is_alive.is_alive_closure(), true, true, num_workers, purged_class); _workers->run_task(&unlink_task); } diff -r 102a1d3180f5 -r 58d6824f8731 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Tue Aug 04 09:23:49 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Tue Aug 04 14:46:22 2020 -0400 @@ -103,9 +103,9 @@ case full_gc_update_roots: case full_gc_adjust_roots: case degen_gc_update_roots: - case full_gc_purge_class_unload: + case full_gc_purge_cleanup: case full_gc_purge_weak_par: - case purge_class_unload: + case purge_cleanup: case purge_weak_par: case heap_iteration_roots: return true; diff -r 102a1d3180f5 -r 58d6824f8731 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Aug 04 09:23:49 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Aug 04 14:46:22 2020 -0400 @@ -36,6 +36,7 @@ f(CNT_PREFIX ## TotalWork, DESC_PREFIX "") \ f(CNT_PREFIX ## ThreadRoots, DESC_PREFIX "Thread Roots") \ f(CNT_PREFIX ## CodeCacheRoots, DESC_PREFIX "Code Cache Roots") \ + f(CNT_PREFIX ## CodeCacheRoots_2, DESC_PREFIX "Code Cache Roots(2nd Pass)") \ f(CNT_PREFIX ## UniverseRoots, DESC_PREFIX "Universe Roots") \ f(CNT_PREFIX ## JNIRoots, DESC_PREFIX "JNI Handles Roots") \ f(CNT_PREFIX ## JVMTIWeakRoots, DESC_PREFIX "JVMTI Weak Roots") \ @@ -79,6 +80,7 @@ f(weakrefs_process, " Process") \ f(purge, " System Purge") \ f(purge_class_unload, " Unload Classes") \ + f(purge_cleanup, " Cleanup") \ SHENANDOAH_PAR_PHASE_DO(purge_cu_par_, " CU: ", f) \ f(purge_weak_par, " Weak Roots") \ SHENANDOAH_PAR_PHASE_DO(purge_weak_par_, " WR: ", f) \ @@ -129,6 +131,7 @@ f(full_gc_weakrefs_process, " Process") \ f(full_gc_purge, " System Purge") \ f(full_gc_purge_class_unload, " Unload Classes") \ + f(full_gc_purge_cleanup, " Cleanup") \ SHENANDOAH_PAR_PHASE_DO(full_gc_purge_cu_par_, " CU: ", f) \ f(full_gc_purge_weak_par, " Weak Roots") \ SHENANDOAH_PAR_PHASE_DO(full_gc_purge_weak_p_, " WR: ", f) \ From zgu at redhat.com Tue Aug 4 19:08:19 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 4 Aug 2020 15:08:19 -0400 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> Message-ID: Forgot to mention, the patch is based on jdk11u. Thanks, -Zhengyu On 8/4/20 3:02 PM, Zhengyu Gu wrote: > Hi Bern, > > Please find my current patch for adding detail timings for class > unloading cleanup works. > > I did not expect string table patch can make meaning impact, because it > does not seem that many strings die from early logs. > > -Zhengyu > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: >> I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in >> this context and that's why only half the patch applied. In OpenJDK >> 15, both parts apply. >> >> ?On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" >> > mathiske at amazon.com> wrote: >> >> ???? That did not help in this case. But thanks for the bug fix anyway! >> ???? BTW, I could only apply the string table part of the patch, the >> ResolvedMethod part does not apply. >> >> ???? So we've still got that problem with long pauses in final mark. >> Doubling parallel GC threads brought them from ~20ms to ~13. This only >> happens in final mark with class unloading. I found that there are >> three code blocks that could be responsible and maybe I have been >> looking at the wrong one. >> >> ???? void ShenandoahHeap::stw_unload_classes(bool full_gc) { >> ?????? if (!unload_classes()) return; >> ?????? bool purged_class; >> >> ???? // BLOCK 1 >> ?????? // Unload classes and purge SystemDictionary. >> ?????? { >> ???????? ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_class_unload : >> >> ShenandoahPhaseTimings::purge_class_unload); >> ???????? purged_class = SystemDictionary::do_unloading(gc_timer()); >> ?????? } >> >> ???? // BLOCK 2 >> ?????? { >> ???????? ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_par : >> ???????????????????????????????? ShenandoahPhaseTimings::purge_par); >> ???????? ShenandoahIsAliveSelector is_alive; >> ???????? uint num_workers = _workers->active_workers(); >> ???????? ShenandoahParallelCleaningTask >> unlink_task(is_alive.is_alive_closure(), true, true, num_workers, >> purged_class); >> ???????? _workers->run_task(&unlink_task); >> ?????? } >> >> ???? //BLOCK 3 >> ?????? { >> ???????? ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_cldg : >> ???????????????????????????????? ShenandoahPhaseTimings::purge_cldg); >> ???????? ClassLoaderDataGraph::purge(); >> ?????? } >> ?????? // Resize and verify metaspace >> ?????? MetaspaceGC::compute_new_size(); >> ?????? MetaspaceUtils::verify_metrics(); >> ???? } >> >> ???? And here are the timings we got in the GC log: >> ???? ... >> ?????? System Purge????????????????????? 301 us >> ???????? Unload Classes??????????????? 17824 us >> ???????? Weak Roots????????????????????? 301 us >> ???????? CLDG????????????????????????????? 1 us >> ???? ... >> >> ???? I suspect "Unload Classes" reports on BLOCK 1 only and not all >> three then? That would explain a lot. I can't find any reference to >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? >> >> ???? Bernd >> >> ???? On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, >> Bernd" > mathiske at amazon.com> wrote: >> >> ???????? Thanks! I'll add the patch and we will report back. >> >> ???????? On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: >> >> ???????????? CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> >> >> >> ???????????? Hi Bernd, >> >> ???????????? On 7/30/20 2:12 PM, Mathiske, Bernd wrote: >> ???????????? > Zhengyu, >> ???????????? > >> ???????????? > is this bug you filed directly related? >> ???????????? > https://bugs.openjdk.java.net/browse/JDK-8250841 >> ???????????? > >> ???????????? > Do you expect that the patch you also posted might help >> here? >> ???????????? > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) >> >> ???????????? Yes, it is directly related and should help the pause >> times, but not >> ???????????? sure by how much. >> >> ???????????? -Zhengyu >> >> ???????????? > >> ???????????? > Bernd >> ???????????? > >> ???????????? > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: >> ???????????? > >> ???????????? >????? CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> ???????????? > >> ???????????? > >> ???????????? > >> ???????????? >????? Hi Niall, >> ???????????? >????? > >> ???????????? >????? > Based on all of this, we had some followup >> questions: >> ???????????? >????? > >> ???????????? >????? > * Is our understanding of >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to >> disable class unloading if set to false? >> ???????????? >????? Yes, setting ClassUnloadingWithConcurrentMark to >> false, still disables >> ???????????? >????? class unloading. >> ???????????? > >> ???????????? >????? > * Is there a way to get a detailed breakdown of >> final mark timing and/or class unloading to expose string/symbol table >> cleanup time? >> ???????????? >????? Not now. We can add these timings. >> ???????????? > >> ???????????? >????? > * Is 16ms a reasonable duration to cleanup >> string/symbol tables given ~80K strings and ~310K symbols? >> ???????????? > >> ???????????? >????? I don't know. Roman & Aleksey may have some insights. >> ???????????? > >> ???????????? >????? > * Apart from increasing >> ShenandoahUnloadClassesFrequency, are there any options to reduce the >> impact of string/symbol table cleanup on final marking? >> ???????????? > >> ???????????? >????? There is possibility that we can move string table >> cleaning to >> ???????????? >????? concurrent phase. I believe string table is a >> concurrent hash table in >> ???????????? >????? 11u already. >> ???????????? > >> ???????????? >????? Thanks, >> ???????????? > >> ???????????? >????? -Zhengyu >> ???????????? > >> ???????????? > >> ???????????? >????? > >> ???????????? >????? > >> ???????????? >????? > Thanks very much for your help! >> ???????????? >????? > >> ???????????? >????? > Niall and Bernd >> ???????????? >????? > >> ???????????? >????? > On 7/17/20, 08:38, "Zhengyu Gu" >> wrote: >> ???????????? >????? > >> ???????????? >????? >????? CAUTION: This email originated from outside >> of the organization. Do not click links or open attachments unless you >> can confirm the sender and know the content is safe. >> ???????????? >????? > >> ???????????? >????? > >> ???????????? >????? > >> ???????????? >????? >????? On 7/17/20 11:13 AM, Connaughton, Niall wrote: >> ???????????? >????? >????? > Thanks Zhengyu, I'm looking into this, >> I'm seeing a lot of class loaders containing a single class. I'll test >> with class unloading enabled. Considering it's disabled by default, is >> there a downside to enabling it? >> ???????????? >????? > >> ???????????? >????? >????? class unloading is also performed during >> final mark, so it impacts final >> ???????????? >????? >????? mark pause as well, but probably without >> this accumulation effect. >> ???????????? >????? > >> ???????????? >????? >????? We have a parameter, >> ShenandoahUnloadClassesFrequency, to control >> ???????????? >????? >????? frequency of class unloading when it is >> enabled, default is once every 5 >> ???????????? >????? >????? GC cycles. You may want to tune the >> parameter to achieve some sort of >> ???????????? >????? >????? balance. >> ???????????? >????? > >> ???????????? >????? >????? Thanks, >> ???????????? >????? > >> ???????????? >????? >????? -Zhengyu >> ???????????? >????? > >> ???????????? >????? > >> ???????????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? > Roman & Aleksey, thanks for the details. >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. >> ???????????? >????? >????? > >> ???????????? >????? >????? > Thanks, >> ???????????? >????? >????? > Niall >> ???????????? >????? >????? > >> ???????????? >????? >????? > On 7/17/20, 06:35, "Zhengyu Gu" >> wrote: >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? CAUTION: This email originated from >> outside of the organization. Do not click links or open attachments >> unless you can confirm the sender and know the content is safe. >> ???????????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? Hi Niall, >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? By default, class unloading is >> disabled for Shenandoah in JDK11. >> ???????????? >????? >????? >????? Accumulated class loaders may >> prolong final mark. You may want to try: >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? jcmd VM.classloader_stats >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? If it is the case, you may want to >> try -XX:+ClassUnloadingWithConcurrentMark >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? Thanks, >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? -Zhengyu >> ???????????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? >????? On 7/17/20 12:56 AM, Connaughton, >> Niall wrote: >> ???????????? >????? >????? >????? > Hey all, firstly thanks for all >> the work on Shenandoah, I?m excited for its potential for us. >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > I?ve been doing some testing and >> have run across a couple of issues that have me scratching my head. >> The first is Final Mark pauses are increasing steadily over several >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re >> 12-16ms. The heap occupancy is not ramping up, and neither are the >> concurrent cycle times, so I?m not sure what?s behind this. The >> application is running a 20GB heap, peaking around 35% live data heap >> occupancy, and allocating ~1.3-1.5GB/s. >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > What angles can I look at to dig >> into the cause of increasing Final Mark pauses? I don?t see a lot of >> details on the Final Mark in the gc logs, and there doesn?t seem to be >> much difference in the logs over time, except for the pause duration >> increasing. Here?s an example of a Final Mark log for before/after >> comparison: >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.835+0000] >> GC(2224) Pause Final Mark >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.835+0000] >> GC(2224) Using 8 of 8 workers for final marking >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.839+0000] >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2429M, Max CSet: 853M, Min Garbage: 0B >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.840+0000] >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 >> CSet regions >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.840+0000] >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions >> ???????????? >????? >????? >????? > [2020-07-13T22:27:28.843+0000] >> GC(2224) Pause Final Mark 7.373ms >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.780+0000] >> GC(24251) Pause Final Mark >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.780+0000] >> GC(24251) Using 8 of 8 workers for final marking >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.787+0000] >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2513M, Max CSet: 853M, Min Garbage: 0B >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.787+0000] >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 >> CSet regions >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.787+0000] >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions >> ???????????? >????? >????? >????? > [2020-07-15T23:25:05.792+0000] >> GC(24251) Pause Final Mark 11.790ms >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > The second issue I ran into was >> that the pacer seemed to be adding a lot of latency. I couldn?t find >> any traces in the logs of the pacer?s activity. The summary at >> shutdown from gc+stats is useful, but having some signs of the pacer >> in the gc logs as the application runs would help correlate against >> other logs showing latency spikes. Is there any way to get more >> visibility on the pacer? Disabling the pacer removed the latency >> impact and we started seeing some really positive signs on the >> latency. I was expecting that we?d just see more degenerated GC and >> the latency would be similar, but this wasn?t the case. >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > I?m generally happy running with >> the pacer disabled, especially as it seems we?ll have more visibility >> into degenerated GCs than we will over the pacer, so we can track >> regression more easily. So I?m asking this more for understanding than >> solving a blocking issue. >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > Happy to take any pointers or >> provide any more info that would help. >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? >????? > Thanks, >> ???????????? >????? >????? >????? > Niall >> ???????????? >????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? >????? > >> ???????????? >????? > >> ???????????? >????? > >> ???????????? > >> ???????????? > >> >> >> >> From mathiske at amazon.com Tue Aug 4 19:20:22 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Tue, 4 Aug 2020 19:20:22 +0000 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> Message-ID: <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> Zhengyu, It is wonderful to have that patch. Thank you! I'll apply it and get some numbers. Bernd ?On 8/4/20, 12:09 PM, "Zhengyu Gu" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Forgot to mention, the patch is based on jdk11u. Thanks, -Zhengyu On 8/4/20 3:02 PM, Zhengyu Gu wrote: > Hi Bern, > > Please find my current patch for adding detail timings for class > unloading cleanup works. > > I did not expect string table patch can make meaning impact, because it > does not seem that many strings die from early logs. > > -Zhengyu > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: >> I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in >> this context and that's why only half the patch applied. In OpenJDK >> 15, both parts apply. >> >> On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" >> > mathiske at amazon.com> wrote: >> >> That did not help in this case. But thanks for the bug fix anyway! >> BTW, I could only apply the string table part of the patch, the >> ResolvedMethod part does not apply. >> >> So we've still got that problem with long pauses in final mark. >> Doubling parallel GC threads brought them from ~20ms to ~13. This only >> happens in final mark with class unloading. I found that there are >> three code blocks that could be responsible and maybe I have been >> looking at the wrong one. >> >> void ShenandoahHeap::stw_unload_classes(bool full_gc) { >> if (!unload_classes()) return; >> bool purged_class; >> >> // BLOCK 1 >> // Unload classes and purge SystemDictionary. >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_class_unload : >> >> ShenandoahPhaseTimings::purge_class_unload); >> purged_class = SystemDictionary::do_unloading(gc_timer()); >> } >> >> // BLOCK 2 >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_par : >> ShenandoahPhaseTimings::purge_par); >> ShenandoahIsAliveSelector is_alive; >> uint num_workers = _workers->active_workers(); >> ShenandoahParallelCleaningTask >> unlink_task(is_alive.is_alive_closure(), true, true, num_workers, >> purged_class); >> _workers->run_task(&unlink_task); >> } >> >> //BLOCK 3 >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_cldg : >> ShenandoahPhaseTimings::purge_cldg); >> ClassLoaderDataGraph::purge(); >> } >> // Resize and verify metaspace >> MetaspaceGC::compute_new_size(); >> MetaspaceUtils::verify_metrics(); >> } >> >> And here are the timings we got in the GC log: >> ... >> System Purge 301 us >> Unload Classes 17824 us >> Weak Roots 301 us >> CLDG 1 us >> ... >> >> I suspect "Unload Classes" reports on BLOCK 1 only and not all >> three then? That would explain a lot. I can't find any reference to >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? >> >> Bernd >> >> On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, >> Bernd" > mathiske at amazon.com> wrote: >> >> Thanks! I'll add the patch and we will report back. >> >> On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: >> >> CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> >> >> >> Hi Bernd, >> >> On 7/30/20 2:12 PM, Mathiske, Bernd wrote: >> > Zhengyu, >> > >> > is this bug you filed directly related? >> > https://bugs.openjdk.java.net/browse/JDK-8250841 >> > >> > Do you expect that the patch you also posted might help >> here? >> > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) >> >> Yes, it is directly related and should help the pause >> times, but not >> sure by how much. >> >> -Zhengyu >> >> > >> > Bernd >> > >> > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: >> > >> > CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> > >> > >> > >> > Hi Niall, >> > > >> > > Based on all of this, we had some followup >> questions: >> > > >> > > * Is our understanding of >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to >> disable class unloading if set to false? >> > Yes, setting ClassUnloadingWithConcurrentMark to >> false, still disables >> > class unloading. >> > >> > > * Is there a way to get a detailed breakdown of >> final mark timing and/or class unloading to expose string/symbol table >> cleanup time? >> > Not now. We can add these timings. >> > >> > > * Is 16ms a reasonable duration to cleanup >> string/symbol tables given ~80K strings and ~310K symbols? >> > >> > I don't know. Roman & Aleksey may have some insights. >> > >> > > * Apart from increasing >> ShenandoahUnloadClassesFrequency, are there any options to reduce the >> impact of string/symbol table cleanup on final marking? >> > >> > There is possibility that we can move string table >> cleaning to >> > concurrent phase. I believe string table is a >> concurrent hash table in >> > 11u already. >> > >> > Thanks, >> > >> > -Zhengyu >> > >> > >> > > >> > > >> > > Thanks very much for your help! >> > > >> > > Niall and Bernd >> > > >> > > On 7/17/20, 08:38, "Zhengyu Gu" >> wrote: >> > > >> > > CAUTION: This email originated from outside >> of the organization. Do not click links or open attachments unless you >> can confirm the sender and know the content is safe. >> > > >> > > >> > > >> > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: >> > > > Thanks Zhengyu, I'm looking into this, >> I'm seeing a lot of class loaders containing a single class. I'll test >> with class unloading enabled. Considering it's disabled by default, is >> there a downside to enabling it? >> > > >> > > class unloading is also performed during >> final mark, so it impacts final >> > > mark pause as well, but probably without >> this accumulation effect. >> > > >> > > We have a parameter, >> ShenandoahUnloadClassesFrequency, to control >> > > frequency of class unloading when it is >> enabled, default is once every 5 >> > > GC cycles. You may want to tune the >> parameter to achieve some sort of >> > > balance. >> > > >> > > Thanks, >> > > >> > > -Zhengyu >> > > >> > > >> > > >> > > > >> > > > Roman & Aleksey, thanks for the details. >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. >> > > > >> > > > Thanks, >> > > > Niall >> > > > >> > > > On 7/17/20, 06:35, "Zhengyu Gu" >> wrote: >> > > > >> > > > CAUTION: This email originated from >> outside of the organization. Do not click links or open attachments >> unless you can confirm the sender and know the content is safe. >> > > > >> > > > >> > > > >> > > > Hi Niall, >> > > > >> > > > By default, class unloading is >> disabled for Shenandoah in JDK11. >> > > > Accumulated class loaders may >> prolong final mark. You may want to try: >> > > > >> > > > jcmd VM.classloader_stats >> > > > >> > > > If it is the case, you may want to >> try -XX:+ClassUnloadingWithConcurrentMark >> > > > >> > > > Thanks, >> > > > >> > > > -Zhengyu >> > > > >> > > > >> > > > >> > > > On 7/17/20 12:56 AM, Connaughton, >> Niall wrote: >> > > > > Hey all, firstly thanks for all >> the work on Shenandoah, I?m excited for its potential for us. >> > > > > >> > > > > I?ve been doing some testing and >> have run across a couple of issues that have me scratching my head. >> The first is Final Mark pauses are increasing steadily over several >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re >> 12-16ms. The heap occupancy is not ramping up, and neither are the >> concurrent cycle times, so I?m not sure what?s behind this. The >> application is running a 20GB heap, peaking around 35% live data heap >> occupancy, and allocating ~1.3-1.5GB/s. >> > > > > >> > > > > What angles can I look at to dig >> into the cause of increasing Final Mark pauses? I don?t see a lot of >> details on the Final Mark in the gc logs, and there doesn?t seem to be >> much difference in the logs over time, except for the pause duration >> increasing. Here?s an example of a Final Mark log for before/after >> comparison: >> > > > > >> > > > > [2020-07-13T22:27:28.835+0000] >> GC(2224) Pause Final Mark >> > > > > [2020-07-13T22:27:28.835+0000] >> GC(2224) Using 8 of 8 workers for final marking >> > > > > [2020-07-13T22:27:28.839+0000] >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2429M, Max CSet: 853M, Min Garbage: 0B >> > > > > [2020-07-13T22:27:28.840+0000] >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 >> CSet regions >> > > > > [2020-07-13T22:27:28.840+0000] >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions >> > > > > [2020-07-13T22:27:28.843+0000] >> GC(2224) Pause Final Mark 7.373ms >> > > > > >> > > > > [2020-07-15T23:25:05.780+0000] >> GC(24251) Pause Final Mark >> > > > > [2020-07-15T23:25:05.780+0000] >> GC(24251) Using 8 of 8 workers for final marking >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2513M, Max CSet: 853M, Min Garbage: 0B >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 >> CSet regions >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions >> > > > > [2020-07-15T23:25:05.792+0000] >> GC(24251) Pause Final Mark 11.790ms >> > > > > >> > > > > >> > > > > The second issue I ran into was >> that the pacer seemed to be adding a lot of latency. I couldn?t find >> any traces in the logs of the pacer?s activity. The summary at >> shutdown from gc+stats is useful, but having some signs of the pacer >> in the gc logs as the application runs would help correlate against >> other logs showing latency spikes. Is there any way to get more >> visibility on the pacer? Disabling the pacer removed the latency >> impact and we started seeing some really positive signs on the >> latency. I was expecting that we?d just see more degenerated GC and >> the latency would be similar, but this wasn?t the case. >> > > > > >> > > > > I?m generally happy running with >> the pacer disabled, especially as it seems we?ll have more visibility >> into degenerated GCs than we will over the pacer, so we can track >> regression more easily. So I?m asking this more for understanding than >> solving a blocking issue. >> > > > > >> > > > > Happy to take any pointers or >> provide any more info that would help. >> > > > > >> > > > > Thanks, >> > > > > Niall >> > > > > >> > > > >> > > > >> > > >> > > >> > >> > >> >> >> >> From shade at redhat.com Wed Aug 5 06:44:16 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 5 Aug 2020 08:44:16 +0200 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 Message-ID: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> Upstream had published jdk-11.0.9+2. This brings the huge Shenandoah integration. The merge is tedious, but simple. The leftover differences against upstream are: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.9%2b2-leftovers/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Aug 5 08:46:15 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 5 Aug 2020 10:46:15 +0200 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 In-Reply-To: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> References: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> Message-ID: Good! I wonder if we simply want to get rid of remaining diffs altogether? Roman Aleksey Shipilev schrieb am Mi., 5. Aug. 2020, 08:45: > Upstream had published jdk-11.0.9+2. This brings the huge Shenandoah > integration. > > The merge is tedious, but simple. The leftover differences against > upstream are: > > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.9%2b2-leftovers/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > > -- > Thanks, > -Aleksey > > From shade at redhat.com Wed Aug 5 08:52:58 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 5 Aug 2020 10:52:58 +0200 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 In-Reply-To: References: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> Message-ID: On 8/5/20 10:46 AM, Roman Kennke wrote: > Good! > I wonder if we simply want to get rid of remaining diffs altogether? Not sure about that. I wonder what is up with JFR leftovers? Anyway, we would deal with sh/jdk11 once we switch the builds to upstream 11u proper. -- Thanks, -Aleksey From shade at redhat.com Wed Aug 5 08:55:58 2020 From: shade at redhat.com (shade at redhat.com) Date: Wed, 05 Aug 2020 08:55:58 +0000 Subject: hg: shenandoah/jdk11: 20 new changesets Message-ID: <202008050856.0758u0d8018504@aojmv0008.oracle.com> Changeset: 958423127de9 Author: mikael Date: 2020-01-14 19:27 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/958423127de9 8237182: Update copyright header for shenandoah and epsilon files Reviewed-by: iignatyev, zgu ! src/hotspot/share/gc/epsilon/epsilonBarrierSet.cpp ! src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/epsilon/epsilonMemoryPool.hpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.hpp ! src/hotspot/share/gc/epsilon/epsilonThreadLocalData.hpp ! test/hotspot/jtreg/gc/epsilon/TestMemoryMXBeans.java Changeset: 959d0caa9b7d Author: rkennke Date: 2020-07-29 17:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/959d0caa9b7d 8250784: Shenandoah: A Low-Pause-Time Garbage Collector Reviewed-by: aph, kdnilsen, adityam ! make/autoconf/hotspot.m4 ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/lib/JvmFeatures.gmk ! make/hotspot/lib/JvmOverrideFiles.gmk ! make/src/classes/build/tools/jfr/GenerateJfrFiles.java ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp + src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp + src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp + src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp + src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp + src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp + src/hotspot/cpu/x86/gc/shenandoah/shenandoah_x86_32.ad + src/hotspot/cpu/x86/gc/shenandoah/shenandoah_x86_64.ad ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp + src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp + src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp + src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp + src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp + src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp + src/hotspot/share/gc/shenandoah/markBitMap.cpp + src/hotspot/share/gc/shenandoah/markBitMap.hpp + src/hotspot/share/gc/shenandoah/markBitMap.inline.hpp + src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp + src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.hpp + src/hotspot/share/gc/shenandoah/mode/shenandoahMode.hpp + src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp + src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.hpp + src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp + src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.hpp + src/hotspot/share/gc/shenandoah/parallelCleaning.cpp + src/hotspot/share/gc/shenandoah/parallelCleaning.hpp + src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp + src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp + src/hotspot/share/gc/shenandoah/shenandoahArguments.hpp + src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp + src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp + src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp + src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp + src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp + src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp + src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp + src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp + src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp + src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp + src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.cpp + src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp + src/hotspot/share/gc/shenandoah/shenandoahForwarding.hpp + src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp + src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp + src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp + src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.cpp + src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.hpp + src/hotspot/share/gc/shenandoah/shenandoahLock.hpp + src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp + src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp + src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp + src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp + src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp + src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp + src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp + src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp + src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp + src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.hpp + src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp + src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp + src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp + src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp + src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp + src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.cpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp + src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp + src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp + src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp + src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp + src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp + src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp + src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp + src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueue.cpp + src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueue.hpp + src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp + src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp + src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp + src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp + src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp + src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp + src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp + src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp + src/hotspot/share/gc/shenandoah/shenandoahTracer.hpp + src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp + src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp + src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp + src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp + src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp + src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp + src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp + src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp + src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp + src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp + src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp + src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp + src/hotspot/share/jfr/metadata/metadata-shenandoah.xml ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stackValue.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/macros.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HSDB.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeapName.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCName.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/memory/Universe.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMOps.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java + test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java ! test/hotspot/jtreg/gc/TestFullGCCount.java ! test/hotspot/jtreg/gc/TestHumongousReferenceObject.java ! test/hotspot/jtreg/gc/TestSystemGC.java ! test/hotspot/jtreg/gc/arguments/TestAlignmentToUseLargePages.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestShrinkHeapInSteps.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestTargetSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java ! test/hotspot/jtreg/gc/class_unloading/TestClassUnloadingDisabled.java ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/ergonomics/TestInitialGCThreadLogging.java ! test/hotspot/jtreg/gc/logging/TestGCId.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java + test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java + test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java + test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java + test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java + test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java + test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java + test/hotspot/jtreg/gc/shenandoah/TestElasticTLAB.java + test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java + test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java + test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java + test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java + test/hotspot/jtreg/gc/shenandoah/TestLargeObjectAlignment.java + test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java + test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java + test/hotspot/jtreg/gc/shenandoah/TestParallelRefprocSanity.java + test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java + test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java + test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java + test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java + test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java + test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java + test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java + test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java + test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java + test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java + test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java + test/hotspot/jtreg/gc/shenandoah/TestWithLogLevel.java + test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java + test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java + test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java + test/hotspot/jtreg/gc/shenandoah/compiler/FoldIfAfterExpansion.java + test/hotspot/jtreg/gc/shenandoah/compiler/LRBRightAfterMemBar.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestC1ArrayCopyNPE.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestC1VectorizedMismatch.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestExpandedWBLostNullCheckDep.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestMaybeNullUnsafeAccess.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestShenandoahCmpPAfterCall.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestUnsafeOffheapSwap.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestWriteBarrierClearControl.java + test/hotspot/jtreg/gc/shenandoah/jni/CriticalNativeArgs.java + test/hotspot/jtreg/gc/shenandoah/jni/CriticalNativeStress.java + test/hotspot/jtreg/gc/shenandoah/jni/TestJNICritical.java + test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java + test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java + test/hotspot/jtreg/gc/shenandoah/jni/libCriticalNative.c + test/hotspot/jtreg/gc/shenandoah/jni/libTestJNICritical.c + test/hotspot/jtreg/gc/shenandoah/jni/libTestJNIGlobalRefs.c + test/hotspot/jtreg/gc/shenandoah/jni/libTestPinnedGarbage.c + test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java + test/hotspot/jtreg/gc/shenandoah/jvmti/libTestHeapDump.c + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryMXBeans.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryPools.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java + test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java + test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java + test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java + test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java + test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java + test/hotspot/jtreg/gc/shenandoah/options/TestAlwaysPreTouch.java + test/hotspot/jtreg/gc/shenandoah/options/TestArgumentRanges.java + test/hotspot/jtreg/gc/shenandoah/options/TestClassUnloadingArguments.java + test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java + test/hotspot/jtreg/gc/shenandoah/options/TestCriticalControlThreadPriority.java + test/hotspot/jtreg/gc/shenandoah/options/TestEnabled.java + test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java + test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGCNoConcurrent.java + test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java + test/hotspot/jtreg/gc/shenandoah/options/TestHumongousMoves.java + test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java + test/hotspot/jtreg/gc/shenandoah/options/TestLoopMiningArguments.java + test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java + test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java + test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java + test/hotspot/jtreg/gc/shenandoah/options/TestParallelRegionStride.java + test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java + test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java + test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreaded.java + test/hotspot/jtreg/gc/shenandoah/options/TestThreadCounts.java + test/hotspot/jtreg/gc/shenandoah/options/TestThreadCountsOverride.java + test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java + test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java + test/hotspot/jtreg/gc/startup_warnings/TestShenandoah.java + test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java + test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithShenandoah.java + test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java + test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java ! test/hotspot/jtreg/gc/survivorAlignment/TestAllocationInEden.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionToSurvivor.java ! test/hotspot/jtreg/gc/whitebox/TestWBGC.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCapacityTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest03.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java ! test/jdk/TEST.ROOT + test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahHeapRegionInformationEvent.java + test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahHeapRegionStateChangeEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/jdk/test/lib/jfr/GCHelper.java ! test/lib/sun/hotspot/gc/GC.java Changeset: c93a0088d193 Author: rhalade Date: 2020-07-29 09:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c93a0088d193 8243321: Add Entrust root CA - G4 to Oracle Root CA program Reviewed-by: mullan + make/data/cacerts/entrustrootcag4 ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/EntrustCA.java ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 7b2c07df8278 Author: neliasso Date: 2019-07-10 18:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7b2c07df8278 8226536: Catch OOM from deopt that fails rematerializing objects Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java Changeset: 3c26788693dd Author: vlivanov Date: 2020-07-14 16:57 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3c26788693dd 8247502: PhaseStringOpts crashes while optimising effectively dead code Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/stringopts.cpp Changeset: fa239b395181 Author: jlahoda Date: 2019-05-09 11:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/fa239b395181 8221759: Crash when completing \"java.io.File.path\" Summary: Do not provide documentation for inaccessible elements. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java ! test/langtools/jdk/jshell/ToolTabSnippetTest.java Changeset: b2ee4f71dff9 Author: lancea Date: 2019-09-17 14:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b2ee4f71dff9 8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java Reviewed-by: clanger, martin + test/jdk/jdk/nio/zipfs/LargeEntriesTest.java Changeset: a22d713d7a26 Author: coleenp Date: 2019-11-01 10:04 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a22d713d7a26 8233386: Initialize NULL fields for unused decorations Reviewed-by: shade, hseigel, dcubed ! src/hotspot/share/logging/logDecorations.cpp Changeset: a22118d40f54 Author: joehw Date: 2019-11-14 18:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a22118d40f54 8233686: XML transformer uses excessive amount of memory Summary: remove unnecessary object creation and also update xalan.md file Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2TO.java ! src/java.xml/share/legal/xalan.md Changeset: aa8eb9a45a1d Author: dfuchs Date: 2020-01-14 11:45 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aa8eb9a45a1d 8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out Summary: modify the test to accept the peer socket before closing the client socket Reviewed-by: alanb ! test/jdk/java/nio/channels/AsynchronousSocketChannel/Basic.java Changeset: 8200922e37fa Author: fyuan Date: 2019-08-28 11:00 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8200922e37fa 8230010: Remove jdk8037819/BasicTest1.java 8230002: javax/xml/jaxp/unittest/transform/SecureProcessingTest.java runs zero test Reviewed-by: joehw, vtewari ! test/jaxp/javax/xml/jaxp/unittest/transform/SecureProcessingTest.java - test/jdk/javax/xml/jaxp/testng/validation/jdk8037819/BasicTest1.java Changeset: a75956082916 Author: sgehwolf Date: 2020-07-24 19:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a75956082916 8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics Reviewed-by: aph, dholmes, bobv, shade ! make/hotspot/symbols/symbols-linux ! src/hotspot/share/include/jvm.h ! src/hotspot/share/prims/jvm.cpp ! src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java + src/java.base/linux/native/libjava/Metrics.c + test/jdk/jdk/internal/platform/docker/CheckUseContainerSupport.java + test/jdk/jdk/internal/platform/docker/TestUseContainerSupport.java Changeset: dfce81c467c1 Author: serb Date: 2020-07-31 00:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/dfce81c467c1 8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java Reviewed-by: jdv ! test/jdk/javax/imageio/plugins/shared/CanWriteSequence.java Changeset: 102a1d3180f5 Author: zgu Date: 2020-08-04 09:23 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/102a1d3180f5 8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/parallelCleaning.cpp Changeset: d093041ef3c4 Author: fyang Date: 2020-07-28 10:38 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d093041ef3c4 8250609: C2 crash in IfNode::fold_compares Reviewed-by: kvn, chagedorn Contributed-by: wanghuang3 at huawei.com ! src/hotspot/share/opto/ifnode.cpp + test/hotspot/jtreg/compiler/c2/TestFoldCompares.java Changeset: a1fc8133eef5 Author: fyang Date: 2019-04-08 14:40 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a1fc8133eef5 8221658: aarch64: add necessary predicate for ubfx patterns Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_ad.m4 Changeset: 3112657edde9 Author: itakiguchi Date: 2020-03-18 18:04 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3112657edde9 8232161: Align some one-way conversion in MS950 charset with Windows Summary: MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: d67b0f64be45 Author: clanger Date: 2020-08-05 07:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d67b0f64be45 Added tag jdk-11.0.9+2 for changeset 3112657edde9 ! .hgtags Changeset: cac2f9c24788 Author: shade Date: 2020-08-05 10:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/cac2f9c24788 Merge ! .hgtags ! make/autoconf/hotspot.m4 ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/hotspot/lib/JvmFeatures.gmk ! make/hotspot/lib/JvmOverrideFiles.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/code/codeBlob.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcConfiguration.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp ! src/hotspot/share/gc/shenandoah/markBitMap.cpp ! src/hotspot/share/gc/shenandoah/markBitMap.hpp ! src/hotspot/share/gc/shenandoah/markBitMap.inline.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahMode.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.hpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp ! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.hpp ! src/hotspot/share/gc/shenandoah/parallelCleaning.cpp ! src/hotspot/share/gc/shenandoah/parallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.cpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stackValue.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/macros.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeapName.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/GCCause.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/memory/Universe.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java ! test/hotspot/jtreg/gc/TestFullGCCount.java ! test/hotspot/jtreg/gc/TestHumongousReferenceObject.java ! test/hotspot/jtreg/gc/TestSystemGC.java ! test/hotspot/jtreg/gc/arguments/TestAlignmentToUseLargePages.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java ! test/hotspot/jtreg/gc/class_unloading/TestClassUnloadingDisabled.java ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/ergonomics/TestInitialGCThreadLogging.java ! test/hotspot/jtreg/gc/logging/TestGCId.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java ! test/hotspot/jtreg/gc/shenandoah/TestElasticTLAB.java ! test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java ! test/hotspot/jtreg/gc/shenandoah/TestLargeObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/TestParallelRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java ! test/hotspot/jtreg/gc/shenandoah/TestWithLogLevel.java ! test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java ! test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestC1ArrayCopyNPE.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestC1VectorizedMismatch.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestExpandedWBLostNullCheckDep.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestMaybeNullUnsafeAccess.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestWriteBarrierClearControl.java ! test/hotspot/jtreg/gc/shenandoah/jni/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/shenandoah/jni/CriticalNativeStress.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNICritical.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/jni/libCriticalNative.c ! test/hotspot/jtreg/gc/shenandoah/jni/libTestJNICritical.c ! test/hotspot/jtreg/gc/shenandoah/jni/libTestJNIGlobalRefs.c ! test/hotspot/jtreg/gc/shenandoah/jni/libTestPinnedGarbage.c ! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/jvmti/libTestHeapDump.c ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryMXBeans.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryPools.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java ! test/hotspot/jtreg/gc/shenandoah/options/TestAlwaysPreTouch.java ! test/hotspot/jtreg/gc/shenandoah/options/TestArgumentRanges.java ! test/hotspot/jtreg/gc/shenandoah/options/TestClassUnloadingArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java ! test/hotspot/jtreg/gc/shenandoah/options/TestCriticalControlThreadPriority.java ! test/hotspot/jtreg/gc/shenandoah/options/TestEnabled.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGCNoConcurrent.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestLoopMiningArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java ! test/hotspot/jtreg/gc/shenandoah/options/TestParallelRegionStride.java ! test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreaded.java ! test/hotspot/jtreg/gc/shenandoah/options/TestThreadCounts.java ! test/hotspot/jtreg/gc/shenandoah/options/TestThreadCountsOverride.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java ! test/hotspot/jtreg/gc/startup_warnings/TestShenandoah.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahHeapRegionInformationEvent.java ! test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahHeapRegionStateChangeEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/sun/hotspot/gc/GC.java Changeset: f01915212b47 Author: shade Date: 2020-08-05 10:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f01915212b47 Added tag shenandoah-jdk-11.0.9+2 for changeset cac2f9c24788 ! .hgtags From shade at redhat.com Wed Aug 5 12:34:26 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 5 Aug 2020 14:34:26 +0200 Subject: [11] Revert upstream difference with UseShenandoahGC undefined Message-ID: Seems like non-Shenandoah sh/jdk11 builds fail with: /home/buildbot/worker/build-shenandoah-jdk11-linux/build/src/hotspot/share/gc/shared/gcConfig.cpp: In static member function ?static void GCConfig::fail_if_unsupported_gc_is_selected()?: /home/buildbot/worker/build-shenandoah-jdk11-linux/build/src/hotspot/share/gc/shared/gcConfig.cpp:105:37: error: ?UseShenandoahGC? was not declared in this scope NOT_SHENANDOAHGC(FAIL_IF_SELECTED(UseShenandoahGC, true)); I think we need to remove the upstream difference in gcConfig and TestDisableDefaultGC.java: https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/ This does it: diff -r f01915212b47 src/hotspot/share/gc/shared/gcConfig.cpp --- a/src/hotspot/share/gc/shared/gcConfig.cpp Wed Aug 05 10:55:41 2020 +0200 +++ b/src/hotspot/share/gc/shared/gcConfig.cpp Wed Aug 05 14:33:32 2020 +0200 @@ -103,5 +103,4 @@ NOT_SERIALGC( FAIL_IF_SELECTED(UseSerialGC, true)); NOT_SERIALGC( FAIL_IF_SELECTED(UseParallelOldGC, false)); - NOT_SHENANDOAHGC(FAIL_IF_SELECTED(UseShenandoahGC, true)); NOT_ZGC( FAIL_IF_SELECTED(UseZGC, true)); } diff -r f01915212b47 test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java --- a/test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java Wed Aug 05 10:55:41 2020 +0200 +++ b/test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java Wed Aug 05 14:33:32 2020 +0200 @@ -45,5 +45,4 @@ "-XX:-UseConcMarkSweepGC", "-XX:+UnlockExperimentalVMOptions", - "-XX:-UseShenandoahGC", "-XX:-UseZGC", "-version"); Testing: builds -- Thanks, -Aleksey From zgu at redhat.com Wed Aug 5 12:46:37 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 5 Aug 2020 08:46:37 -0400 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 In-Reply-To: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> References: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> Message-ID: <78701da4-9355-08ce-4068-bc792bcfef29@redhat.com> Okay. -Zhengyu On 8/5/20 2:44 AM, Aleksey Shipilev wrote: > Upstream had published jdk-11.0.9+2. This brings the huge Shenandoah integration. > > The merge is tedious, but simple. The leftover differences against upstream are: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.9%2b2-leftovers/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From rkennke at redhat.com Wed Aug 5 13:09:51 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 5 Aug 2020 15:09:51 +0200 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 In-Reply-To: <78701da4-9355-08ce-4068-bc792bcfef29@redhat.com> References: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> <78701da4-9355-08ce-4068-bc792bcfef29@redhat.com> Message-ID: JFR leftovers are ok, and infact may be harmful. Shenandoah definitions are in separate metadata-shenandoah.xml file now. Zhengyu Gu schrieb am Mi., 5. Aug. 2020, 14:47: > Okay. > > -Zhengyu > > On 8/5/20 2:44 AM, Aleksey Shipilev wrote: > > Upstream had published jdk-11.0.9+2. This brings the huge Shenandoah > integration. > > > > The merge is tedious, but simple. The leftover differences against > upstream are: > > > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.9%2b2-leftovers/webrev.01/ > > > > Testing: hotspot_gc_shenandoah {fastdebug,release} > > > > From rkennke at redhat.com Wed Aug 5 15:54:29 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 5 Aug 2020 17:54:29 +0200 Subject: [11] Revert upstream difference with UseShenandoahGC undefined In-Reply-To: References: Message-ID: Looks good. Thank you, Roman Aleksey Shipilev schrieb am Mi., 5. Aug. 2020, 14:35: > Seems like non-Shenandoah sh/jdk11 builds fail with: > > > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/src/hotspot/share/gc/shared/gcConfig.cpp: > In static member function ?static void > GCConfig::fail_if_unsupported_gc_is_selected()?: > > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/src/hotspot/share/gc/shared/gcConfig.cpp:105:37: > error: ?UseShenandoahGC? was not declared in this scope > NOT_SHENANDOAHGC(FAIL_IF_SELECTED(UseShenandoahGC, true)); > > I think we need to remove the upstream difference in gcConfig and > TestDisableDefaultGC.java: > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/ > > This does it: > > diff -r f01915212b47 src/hotspot/share/gc/shared/gcConfig.cpp > --- a/src/hotspot/share/gc/shared/gcConfig.cpp Wed Aug 05 10:55:41 2020 > +0200 > +++ b/src/hotspot/share/gc/shared/gcConfig.cpp Wed Aug 05 14:33:32 2020 > +0200 > @@ -103,5 +103,4 @@ > NOT_SERIALGC( FAIL_IF_SELECTED(UseSerialGC, true)); > NOT_SERIALGC( FAIL_IF_SELECTED(UseParallelOldGC, false)); > - NOT_SHENANDOAHGC(FAIL_IF_SELECTED(UseShenandoahGC, true)); > NOT_ZGC( FAIL_IF_SELECTED(UseZGC, true)); > } > diff -r f01915212b47 > test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java > --- a/test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java Wed Aug 05 > 10:55:41 2020 +0200 > +++ b/test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java Wed Aug 05 > 14:33:32 2020 +0200 > @@ -45,5 +45,4 @@ > > "-XX:-UseConcMarkSweepGC", > > "-XX:+UnlockExperimentalVMOptions", > - > "-XX:-UseShenandoahGC", > > "-XX:-UseZGC", > > "-version"); > > Testing: builds > > -- > Thanks, > -Aleksey > > From zgu at redhat.com Wed Aug 5 16:13:11 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 5 Aug 2020 12:13:11 -0400 Subject: [16] RFR 8251192: Shenandoah: Shenandoah build failed after JDK-8235573 Message-ID: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> Please review this small patch that fixes build failure with Shenandoah. Bug: https://bugs.openjdk.java.net/browse/JDK-8251192 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251192/webrev.00/ Test: Built on Linux x86_84 Thanks, -Zhengyu From mathiske at amazon.com Wed Aug 5 18:27:35 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Wed, 5 Aug 2020 18:27:35 +0000 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> Message-ID: <283FBC35-978C-4669-8A3A-68CD0761F71F@amazon.com> Zhengyu, Here are GC timings from the GC log of a service with which we tried Shenandoah in OpenJDK 11.08. Thanks to your patch we see parallel cleaning nicely broken out ("CU:" below). [2020-08-05T17:53:00.395+0000] Concurrent Reset 18790 us [2020-08-05T17:53:00.395+0000] Pause Init Mark (G) 3899 us [2020-08-05T17:53:00.395+0000] Pause Init Mark (N) 1455 us [2020-08-05T17:53:00.395+0000] Accumulate Stats 140 us [2020-08-05T17:53:00.395+0000] Make Parsable 359 us [2020-08-05T17:53:00.395+0000] Update Region States 83 us [2020-08-05T17:53:00.395+0000] Scan Roots 709 us, parallelism: 9.12x [2020-08-05T17:53:00.395+0000] S: 6467 us [2020-08-05T17:53:00.395+0000] S: Thread Roots 5668 us, workers (us): 368, 372, 372, 371, 207, 366, 369, 365, 420, 416, 415, 408, 404, 401, 392, 23, [2020-08-05T17:53:00.395+0000] S: Universe Roots 2 us, workers (us): 2, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: JNI Handles Roots 3 us, workers (us): 3, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: Synchronizer Roots 0 us, workers (us): 0, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: Management Roots 2 us, workers (us): 2, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: System Dict Roots 16 us, workers (us): ---, 16, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: CLDG Roots 774 us, workers (us): 86, 76, 88, 81, 236, 72, 68, 66, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] S: JVMTI Roots 1 us, workers (us): 1, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] Resize TLABs 53 us [2020-08-05T17:53:00.395+0000] Concurrent Marking 188933 us [2020-08-05T17:53:00.395+0000] Pause Final Mark (G) 16049 us [2020-08-05T17:53:00.395+0000] Pause Final Mark (N) 13660 us [2020-08-05T17:53:00.395+0000] Finish Queues 647 us [2020-08-05T17:53:00.395+0000] System Purge 126 us [2020-08-05T17:53:00.395+0000] Unload Classes 589 us [2020-08-05T17:53:00.395+0000] Cleanup 10206 us, parallelism: 15.79x [2020-08-05T17:53:00.395+0000] CU: 161151 us [2020-08-05T17:53:00.395+0000] CU: Code Cache Roots 56381 us, workers (us): 3588, 3524, 3588, 3537, 3524, 3529, 3539, 3541, 3550, 3502, 3518, 3487, 3483, 3493, 3476, 3502, [2020-08-05T17:53:00.395+0000] CU: Code Cache Roots(2nd Pass) 10696 us, workers (us): 665, 672, 672, 667, 664, 684, 684, 681, 671, 684, 683, 682, 558, 671, 676, 682, [2020-08-05T17:53:00.395+0000] CU: String Table Roots 26639 us, workers (us): 1642, 1692, 1627, 1678, 1692, 1663, 1649, 1647, 1646, 1676, 1660, 1681, 1672, 1677, 1688, 1650, [2020-08-05T17:53:00.395+0000] CU: Resolved Table Roots 134 us, workers (us): 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, [2020-08-05T17:53:00.395+0000] CU: CLDG Roots 67301 us, workers (us): 4199, 4197, 4244, 4223, 4202, 4205, 4198, 4197, 4200, 4199, 4198, 4207, 4236, 4198, 4197, 4201, [2020-08-05T17:53:00.395+0000] Weak Roots 125 us [2020-08-05T17:53:00.395+0000] CLDG 1 us [2020-08-05T17:53:00.395+0000] Update Region States 77 us [2020-08-05T17:53:00.395+0000] Retire TLABs 353 us [2020-08-05T17:53:00.395+0000] Choose Collection Set 274 us [2020-08-05T17:53:00.395+0000] Rebuild Free Set 16 us [2020-08-05T17:53:00.395+0000] Initial Evacuation 1307 us, parallelism: 9.74x [2020-08-05T17:53:00.395+0000] E: 12729 us [2020-08-05T17:53:00.395+0000] E: Thread Roots 7530 us, workers (us): 441, 460, 503, 457, 467, 472, 522, 474, 528, 457, 434, 524, 456, 365, 555, 416, [2020-08-05T17:53:00.395+0000] E: Code Cache Roots 3356 us, workers (us): 354, 333, 336, 160, 327, 134, 141, 129, 337, 336, 361, 111, 148, 0, 148, 0, [2020-08-05T17:53:00.395+0000] E: Universe Roots 1 us, workers (us): 1, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] E: JNI Handles Roots 1 us, workers (us): 1, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] E: Synchronizer Roots 0 us, workers (us): 0, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] E: Management Roots 2 us, workers (us): 2, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] E: System Dict Roots 11 us, workers (us): ---, 11, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] E: CLDG Roots 1828 us, workers (us): ---, ---, ---, 190, ---, 190, 190, 190, ---, ---, ---, 254, 191, 431, 191, ---, [2020-08-05T17:53:00.395+0000] E: JVMTI Roots 1 us, workers (us): 1, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, [2020-08-05T17:53:00.395+0000] Concurrent Cleanup 39 us Now we see that the long poles for STW pauses in this service are the code cache and CLDG root tasks in parallel cleaning ("Cleanup"). If we could subdue those we could consistently get into single-digit ms max pause territory. In later OpenJDK releases, we see efforts to make such phases concurrent, so there is potential for backports. Alternatively, in case there are any problems in any of those cases, one could possibly split up the sub tasks across multiple GC cycles. Do they really all have to run in the same cycle? Are there known dependencies that link some tasks into the same cycle? (I suspect such a link between the class unloading block and the two code cache scanning blocks.) Bernd ?On 8/4/20, 12:20 PM, "Mathiske, Bernd" wrote: Zhengyu, It is wonderful to have that patch. Thank you! I'll apply it and get some numbers. Bernd On 8/4/20, 12:09 PM, "Zhengyu Gu" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Forgot to mention, the patch is based on jdk11u. Thanks, -Zhengyu On 8/4/20 3:02 PM, Zhengyu Gu wrote: > Hi Bern, > > Please find my current patch for adding detail timings for class > unloading cleanup works. > > I did not expect string table patch can make meaning impact, because it > does not seem that many strings die from early logs. > > -Zhengyu > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: >> I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in >> this context and that's why only half the patch applied. In OpenJDK >> 15, both parts apply. >> >> On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" >> > mathiske at amazon.com> wrote: >> >> That did not help in this case. But thanks for the bug fix anyway! >> BTW, I could only apply the string table part of the patch, the >> ResolvedMethod part does not apply. >> >> So we've still got that problem with long pauses in final mark. >> Doubling parallel GC threads brought them from ~20ms to ~13. This only >> happens in final mark with class unloading. I found that there are >> three code blocks that could be responsible and maybe I have been >> looking at the wrong one. >> >> void ShenandoahHeap::stw_unload_classes(bool full_gc) { >> if (!unload_classes()) return; >> bool purged_class; >> >> // BLOCK 1 >> // Unload classes and purge SystemDictionary. >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_class_unload : >> >> ShenandoahPhaseTimings::purge_class_unload); >> purged_class = SystemDictionary::do_unloading(gc_timer()); >> } >> >> // BLOCK 2 >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_par : >> ShenandoahPhaseTimings::purge_par); >> ShenandoahIsAliveSelector is_alive; >> uint num_workers = _workers->active_workers(); >> ShenandoahParallelCleaningTask >> unlink_task(is_alive.is_alive_closure(), true, true, num_workers, >> purged_class); >> _workers->run_task(&unlink_task); >> } >> >> //BLOCK 3 >> { >> ShenandoahGCPhase phase(full_gc ? >> >> ShenandoahPhaseTimings::full_gc_purge_cldg : >> ShenandoahPhaseTimings::purge_cldg); >> ClassLoaderDataGraph::purge(); >> } >> // Resize and verify metaspace >> MetaspaceGC::compute_new_size(); >> MetaspaceUtils::verify_metrics(); >> } >> >> And here are the timings we got in the GC log: >> ... >> System Purge 301 us >> Unload Classes 17824 us >> Weak Roots 301 us >> CLDG 1 us >> ... >> >> I suspect "Unload Classes" reports on BLOCK 1 only and not all >> three then? That would explain a lot. I can't find any reference to >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? >> >> Bernd >> >> On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, >> Bernd" > mathiske at amazon.com> wrote: >> >> Thanks! I'll add the patch and we will report back. >> >> On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: >> >> CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> >> >> >> Hi Bernd, >> >> On 7/30/20 2:12 PM, Mathiske, Bernd wrote: >> > Zhengyu, >> > >> > is this bug you filed directly related? >> > https://bugs.openjdk.java.net/browse/JDK-8250841 >> > >> > Do you expect that the patch you also posted might help >> here? >> > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) >> >> Yes, it is directly related and should help the pause >> times, but not >> sure by how much. >> >> -Zhengyu >> >> > >> > Bernd >> > >> > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: >> > >> > CAUTION: This email originated from outside of the >> organization. Do not click links or open attachments unless you can >> confirm the sender and know the content is safe. >> > >> > >> > >> > Hi Niall, >> > > >> > > Based on all of this, we had some followup >> questions: >> > > >> > > * Is our understanding of >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to >> disable class unloading if set to false? >> > Yes, setting ClassUnloadingWithConcurrentMark to >> false, still disables >> > class unloading. >> > >> > > * Is there a way to get a detailed breakdown of >> final mark timing and/or class unloading to expose string/symbol table >> cleanup time? >> > Not now. We can add these timings. >> > >> > > * Is 16ms a reasonable duration to cleanup >> string/symbol tables given ~80K strings and ~310K symbols? >> > >> > I don't know. Roman & Aleksey may have some insights. >> > >> > > * Apart from increasing >> ShenandoahUnloadClassesFrequency, are there any options to reduce the >> impact of string/symbol table cleanup on final marking? >> > >> > There is possibility that we can move string table >> cleaning to >> > concurrent phase. I believe string table is a >> concurrent hash table in >> > 11u already. >> > >> > Thanks, >> > >> > -Zhengyu >> > >> > >> > > >> > > >> > > Thanks very much for your help! >> > > >> > > Niall and Bernd >> > > >> > > On 7/17/20, 08:38, "Zhengyu Gu" >> wrote: >> > > >> > > CAUTION: This email originated from outside >> of the organization. Do not click links or open attachments unless you >> can confirm the sender and know the content is safe. >> > > >> > > >> > > >> > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: >> > > > Thanks Zhengyu, I'm looking into this, >> I'm seeing a lot of class loaders containing a single class. I'll test >> with class unloading enabled. Considering it's disabled by default, is >> there a downside to enabling it? >> > > >> > > class unloading is also performed during >> final mark, so it impacts final >> > > mark pause as well, but probably without >> this accumulation effect. >> > > >> > > We have a parameter, >> ShenandoahUnloadClassesFrequency, to control >> > > frequency of class unloading when it is >> enabled, default is once every 5 >> > > GC cycles. You may want to tune the >> parameter to achieve some sort of >> > > balance. >> > > >> > > Thanks, >> > > >> > > -Zhengyu >> > > >> > > >> > > >> > > > >> > > > Roman & Aleksey, thanks for the details. >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. >> > > > >> > > > Thanks, >> > > > Niall >> > > > >> > > > On 7/17/20, 06:35, "Zhengyu Gu" >> wrote: >> > > > >> > > > CAUTION: This email originated from >> outside of the organization. Do not click links or open attachments >> unless you can confirm the sender and know the content is safe. >> > > > >> > > > >> > > > >> > > > Hi Niall, >> > > > >> > > > By default, class unloading is >> disabled for Shenandoah in JDK11. >> > > > Accumulated class loaders may >> prolong final mark. You may want to try: >> > > > >> > > > jcmd VM.classloader_stats >> > > > >> > > > If it is the case, you may want to >> try -XX:+ClassUnloadingWithConcurrentMark >> > > > >> > > > Thanks, >> > > > >> > > > -Zhengyu >> > > > >> > > > >> > > > >> > > > On 7/17/20 12:56 AM, Connaughton, >> Niall wrote: >> > > > > Hey all, firstly thanks for all >> the work on Shenandoah, I?m excited for its potential for us. >> > > > > >> > > > > I?ve been doing some testing and >> have run across a couple of issues that have me scratching my head. >> The first is Final Mark pauses are increasing steadily over several >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re >> 12-16ms. The heap occupancy is not ramping up, and neither are the >> concurrent cycle times, so I?m not sure what?s behind this. The >> application is running a 20GB heap, peaking around 35% live data heap >> occupancy, and allocating ~1.3-1.5GB/s. >> > > > > >> > > > > What angles can I look at to dig >> into the cause of increasing Final Mark pauses? I don?t see a lot of >> details on the Final Mark in the gc logs, and there doesn?t seem to be >> much difference in the logs over time, except for the pause duration >> increasing. Here?s an example of a Final Mark log for before/after >> comparison: >> > > > > >> > > > > [2020-07-13T22:27:28.835+0000] >> GC(2224) Pause Final Mark >> > > > > [2020-07-13T22:27:28.835+0000] >> GC(2224) Using 8 of 8 workers for final marking >> > > > > [2020-07-13T22:27:28.839+0000] >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2429M, Max CSet: 853M, Min Garbage: 0B >> > > > > [2020-07-13T22:27:28.840+0000] >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 >> CSet regions >> > > > > [2020-07-13T22:27:28.840+0000] >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions >> > > > > [2020-07-13T22:27:28.843+0000] >> GC(2224) Pause Final Mark 7.373ms >> > > > > >> > > > > [2020-07-15T23:25:05.780+0000] >> GC(24251) Pause Final Mark >> > > > > [2020-07-15T23:25:05.780+0000] >> GC(24251) Using 8 of 8 workers for final marking >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: >> 2513M, Max CSet: 853M, Min Garbage: 0B >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 >> CSet regions >> > > > > [2020-07-15T23:25:05.787+0000] >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions >> > > > > [2020-07-15T23:25:05.792+0000] >> GC(24251) Pause Final Mark 11.790ms >> > > > > >> > > > > >> > > > > The second issue I ran into was >> that the pacer seemed to be adding a lot of latency. I couldn?t find >> any traces in the logs of the pacer?s activity. The summary at >> shutdown from gc+stats is useful, but having some signs of the pacer >> in the gc logs as the application runs would help correlate against >> other logs showing latency spikes. Is there any way to get more >> visibility on the pacer? Disabling the pacer removed the latency >> impact and we started seeing some really positive signs on the >> latency. I was expecting that we?d just see more degenerated GC and >> the latency would be similar, but this wasn?t the case. >> > > > > >> > > > > I?m generally happy running with >> the pacer disabled, especially as it seems we?ll have more visibility >> into degenerated GCs than we will over the pacer, so we can track >> regression more easily. So I?m asking this more for understanding than >> solving a blocking issue. >> > > > > >> > > > > Happy to take any pointers or >> provide any more info that would help. >> > > > > >> > > > > Thanks, >> > > > > Niall >> > > > > >> > > > >> > > > >> > > >> > > >> > >> > >> >> >> >> From zgu at redhat.com Wed Aug 5 19:40:40 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 5 Aug 2020 15:40:40 -0400 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: <283FBC35-978C-4669-8A3A-68CD0761F71F@amazon.com> References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> <283FBC35-978C-4669-8A3A-68CD0761F71F@amazon.com> Message-ID: <7e053f78-0a22-79a9-7637-e80a7c823c33@redhat.com> Hi Bernd, > > Now we see that the long poles for STW pauses in this service are the code cache and CLDG root tasks in parallel cleaning ("Cleanup"). Yes, that is pretty much what I expect. If we could subdue those we could consistently get into single-digit ms max pause territory. In later OpenJDK releases, we see efforts to make such phases concurrent, so there is potential for backports. That will request to backport nmethod barrier stuffs. IMHO, I don't see it will happen. Alternatively, in case there are any problems in any of those cases, one could possibly split up the sub tasks across multiple GC cycles. Do they really all have to run in the same cycle? Are there known dependencies that link some tasks into the same cycle? (I suspect such a link between the class unloading block and the two code cache scanning blocks.) The main hurdle is that, we have to fix all code caches before mutators can resume. To find out which code caches are dead, it has to perform class unloading. I don't see how can break them up. The best we can do, I believe, is to move some of root evacuation to concurrent phase, e.g. string table, jni roots, etc. But just for that, we (Shenandoah) have to backport native LRB stuffs, and not sure if it is enough to achieve your goals. -Zhengyu > > Bernd > > ?On 8/4/20, 12:20 PM, "Mathiske, Bernd" wrote: > > Zhengyu, > > It is wonderful to have that patch. Thank you! > I'll apply it and get some numbers. > > Bernd > > On 8/4/20, 12:09 PM, "Zhengyu Gu" wrote: > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Forgot to mention, the patch is based on jdk11u. > > Thanks, > > -Zhengyu > > > > On 8/4/20 3:02 PM, Zhengyu Gu wrote: > > Hi Bern, > > > > Please find my current patch for adding detail timings for class > > unloading cleanup works. > > > > I did not expect string table patch can make meaning impact, because it > > does not seem that many strings die from early logs. > > > > -Zhengyu > > > > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: > >> I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in > >> this context and that's why only half the patch applied. In OpenJDK > >> 15, both parts apply. > >> > >> On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" > >> >> mathiske at amazon.com> wrote: > >> > >> That did not help in this case. But thanks for the bug fix anyway! > >> BTW, I could only apply the string table part of the patch, the > >> ResolvedMethod part does not apply. > >> > >> So we've still got that problem with long pauses in final mark. > >> Doubling parallel GC threads brought them from ~20ms to ~13. This only > >> happens in final mark with class unloading. I found that there are > >> three code blocks that could be responsible and maybe I have been > >> looking at the wrong one. > >> > >> void ShenandoahHeap::stw_unload_classes(bool full_gc) { > >> if (!unload_classes()) return; > >> bool purged_class; > >> > >> // BLOCK 1 > >> // Unload classes and purge SystemDictionary. > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_class_unload : > >> > >> ShenandoahPhaseTimings::purge_class_unload); > >> purged_class = SystemDictionary::do_unloading(gc_timer()); > >> } > >> > >> // BLOCK 2 > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_par : > >> ShenandoahPhaseTimings::purge_par); > >> ShenandoahIsAliveSelector is_alive; > >> uint num_workers = _workers->active_workers(); > >> ShenandoahParallelCleaningTask > >> unlink_task(is_alive.is_alive_closure(), true, true, num_workers, > >> purged_class); > >> _workers->run_task(&unlink_task); > >> } > >> > >> //BLOCK 3 > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_cldg : > >> ShenandoahPhaseTimings::purge_cldg); > >> ClassLoaderDataGraph::purge(); > >> } > >> // Resize and verify metaspace > >> MetaspaceGC::compute_new_size(); > >> MetaspaceUtils::verify_metrics(); > >> } > >> > >> And here are the timings we got in the GC log: > >> ... > >> System Purge 301 us > >> Unload Classes 17824 us > >> Weak Roots 301 us > >> CLDG 1 us > >> ... > >> > >> I suspect "Unload Classes" reports on BLOCK 1 only and not all > >> three then? That would explain a lot. I can't find any reference to > >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? > >> > >> Bernd > >> > >> On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, > >> Bernd" >> mathiske at amazon.com> wrote: > >> > >> Thanks! I'll add the patch and we will report back. > >> > >> On 7/30/20, 11:17 AM, "Zhengyu Gu" wrote: > >> > >> CAUTION: This email originated from outside of the > >> organization. Do not click links or open attachments unless you can > >> confirm the sender and know the content is safe. > >> > >> > >> > >> Hi Bernd, > >> > >> On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > >> > Zhengyu, > >> > > >> > is this bug you filed directly related? > >> > https://bugs.openjdk.java.net/browse/JDK-8250841 > >> > > >> > Do you expect that the patch you also posted might help > >> here? > >> > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) > >> > >> Yes, it is directly related and should help the pause > >> times, but not > >> sure by how much. > >> > >> -Zhengyu > >> > >> > > >> > Bernd > >> > > >> > On 7/29/20, 1:56 PM, "Zhengyu Gu" wrote: > >> > > >> > CAUTION: This email originated from outside of the > >> organization. Do not click links or open attachments unless you can > >> confirm the sender and know the content is safe. > >> > > >> > > >> > > >> > Hi Niall, > >> > > > >> > > Based on all of this, we had some followup > >> questions: > >> > > > >> > > * Is our understanding of > >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to > >> disable class unloading if set to false? > >> > Yes, setting ClassUnloadingWithConcurrentMark to > >> false, still disables > >> > class unloading. > >> > > >> > > * Is there a way to get a detailed breakdown of > >> final mark timing and/or class unloading to expose string/symbol table > >> cleanup time? > >> > Not now. We can add these timings. > >> > > >> > > * Is 16ms a reasonable duration to cleanup > >> string/symbol tables given ~80K strings and ~310K symbols? > >> > > >> > I don't know. Roman & Aleksey may have some insights. > >> > > >> > > * Apart from increasing > >> ShenandoahUnloadClassesFrequency, are there any options to reduce the > >> impact of string/symbol table cleanup on final marking? > >> > > >> > There is possibility that we can move string table > >> cleaning to > >> > concurrent phase. I believe string table is a > >> concurrent hash table in > >> > 11u already. > >> > > >> > Thanks, > >> > > >> > -Zhengyu > >> > > >> > > >> > > > >> > > > >> > > Thanks very much for your help! > >> > > > >> > > Niall and Bernd > >> > > > >> > > On 7/17/20, 08:38, "Zhengyu Gu" > >> wrote: > >> > > > >> > > CAUTION: This email originated from outside > >> of the organization. Do not click links or open attachments unless you > >> can confirm the sender and know the content is safe. > >> > > > >> > > > >> > > > >> > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: > >> > > > Thanks Zhengyu, I'm looking into this, > >> I'm seeing a lot of class loaders containing a single class. I'll test > >> with class unloading enabled. Considering it's disabled by default, is > >> there a downside to enabling it? > >> > > > >> > > class unloading is also performed during > >> final mark, so it impacts final > >> > > mark pause as well, but probably without > >> this accumulation effect. > >> > > > >> > > We have a parameter, > >> ShenandoahUnloadClassesFrequency, to control > >> > > frequency of class unloading when it is > >> enabled, default is once every 5 > >> > > GC cycles. You may want to tune the > >> parameter to achieve some sort of > >> > > balance. > >> > > > >> > > Thanks, > >> > > > >> > > -Zhengyu > >> > > > >> > > > >> > > > >> > > > > >> > > > Roman & Aleksey, thanks for the details. > >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. > >> > > > > >> > > > Thanks, > >> > > > Niall > >> > > > > >> > > > On 7/17/20, 06:35, "Zhengyu Gu" > >> wrote: > >> > > > > >> > > > CAUTION: This email originated from > >> outside of the organization. Do not click links or open attachments > >> unless you can confirm the sender and know the content is safe. > >> > > > > >> > > > > >> > > > > >> > > > Hi Niall, > >> > > > > >> > > > By default, class unloading is > >> disabled for Shenandoah in JDK11. > >> > > > Accumulated class loaders may > >> prolong final mark. You may want to try: > >> > > > > >> > > > jcmd VM.classloader_stats > >> > > > > >> > > > If it is the case, you may want to > >> try -XX:+ClassUnloadingWithConcurrentMark > >> > > > > >> > > > Thanks, > >> > > > > >> > > > -Zhengyu > >> > > > > >> > > > > >> > > > > >> > > > On 7/17/20 12:56 AM, Connaughton, > >> Niall wrote: > >> > > > > Hey all, firstly thanks for all > >> the work on Shenandoah, I?m excited for its potential for us. > >> > > > > > >> > > > > I?ve been doing some testing and > >> have run across a couple of issues that have me scratching my head. > >> The first is Final Mark pauses are increasing steadily over several > >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re > >> 12-16ms. The heap occupancy is not ramping up, and neither are the > >> concurrent cycle times, so I?m not sure what?s behind this. The > >> application is running a 20GB heap, peaking around 35% live data heap > >> occupancy, and allocating ~1.3-1.5GB/s. > >> > > > > > >> > > > > What angles can I look at to dig > >> into the cause of increasing Final Mark pauses? I don?t see a lot of > >> details on the Final Mark in the gc logs, and there doesn?t seem to be > >> much difference in the logs over time, except for the pause duration > >> increasing. Here?s an example of a Final Mark log for before/after > >> comparison: > >> > > > > > >> > > > > [2020-07-13T22:27:28.835+0000] > >> GC(2224) Pause Final Mark > >> > > > > [2020-07-13T22:27:28.835+0000] > >> GC(2224) Using 8 of 8 workers for final marking > >> > > > > [2020-07-13T22:27:28.839+0000] > >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: > >> 2429M, Max CSet: 853M, Min Garbage: 0B > >> > > > > [2020-07-13T22:27:28.840+0000] > >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 > >> CSet regions > >> > > > > [2020-07-13T22:27:28.840+0000] > >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > >> > > > > [2020-07-13T22:27:28.843+0000] > >> GC(2224) Pause Final Mark 7.373ms > >> > > > > > >> > > > > [2020-07-15T23:25:05.780+0000] > >> GC(24251) Pause Final Mark > >> > > > > [2020-07-15T23:25:05.780+0000] > >> GC(24251) Using 8 of 8 workers for final marking > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: > >> 2513M, Max CSet: 853M, Min Garbage: 0B > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 > >> CSet regions > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > >> > > > > [2020-07-15T23:25:05.792+0000] > >> GC(24251) Pause Final Mark 11.790ms > >> > > > > > >> > > > > > >> > > > > The second issue I ran into was > >> that the pacer seemed to be adding a lot of latency. I couldn?t find > >> any traces in the logs of the pacer?s activity. The summary at > >> shutdown from gc+stats is useful, but having some signs of the pacer > >> in the gc logs as the application runs would help correlate against > >> other logs showing latency spikes. Is there any way to get more > >> visibility on the pacer? Disabling the pacer removed the latency > >> impact and we started seeing some really positive signs on the > >> latency. I was expecting that we?d just see more degenerated GC and > >> the latency would be similar, but this wasn?t the case. > >> > > > > > >> > > > > I?m generally happy running with > >> the pacer disabled, especially as it seems we?ll have more visibility > >> into degenerated GCs than we will over the pacer, so we can track > >> regression more easily. So I?m asking this more for understanding than > >> solving a blocking issue. > >> > > > > > >> > > > > Happy to take any pointers or > >> provide any more info that would help. > >> > > > > > >> > > > > Thanks, > >> > > > > Niall > >> > > > > > >> > > > > >> > > > > >> > > > >> > > > >> > > >> > > >> > >> > >> > >> > > > From rkennke at redhat.com Wed Aug 5 21:15:55 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 5 Aug 2020 23:15:55 +0200 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: <7e053f78-0a22-79a9-7637-e80a7c823c33@redhat.com> References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> <283FBC35-978C-4669-8A3A-68CD0761F71F@amazon.com> <7e053f78-0a22-79a9-7637-e80a7c823c33@redhat.com> Message-ID: Hello all, Just a quick note from vacation: - I am quite certain that we won't backport nmethod stuff and concurrent class unloading to jdk11. - We may backport native LRB and get concurrent string table, JNI etc stuff, if it does not require code changes outside Shenandoah. However, from the looks of it, it doesn't seem likely that it (fully) addresses your issue. - Would it be an option to turn off class-unloading altogether? If the workload is not expected to unload (many) classes, than all that work is for nothing anyway. Did lowering the frequency of class-unloading to every 100th cycle not help? Cheers, Roman Zhengyu Gu schrieb am Mi., 5. Aug. 2020, 21:43: > Hi Bernd, > > > > Now we see that the long poles for STW pauses in this service are the > code cache and CLDG root tasks in parallel cleaning ("Cleanup"). > > Yes, that is pretty much what I expect. > > If we could subdue those we could consistently get into single-digit ms > max pause territory. In later OpenJDK releases, we see efforts to make > such phases concurrent, so there is potential for backports. > > That will request to backport nmethod barrier stuffs. IMHO, I don't see > it will happen. > > Alternatively, in case there are any problems in any of those cases, > one could possibly split up the sub tasks across multiple GC cycles. Do > they really all have to run in the same cycle? Are there known > dependencies that link some tasks into the same cycle? (I suspect such a > link between the class unloading block and the two code cache scanning > blocks.) > > The main hurdle is that, we have to fix all code caches before mutators > can resume. To find out which code caches are dead, it has to perform > class unloading. I don't see how can break them up. > > The best we can do, I believe, is to move some of root evacuation to > concurrent phase, e.g. string table, jni roots, etc. But just for that, > we (Shenandoah) have to backport native LRB stuffs, and not sure if it > is enough to achieve your goals. > > -Zhengyu > > > > > > Bernd > > > > ?On 8/4/20, 12:20 PM, "Mathiske, Bernd" wrote: > > > > Zhengyu, > > > > It is wonderful to have that patch. Thank you! > > I'll apply it and get some numbers. > > > > Bernd > > > > On 8/4/20, 12:09 PM, "Zhengyu Gu" wrote: > > > > CAUTION: This email originated from outside of the > organization. Do not click links or open attachments unless you can confirm > the sender and know the content is safe. > > > > > > > > Forgot to mention, the patch is based on jdk11u. > > > > Thanks, > > > > -Zhengyu > > > > > > > > On 8/4/20 3:02 PM, Zhengyu Gu wrote: > > > Hi Bern, > > > > > > Please find my current patch for adding detail timings for > class > > > unloading cleanup works. > > > > > > I did not expect string table patch can make meaning impact, > because it > > > does not seem that many strings die from early logs. > > > > > > -Zhengyu > > > > > > > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: > > >> I should mention that we are using "OpenJDK 11.0.8 with > Shenandoah" in > > >> this context and that's why only half the patch applied. In > OpenJDK > > >> 15, both parts apply. > > >> > > >> On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, > Bernd" > > >> > >> mathiske at amazon.com> wrote: > > >> > > >> That did not help in this case. But thanks for the bug > fix anyway! > > >> BTW, I could only apply the string table part of the > patch, the > > >> ResolvedMethod part does not apply. > > >> > > >> So we've still got that problem with long pauses in > final mark. > > >> Doubling parallel GC threads brought them from ~20ms to ~13. > This only > > >> happens in final mark with class unloading. I found that > there are > > >> three code blocks that could be responsible and maybe I have > been > > >> looking at the wrong one. > > >> > > >> void ShenandoahHeap::stw_unload_classes(bool full_gc) { > > >> if (!unload_classes()) return; > > >> bool purged_class; > > >> > > >> // BLOCK 1 > > >> // Unload classes and purge SystemDictionary. > > >> { > > >> ShenandoahGCPhase phase(full_gc ? > > >> > > >> ShenandoahPhaseTimings::full_gc_purge_class_unload : > > >> > > >> ShenandoahPhaseTimings::purge_class_unload); > > >> purged_class = > SystemDictionary::do_unloading(gc_timer()); > > >> } > > >> > > >> // BLOCK 2 > > >> { > > >> ShenandoahGCPhase phase(full_gc ? > > >> > > >> ShenandoahPhaseTimings::full_gc_purge_par : > > >> > ShenandoahPhaseTimings::purge_par); > > >> ShenandoahIsAliveSelector is_alive; > > >> uint num_workers = _workers->active_workers(); > > >> ShenandoahParallelCleaningTask > > >> unlink_task(is_alive.is_alive_closure(), true, true, > num_workers, > > >> purged_class); > > >> _workers->run_task(&unlink_task); > > >> } > > >> > > >> //BLOCK 3 > > >> { > > >> ShenandoahGCPhase phase(full_gc ? > > >> > > >> ShenandoahPhaseTimings::full_gc_purge_cldg : > > >> > ShenandoahPhaseTimings::purge_cldg); > > >> ClassLoaderDataGraph::purge(); > > >> } > > >> // Resize and verify metaspace > > >> MetaspaceGC::compute_new_size(); > > >> MetaspaceUtils::verify_metrics(); > > >> } > > >> > > >> And here are the timings we got in the GC log: > > >> ... > > >> System Purge 301 us > > >> Unload Classes 17824 us > > >> Weak Roots 301 us > > >> CLDG 1 us > > >> ... > > >> > > >> I suspect "Unload Classes" reports on BLOCK 1 only and > not all > > >> three then? That would explain a lot. I can't find any > reference to > > >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? > > >> > > >> Bernd > > >> > > >> On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of > Mathiske, > > >> Bernd" > >> mathiske at amazon.com> wrote: > > >> > > >> Thanks! I'll add the patch and we will report back. > > >> > > >> On 7/30/20, 11:17 AM, "Zhengyu Gu" > wrote: > > >> > > >> CAUTION: This email originated from outside of > the > > >> organization. Do not click links or open attachments unless > you can > > >> confirm the sender and know the content is safe. > > >> > > >> > > >> > > >> Hi Bernd, > > >> > > >> On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > > >> > Zhengyu, > > >> > > > >> > is this bug you filed directly related? > > >> > > https://bugs.openjdk.java.net/browse/JDK-8250841 > > >> > > > >> > Do you expect that the patch you also posted > might help > > >> here? > > >> > ( > http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) > > >> > > >> Yes, it is directly related and should help the > pause > > >> times, but not > > >> sure by how much. > > >> > > >> -Zhengyu > > >> > > >> > > > >> > Bernd > > >> > > > >> > On 7/29/20, 1:56 PM, "Zhengyu Gu" < > zgu at redhat.com> wrote: > > >> > > > >> > CAUTION: This email originated from > outside of the > > >> organization. Do not click links or open attachments unless > you can > > >> confirm the sender and know the content is safe. > > >> > > > >> > > > >> > > > >> > Hi Niall, > > >> > > > > >> > > Based on all of this, we had some > followup > > >> questions: > > >> > > > > >> > > * Is our understanding of > > >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only > impact to > > >> disable class unloading if set to false? > > >> > Yes, setting > ClassUnloadingWithConcurrentMark to > > >> false, still disables > > >> > class unloading. > > >> > > > >> > > * Is there a way to get a detailed > breakdown of > > >> final mark timing and/or class unloading to expose > string/symbol table > > >> cleanup time? > > >> > Not now. We can add these timings. > > >> > > > >> > > * Is 16ms a reasonable duration to > cleanup > > >> string/symbol tables given ~80K strings and ~310K symbols? > > >> > > > >> > I don't know. Roman & Aleksey may have > some insights. > > >> > > > >> > > * Apart from increasing > > >> ShenandoahUnloadClassesFrequency, are there any options to > reduce the > > >> impact of string/symbol table cleanup on final marking? > > >> > > > >> > There is possibility that we can move > string table > > >> cleaning to > > >> > concurrent phase. I believe string table > is a > > >> concurrent hash table in > > >> > 11u already. > > >> > > > >> > Thanks, > > >> > > > >> > -Zhengyu > > >> > > > >> > > > >> > > > > >> > > > > >> > > Thanks very much for your help! > > >> > > > > >> > > Niall and Bernd > > >> > > > > >> > > On 7/17/20, 08:38, "Zhengyu Gu" < > zgu at redhat.com> > > >> wrote: > > >> > > > > >> > > CAUTION: This email originated > from outside > > >> of the organization. Do not click links or open attachments > unless you > > >> can confirm the sender and know the content is safe. > > >> > > > > >> > > > > >> > > > > >> > > On 7/17/20 11:13 AM, Connaughton, > Niall wrote: > > >> > > > Thanks Zhengyu, I'm looking > into this, > > >> I'm seeing a lot of class loaders containing a single class. > I'll test > > >> with class unloading enabled. Considering it's disabled by > default, is > > >> there a downside to enabling it? > > >> > > > > >> > > class unloading is also performed > during > > >> final mark, so it impacts final > > >> > > mark pause as well, but probably > without > > >> this accumulation effect. > > >> > > > > >> > > We have a parameter, > > >> ShenandoahUnloadClassesFrequency, to control > > >> > > frequency of class unloading when > it is > > >> enabled, default is once every 5 > > >> > > GC cycles. You may want to tune > the > > >> parameter to achieve some sort of > > >> > > balance. > > >> > > > > >> > > Thanks, > > >> > > > > >> > > -Zhengyu > > >> > > > > >> > > > > >> > > > > >> > > > > > >> > > > Roman & Aleksey, thanks for the > details. > > >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. > > >> > > > > > >> > > > Thanks, > > >> > > > Niall > > >> > > > > > >> > > > On 7/17/20, 06:35, "Zhengyu Gu" > > >> wrote: > > >> > > > > > >> > > > CAUTION: This email > originated from > > >> outside of the organization. Do not click links or open > attachments > > >> unless you can confirm the sender and know the content is > safe. > > >> > > > > > >> > > > > > >> > > > > > >> > > > Hi Niall, > > >> > > > > > >> > > > By default, class > unloading is > > >> disabled for Shenandoah in JDK11. > > >> > > > Accumulated class loaders > may > > >> prolong final mark. You may want to try: > > >> > > > > > >> > > > jcmd > VM.classloader_stats > > >> > > > > > >> > > > If it is the case, you may > want to > > >> try -XX:+ClassUnloadingWithConcurrentMark > > >> > > > > > >> > > > Thanks, > > >> > > > > > >> > > > -Zhengyu > > >> > > > > > >> > > > > > >> > > > > > >> > > > On 7/17/20 12:56 AM, > Connaughton, > > >> Niall wrote: > > >> > > > > Hey all, firstly thanks > for all > > >> the work on Shenandoah, I?m excited for its potential for us. > > >> > > > > > > >> > > > > I?ve been doing some > testing and > > >> have run across a couple of issues that have me scratching > my head. > > >> The first is Final Mark pauses are increasing steadily over > several > > >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, > they?re > > >> 12-16ms. The heap occupancy is not ramping up, and neither > are the > > >> concurrent cycle times, so I?m not sure what?s behind this. > The > > >> application is running a 20GB heap, peaking around 35% live > data heap > > >> occupancy, and allocating ~1.3-1.5GB/s. > > >> > > > > > > >> > > > > What angles can I look > at to dig > > >> into the cause of increasing Final Mark pauses? I don?t see > a lot of > > >> details on the Final Mark in the gc logs, and there doesn?t > seem to be > > >> much difference in the logs over time, except for the pause > duration > > >> increasing. Here?s an example of a Final Mark log for > before/after > > >> comparison: > > >> > > > > > > >> > > > > > [2020-07-13T22:27:28.835+0000] > > >> GC(2224) Pause Final Mark > > >> > > > > > [2020-07-13T22:27:28.835+0000] > > >> GC(2224) Using 8 of 8 workers for final marking > > >> > > > > > [2020-07-13T22:27:28.839+0000] > > >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual > Free: > > >> 2429M, Max CSet: 853M, Min Garbage: 0B > > >> > > > > > [2020-07-13T22:27:28.840+0000] > > >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M > CSet, 1548 > > >> CSet regions > > >> > > > > > [2020-07-13T22:27:28.840+0000] > > >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > > >> > > > > > [2020-07-13T22:27:28.843+0000] > > >> GC(2224) Pause Final Mark 7.373ms > > >> > > > > > > >> > > > > > [2020-07-15T23:25:05.780+0000] > > >> GC(24251) Pause Final Mark > > >> > > > > > [2020-07-15T23:25:05.780+0000] > > >> GC(24251) Using 8 of 8 workers for final marking > > >> > > > > > [2020-07-15T23:25:05.787+0000] > > >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, > Actual Free: > > >> 2513M, Max CSet: 853M, Min Garbage: 0B > > >> > > > > > [2020-07-15T23:25:05.787+0000] > > >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M > CSet, 1535 > > >> CSet regions > > >> > > > > > [2020-07-15T23:25:05.787+0000] > > >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > > >> > > > > > [2020-07-15T23:25:05.792+0000] > > >> GC(24251) Pause Final Mark 11.790ms > > >> > > > > > > >> > > > > > > >> > > > > The second issue I ran > into was > > >> that the pacer seemed to be adding a lot of latency. I > couldn?t find > > >> any traces in the logs of the pacer?s activity. The summary > at > > >> shutdown from gc+stats is useful, but having some signs of > the pacer > > >> in the gc logs as the application runs would help correlate > against > > >> other logs showing latency spikes. Is there any way to get > more > > >> visibility on the pacer? Disabling the pacer removed the > latency > > >> impact and we started seeing some really positive signs on > the > > >> latency. I was expecting that we?d just see more degenerated > GC and > > >> the latency would be similar, but this wasn?t the case. > > >> > > > > > > >> > > > > I?m generally happy > running with > > >> the pacer disabled, especially as it seems we?ll have more > visibility > > >> into degenerated GCs than we will over the pacer, so we can > track > > >> regression more easily. So I?m asking this more for > understanding than > > >> solving a blocking issue. > > >> > > > > > > >> > > > > Happy to take any > pointers or > > >> provide any more info that would help. > > >> > > > > > > >> > > > > Thanks, > > >> > > > > Niall > > >> > > > > > > >> > > > > > >> > > > > > >> > > > > >> > > > > >> > > > >> > > > >> > > >> > > >> > > >> > > > > > > > > From mathiske at amazon.com Wed Aug 5 22:00:18 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Wed, 5 Aug 2020 22:00:18 +0000 Subject: Unexpected issues with Final Mark pauses and pacer performance in JDK11 In-Reply-To: References: <2D0CB91B-5463-4F27-B611-E669449130C4@amazon.com> <1c20589f-d43f-518f-b07c-6e0d3de1d4db@redhat.com> <9DF51BD0-4368-4849-96E5-89157D46CE54@amazon.com> <20702f67-6013-db7a-5c9c-ea994248fc13@redhat.com> <0abdedcb-de33-cde8-1040-937540b5f282@redhat.com> <1154BE56-4EF2-472E-90A8-9CDD349CD55A@amazon.com> <898b8379-754d-4a4d-9d10-23916b3d58fb@redhat.com> <03A277A7-2077-4E1C-A667-3C34DFA0DCC3@amazon.com> <283FBC35-978C-4669-8A3A-68CD0761F71F@amazon.com> <7e053f78-0a22-79a9-7637-e80a7c823c33@redhat.com> Message-ID: <180E7B45-5E2F-4024-81B2-438CC0ADF9DE@amazon.com> Roman, Zhengyu, Thanks for the tips and for the projection of what can and cannot be backported! Not performing any class unloading at all is not such a good option for the application we have at hand. But doing it rarely suffices, so increasing the cycle count between class unloading phases to 100 works. And 500 is even better, triggering class unloading only every 15 minutes or so. This does not correct the principal problem that the max pause time remains the same. For others this could still turn out differently. I will remain on the lookout for mitigations in this area. But thanks to your help and the gathered information we now have pretty clear guidelines for users what to look for and how to usually cope with these remaining STW pauses. (increase the number of parallel GC threads and the class unloading interval) Cheers, Bernd From: Roman Kennke Date: Wednesday, August 5, 2020 at 2:17 PM To: Zhengyu Gu Cc: "Mathiske, Bernd" , shenandoah-dev Subject: RE: [EXTERNAL] Unexpected issues with Final Mark pauses and pacer performance in JDK11 CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hello all, Just a quick note from vacation: - I am quite certain that we won't backport nmethod stuff and concurrent class unloading to jdk11. - We may backport native LRB and get concurrent string table, JNI etc stuff, if it does not require code changes outside Shenandoah. However, from the looks of it, it doesn't seem likely that it (fully) addresses your issue. - Would it be an option to turn off class-unloading altogether? If the workload is not expected to unload (many) classes, than all that work is for nothing anyway. Did lowering the frequency of class-unloading to every 100th cycle not help? Cheers, Roman Zhengyu Gu > schrieb am Mi., 5. Aug. 2020, 21:43: Hi Bernd, > > Now we see that the long poles for STW pauses in this service are the code cache and CLDG root tasks in parallel cleaning ("Cleanup"). Yes, that is pretty much what I expect. If we could subdue those we could consistently get into single-digit ms max pause territory. In later OpenJDK releases, we see efforts to make such phases concurrent, so there is potential for backports. That will request to backport nmethod barrier stuffs. IMHO, I don't see it will happen. Alternatively, in case there are any problems in any of those cases, one could possibly split up the sub tasks across multiple GC cycles. Do they really all have to run in the same cycle? Are there known dependencies that link some tasks into the same cycle? (I suspect such a link between the class unloading block and the two code cache scanning blocks.) The main hurdle is that, we have to fix all code caches before mutators can resume. To find out which code caches are dead, it has to perform class unloading. I don't see how can break them up. The best we can do, I believe, is to move some of root evacuation to concurrent phase, e.g. string table, jni roots, etc. But just for that, we (Shenandoah) have to backport native LRB stuffs, and not sure if it is enough to achieve your goals. -Zhengyu > > Bernd > > On 8/4/20, 12:20 PM, "Mathiske, Bernd" > wrote: > > Zhengyu, > > It is wonderful to have that patch. Thank you! > I'll apply it and get some numbers. > > Bernd > > On 8/4/20, 12:09 PM, "Zhengyu Gu" > wrote: > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Forgot to mention, the patch is based on jdk11u. > > Thanks, > > -Zhengyu > > > > On 8/4/20 3:02 PM, Zhengyu Gu wrote: > > Hi Bern, > > > > Please find my current patch for adding detail timings for class > > unloading cleanup works. > > > > I did not expect string table patch can make meaning impact, because it > > does not seem that many strings die from early logs. > > > > -Zhengyu > > > > > > On 8/4/20 12:52 PM, Mathiske, Bernd wrote: > >> I should mention that we are using "OpenJDK 11.0.8 with Shenandoah" in > >> this context and that's why only half the patch applied. In OpenJDK > >> 15, both parts apply. > >> > >> On 8/4/20, 9:48 AM, "shenandoah-dev on behalf of Mathiske, Bernd" > >> on behalf of > >> mathiske at amazon.com> wrote: > >> > >> That did not help in this case. But thanks for the bug fix anyway! > >> BTW, I could only apply the string table part of the patch, the > >> ResolvedMethod part does not apply. > >> > >> So we've still got that problem with long pauses in final mark. > >> Doubling parallel GC threads brought them from ~20ms to ~13. This only > >> happens in final mark with class unloading. I found that there are > >> three code blocks that could be responsible and maybe I have been > >> looking at the wrong one. > >> > >> void ShenandoahHeap::stw_unload_classes(bool full_gc) { > >> if (!unload_classes()) return; > >> bool purged_class; > >> > >> // BLOCK 1 > >> // Unload classes and purge SystemDictionary. > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_class_unload : > >> > >> ShenandoahPhaseTimings::purge_class_unload); > >> purged_class = SystemDictionary::do_unloading(gc_timer()); > >> } > >> > >> // BLOCK 2 > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_par : > >> ShenandoahPhaseTimings::purge_par); > >> ShenandoahIsAliveSelector is_alive; > >> uint num_workers = _workers->active_workers(); > >> ShenandoahParallelCleaningTask > >> unlink_task(is_alive.is_alive_closure(), true, true, num_workers, > >> purged_class); > >> _workers->run_task(&unlink_task); > >> } > >> > >> //BLOCK 3 > >> { > >> ShenandoahGCPhase phase(full_gc ? > >> > >> ShenandoahPhaseTimings::full_gc_purge_cldg : > >> ShenandoahPhaseTimings::purge_cldg); > >> ClassLoaderDataGraph::purge(); > >> } > >> // Resize and verify metaspace > >> MetaspaceGC::compute_new_size(); > >> MetaspaceUtils::verify_metrics(); > >> } > >> > >> And here are the timings we got in the GC log: > >> ... > >> System Purge 301 us > >> Unload Classes 17824 us > >> Weak Roots 301 us > >> CLDG 1 us > >> ... > >> > >> I suspect "Unload Classes" reports on BLOCK 1 only and not all > >> three then? That would explain a lot. I can't find any reference to > >> "Weak Roots" and "CLDG" seems to reflect BLOCK3, correct? > >> > >> Bernd > >> > >> On 7/30/20, 11:24 AM, "shenandoah-dev on behalf of Mathiske, > >> Bernd" on behalf of > >> mathiske at amazon.com> wrote: > >> > >> Thanks! I'll add the patch and we will report back. > >> > >> On 7/30/20, 11:17 AM, "Zhengyu Gu" > wrote: > >> > >> CAUTION: This email originated from outside of the > >> organization. Do not click links or open attachments unless you can > >> confirm the sender and know the content is safe. > >> > >> > >> > >> Hi Bernd, > >> > >> On 7/30/20 2:12 PM, Mathiske, Bernd wrote: > >> > Zhengyu, > >> > > >> > is this bug you filed directly related? > >> > https://bugs.openjdk.java.net/browse/JDK-8250841 > >> > > >> > Do you expect that the patch you also posted might help > >> here? > >> > (http://cr.openjdk.java.net/~zgu/JDK-8250841/webrev.00/) > >> > >> Yes, it is directly related and should help the pause > >> times, but not > >> sure by how much. > >> > >> -Zhengyu > >> > >> > > >> > Bernd > >> > > >> > On 7/29/20, 1:56 PM, "Zhengyu Gu" > wrote: > >> > > >> > CAUTION: This email originated from outside of the > >> organization. Do not click links or open attachments unless you can > >> confirm the sender and know the content is safe. > >> > > >> > > >> > > >> > Hi Niall, > >> > > > >> > > Based on all of this, we had some followup > >> questions: > >> > > > >> > > * Is our understanding of > >> -XX:+ClassUnloadingWithConcurrentMark correct - is its only impact to > >> disable class unloading if set to false? > >> > Yes, setting ClassUnloadingWithConcurrentMark to > >> false, still disables > >> > class unloading. > >> > > >> > > * Is there a way to get a detailed breakdown of > >> final mark timing and/or class unloading to expose string/symbol table > >> cleanup time? > >> > Not now. We can add these timings. > >> > > >> > > * Is 16ms a reasonable duration to cleanup > >> string/symbol tables given ~80K strings and ~310K symbols? > >> > > >> > I don't know. Roman & Aleksey may have some insights. > >> > > >> > > * Apart from increasing > >> ShenandoahUnloadClassesFrequency, are there any options to reduce the > >> impact of string/symbol table cleanup on final marking? > >> > > >> > There is possibility that we can move string table > >> cleaning to > >> > concurrent phase. I believe string table is a > >> concurrent hash table in > >> > 11u already. > >> > > >> > Thanks, > >> > > >> > -Zhengyu > >> > > >> > > >> > > > >> > > > >> > > Thanks very much for your help! > >> > > > >> > > Niall and Bernd > >> > > > >> > > On 7/17/20, 08:38, "Zhengyu Gu" > > >> wrote: > >> > > > >> > > CAUTION: This email originated from outside > >> of the organization. Do not click links or open attachments unless you > >> can confirm the sender and know the content is safe. > >> > > > >> > > > >> > > > >> > > On 7/17/20 11:13 AM, Connaughton, Niall wrote: > >> > > > Thanks Zhengyu, I'm looking into this, > >> I'm seeing a lot of class loaders containing a single class. I'll test > >> with class unloading enabled. Considering it's disabled by default, is > >> there a downside to enabling it? > >> > > > >> > > class unloading is also performed during > >> final mark, so it impacts final > >> > > mark pause as well, but probably without > >> this accumulation effect. > >> > > > >> > > We have a parameter, > >> ShenandoahUnloadClassesFrequency, to control > >> > > frequency of class unloading when it is > >> enabled, default is once every 5 > >> > > GC cycles. You may want to tune the > >> parameter to achieve some sort of > >> > > balance. > >> > > > >> > > Thanks, > >> > > > >> > > -Zhengyu > >> > > > >> > > > >> > > > >> > > > > >> > > > Roman & Aleksey, thanks for the details. > >> I'm using 11.0.7, will setup a new test with an 11.0.8 build. > >> > > > > >> > > > Thanks, > >> > > > Niall > >> > > > > >> > > > On 7/17/20, 06:35, "Zhengyu Gu" > >> > wrote: > >> > > > > >> > > > CAUTION: This email originated from > >> outside of the organization. Do not click links or open attachments > >> unless you can confirm the sender and know the content is safe. > >> > > > > >> > > > > >> > > > > >> > > > Hi Niall, > >> > > > > >> > > > By default, class unloading is > >> disabled for Shenandoah in JDK11. > >> > > > Accumulated class loaders may > >> prolong final mark. You may want to try: > >> > > > > >> > > > jcmd VM.classloader_stats > >> > > > > >> > > > If it is the case, you may want to > >> try -XX:+ClassUnloadingWithConcurrentMark > >> > > > > >> > > > Thanks, > >> > > > > >> > > > -Zhengyu > >> > > > > >> > > > > >> > > > > >> > > > On 7/17/20 12:56 AM, Connaughton, > >> Niall wrote: > >> > > > > Hey all, firstly thanks for all > >> the work on Shenandoah, I?m excited for its potential for us. > >> > > > > > >> > > > > I?ve been doing some testing and > >> have run across a couple of issues that have me scratching my head. > >> The first is Final Mark pauses are increasing steadily over several > >> days. On day 1, Final Mark pauses are 6.5-8.5ms. By day 3, they?re > >> 12-16ms. The heap occupancy is not ramping up, and neither are the > >> concurrent cycle times, so I?m not sure what?s behind this. The > >> application is running a 20GB heap, peaking around 35% live data heap > >> occupancy, and allocating ~1.3-1.5GB/s. > >> > > > > > >> > > > > What angles can I look at to dig > >> into the cause of increasing Final Mark pauses? I don?t see a lot of > >> details on the Final Mark in the gc logs, and there doesn?t seem to be > >> much difference in the logs over time, except for the pause duration > >> increasing. Here?s an example of a Final Mark log for before/after > >> comparison: > >> > > > > > >> > > > > [2020-07-13T22:27:28.835+0000] > >> GC(2224) Pause Final Mark > >> > > > > [2020-07-13T22:27:28.835+0000] > >> GC(2224) Using 8 of 8 workers for final marking > >> > > > > [2020-07-13T22:27:28.839+0000] > >> GC(2224) Adaptive CSet Selection. Target Free: 2047M, Actual Free: > >> 2429M, Max CSet: 853M, Min Garbage: 0B > >> > > > > [2020-07-13T22:27:28.840+0000] > >> GC(2224) Collectable Garbage: 12171M (88% of total), 176M CSet, 1548 > >> CSet regions > >> > > > > [2020-07-13T22:27:28.840+0000] > >> GC(2224) Immediate Garbage: 46151K (0% of total), 11 regions > >> > > > > [2020-07-13T22:27:28.843+0000] > >> GC(2224) Pause Final Mark 7.373ms > >> > > > > > >> > > > > [2020-07-15T23:25:05.780+0000] > >> GC(24251) Pause Final Mark > >> > > > > [2020-07-15T23:25:05.780+0000] > >> GC(24251) Using 8 of 8 workers for final marking > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Adaptive CSet Selection. Target Free: 2047M, Actual Free: > >> 2513M, Max CSet: 853M, Min Garbage: 0B > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Collectable Garbage: 12062M (88% of total), 184M CSet, 1535 > >> CSet regions > >> > > > > [2020-07-15T23:25:05.787+0000] > >> GC(24251) Immediate Garbage: 34711K (0% of total), 5 regions > >> > > > > [2020-07-15T23:25:05.792+0000] > >> GC(24251) Pause Final Mark 11.790ms > >> > > > > > >> > > > > > >> > > > > The second issue I ran into was > >> that the pacer seemed to be adding a lot of latency. I couldn?t find > >> any traces in the logs of the pacer?s activity. The summary at > >> shutdown from gc+stats is useful, but having some signs of the pacer > >> in the gc logs as the application runs would help correlate against > >> other logs showing latency spikes. Is there any way to get more > >> visibility on the pacer? Disabling the pacer removed the latency > >> impact and we started seeing some really positive signs on the > >> latency. I was expecting that we?d just see more degenerated GC and > >> the latency would be similar, but this wasn?t the case. > >> > > > > > >> > > > > I?m generally happy running with > >> the pacer disabled, especially as it seems we?ll have more visibility > >> into degenerated GCs than we will over the pacer, so we can track > >> regression more easily. So I?m asking this more for understanding than > >> solving a blocking issue. > >> > > > > > >> > > > > Happy to take any pointers or > >> provide any more info that would help. > >> > > > > > >> > > > > Thanks, > >> > > > > Niall > >> > > > > > >> > > > > >> > > > > >> > > > >> > > > >> > > >> > > >> > >> > >> > >> > > > From adityam at microsoft.com Wed Aug 5 23:52:16 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Wed, 5 Aug 2020 23:52:16 +0000 Subject: [16] RFR 8251192: Shenandoah: Shenandoah build failed after JDK-8235573 In-Reply-To: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> References: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> Message-ID: I'm not a reviewer but this change looks fine to me. -Aditya From thomas.stuefe at gmail.com Thu Aug 6 05:33:44 2020 From: thomas.stuefe at gmail.com (=?UTF-8?Q?Thomas_St=C3=BCfe?=) Date: Thu, 6 Aug 2020 07:33:44 +0200 Subject: [16] RFR 8251192: Shenandoah: Shenandoah build failed after JDK-8235573 In-Reply-To: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> References: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> Message-ID: Good. Please push, this is trivial. All our builds are red :( Small nit (but I do not really care) is order of includes. Cheers, Thomas On Wed, Aug 5, 2020 at 6:13 PM Zhengyu Gu wrote: > Please review this small patch that fixes build failure with Shenandoah. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251192 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251192/webrev.00/ > > Test: > Built on Linux x86_84 > > Thanks, > > -Zhengyu > > From gnu.andrew at redhat.com Thu Aug 6 05:49:53 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 6 Aug 2020 06:49:53 +0100 Subject: [RFR] [8u] 8u272-b01 Upstream Sync In-Reply-To: <05f4fb9e-b06c-1a7b-551d-3e0d57565b29@redhat.com> References: <20200803171250.GA263856@stopbrexit> <05f4fb9e-b06c-1a7b-551d-3e0d57565b29@redhat.com> Message-ID: <20200806054953.GC472692@stopbrexit> On 10:13 Tue 04 Aug , Aleksey Shipilev wrote: > On 8/3/20 7:12 PM, Andrew Hughes wrote: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/corba/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxp/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jaxws/merge.changeset > > Looks trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b01/jdk/merge.changeset > > Ooof. Lots of new tests. Looks good. Yes... I guess it's good for a stable release that most of the backports are test backports, but I can't help wondering if this low hanging fruit is being done in preference to higher priority, but more complicated bug fixes. snip... > > Ok to push? > Yes. -- Thanks, -Aleksey Thanks. Pushed -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Thu Aug 6 05:43:34 2020 From: shade at redhat.com (shade at redhat.com) Date: Thu, 06 Aug 2020 05:43:34 +0000 Subject: hg: shenandoah/jdk11: Revert upstream difference with UseShenandoahGC undefined Message-ID: <202008060543.0765hZk7027373@aojmv0008.oracle.com> Changeset: 7d97293385cf Author: shade Date: 2020-08-05 14:36 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7d97293385cf Revert upstream difference with UseShenandoahGC undefined ! src/hotspot/share/gc/shared/gcConfig.cpp ! test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java From zgu at redhat.com Thu Aug 6 12:32:33 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 6 Aug 2020 08:32:33 -0400 Subject: [16] RFR 8251192: Shenandoah: Shenandoah build failed after JDK-8235573 In-Reply-To: References: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> Message-ID: <1c386ba3-0442-f61c-128f-7f90d55a8d89@redhat.com> Thanks, Aditya, Yasumasa and Thomas, pushed. -Zhengyu On 8/6/20 1:33 AM, Thomas St?fe wrote: > Good. Please push, this is trivial. All our builds are red :( > > Small nit (but I do not really care) is order of includes. > > Cheers, Thomas > > On Wed, Aug 5, 2020 at 6:13 PM Zhengyu Gu > wrote: > > Please review this small patch that fixes build failure with Shenandoah. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251192 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251192/webrev.00/ > > Test: > ? ?Built on Linux x86_84 > > Thanks, > > -Zhengyu > From Charlie.Gracie at microsoft.com Thu Aug 6 14:06:39 2020 From: Charlie.Gracie at microsoft.com (Charlie Gracie) Date: Thu, 6 Aug 2020 14:06:39 +0000 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure Message-ID: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> Please review this small change that removes the unused ShenandoahAssertToSpaceClosure closure. JDK 8223774 [1] removed the last use of this closure. Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ Test: ?? Built on MacOS {release,fastdebug} Thanks, Charlie [1] https://bugs.openjdk.java.net/browse/JDK-8223774 From zgu at redhat.com Thu Aug 6 14:10:16 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 6 Aug 2020 10:10:16 -0400 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure In-Reply-To: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> References: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> Message-ID: <202ba698-e7be-2586-e91b-7cd6276c5158@redhat.com> Looks good to me. Thanks, -Zhengyu On 8/6/20 10:06 AM, Charlie Gracie wrote: > Please review this small change that removes the unused ShenandoahAssertToSpaceClosure > closure. JDK 8223774 [1] removed the last use of this closure. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 > Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ > > Test: > ?? Built on MacOS {release,fastdebug} > > Thanks, > Charlie > > [1] https://bugs.openjdk.java.net/browse/JDK-8223774 > > > From mathiske at amazon.com Thu Aug 6 14:12:27 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Thu, 6 Aug 2020 14:12:27 +0000 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure In-Reply-To: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> References: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> Message-ID: <3E508ED1-2F32-407C-8160-90AC87ADE3E0@amazon.com> LGTM: There is no textual reference to ShenandoahAssertToSpaceClosure in the rest of the Hotspot code at tip. Bernd (non-committer) ?On 8/6/20, 7:08 AM, "shenandoah-dev on behalf of Charlie Gracie" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Please review this small change that removes the unused ShenandoahAssertToSpaceClosure closure. JDK 8223774 [1] removed the last use of this closure. Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ Test: Built on MacOS {release,fastdebug} Thanks, Charlie [1] https://bugs.openjdk.java.net/browse/JDK-8223774 From Charlie.Gracie at microsoft.com Fri Aug 7 13:26:26 2020 From: Charlie.Gracie at microsoft.com (Charlie Gracie) Date: Fri, 7 Aug 2020 13:26:26 +0000 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure In-Reply-To: <3E508ED1-2F32-407C-8160-90AC87ADE3E0@amazon.com> References: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> <3E508ED1-2F32-407C-8160-90AC87ADE3E0@amazon.com> Message-ID: Thanks for the reviews Zhengyu and Bernd. Cheers, Charlie ?On 2020-08-06, 10:12 AM, "Mathiske, Bernd" wrote: LGTM: There is no textual reference to ShenandoahAssertToSpaceClosure in the rest of the Hotspot code at tip. Bernd (non-committer) On 8/6/20, 7:08 AM, "shenandoah-dev on behalf of Charlie Gracie" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Please review this small change that removes the unused ShenandoahAssertToSpaceClosure closure. JDK 8223774 [1] removed the last use of this closure. Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ Test: Built on MacOS {release,fastdebug} Thanks, Charlie [1] https://bugs.openjdk.java.net/browse/JDK-8223774 From Nikola.Grcevski at microsoft.com Fri Aug 7 15:07:43 2020 From: Nikola.Grcevski at microsoft.com (Nikola Grcevski) Date: Fri, 7 Aug 2020 15:07:43 +0000 Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support Message-ID: Hello Shenandoah-dev, Please review this small change that removes the ShenandoahCriticalControlThreadPriority option and its usage: Webrev: http://cr.openjdk.java.net/~burban/nikola/JDK-8241007/webrev0.0/ JBS: https://bugs.openjdk.java.net/browse/JDK-8241007 I've tested build on both slowdebug and release and I ran few GC heavy workloads with it. If the change looks good, I'll need a sponsor please. Thank you! Nikola From adityam at microsoft.com Sat Aug 8 16:11:04 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Sat, 8 Aug 2020 16:11:04 +0000 Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support In-Reply-To: References: Message-ID: Hey Nikola, The code change looks good to me. There's also a test you'll need to remove: gc/shenandoah/options/TestCriticalControlThreadPriority.java. Thanks, Aditya -----Original Message----- From: shenandoah-dev On Behalf Of Nikola Grcevski Sent: Friday, August 7, 2020 8:08 AM To: shenandoah-dev at openjdk.java.net Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support Hello Shenandoah-dev, Please review this small change that removes the ShenandoahCriticalControlThreadPriority option and its usage: Webrev: https://nam06.safelinks.protection.outlook.com/?url=http:%2F%2Fcr.openjdk.java.net%2F~burban%2Fnikola%2FJDK-8241007%2Fwebrev0.0%2F&data=02%7C01%7Cadityam%40microsoft.com%7C2aa77141d5ab426ee02708d83ae3b6d2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637324096987175965&sdata=BNftRxcC%2F5GyaBwImBEsBxIiZLyUDmiPuOH%2FtvZ8zHA%3D&reserved=0 JBS: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8241007&data=02%7C01%7Cadityam%40microsoft.com%7C2aa77141d5ab426ee02708d83ae3b6d2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637324096987175965&sdata=Dpdqe3sd0HinoCcZ9ooABJ%2BrpkoV3u8hp0Qc6mIU6rc%3D&reserved=0 I've tested build on both slowdebug and release and I ran few GC heavy workloads with it. If the change looks good, I'll need a sponsor please. Thank you! Nikola From Nikola.Grcevski at microsoft.com Sat Aug 8 18:40:23 2020 From: Nikola.Grcevski at microsoft.com (Nikola Grcevski) Date: Sat, 8 Aug 2020 18:40:23 +0000 Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support In-Reply-To: References: Message-ID: Thanks so much Aditya! I've removed the test and updated the webrev: Webrev: http://cr.openjdk.java.net/~burban/nikola/JDK-8241007/webrev0.0/ Cheers, Nikola -----Original Message----- From: Aditya Mandaleeka Sent: August 8, 2020 12:11 PM To: Nikola Grcevski ; shenandoah-dev at openjdk.java.net Subject: RE: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support Hey Nikola, The code change looks good to me. There's also a test you'll need to remove: gc/shenandoah/options/TestCriticalControlThreadPriority.java. Thanks, Aditya -----Original Message----- From: shenandoah-dev On Behalf Of Nikola Grcevski Sent: Friday, August 7, 2020 8:08 AM To: shenandoah-dev at openjdk.java.net Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support Hello Shenandoah-dev, Please review this small change that removes the ShenandoahCriticalControlThreadPriority option and its usage: Webrev: http://cr.openjdk.java.net/~burban/nikola/JDK-8241007/webrev0.0/ JBS: https://bugs.openjdk.java.net/browse/JDK-8241007 I've tested build on both slowdebug and release and I ran few GC heavy workloads with it. If the change looks good, I'll need a sponsor please. Thank you! Nikola From suenaga at oss.nttdata.com Thu Aug 6 00:36:47 2020 From: suenaga at oss.nttdata.com (Yasumasa Suenaga) Date: Thu, 6 Aug 2020 09:36:47 +0900 Subject: [16] RFR 8251192: Shenandoah: Shenandoah build failed after JDK-8235573 In-Reply-To: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> References: <7b8dbdcc-986b-4a78-e5c4-0331413fa32b@redhat.com> Message-ID: <734062e2-c377-61e5-87bc-4b5044f221f2@oss.nttdata.com> Hi Zhengyu, I saw same error! Looks good. Yasumasa On 2020/08/06 1:13, Zhengyu Gu wrote: > Please review this small patch that fixes build failure with Shenandoah. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251192 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251192/webrev.00/ > > Test: > ? Built on Linux x86_84 > > Thanks, > > -Zhengyu > From shade at redhat.com Mon Aug 10 06:17:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 10 Aug 2020 08:17:47 +0200 Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support In-Reply-To: References: Message-ID: <0e74fc29-5397-9c50-ff56-1d2cfb0d51a6@redhat.com> On 8/7/20 5:07 PM, Nikola Grcevski wrote: > > Please review this small change that removes the ShenandoahCriticalControlThreadPriority option and > its usage: > > Webrev: http://cr.openjdk.java.net/~burban/nikola/JDK-8241007/webrev0.0/ > JBS: https://bugs.openjdk.java.net/browse/JDK-8241007 Process wrinkle: the changes to the upstream code need to be reviewed at hotspot-gc-dev@, possibly cc'ing shenandoah-dev at . CC'ed myself. > I've tested build on both slowdebug and release and I ran few GC heavy workloads with it. > > If the change looks good, I'll need a sponsor please. The change looks good to me, I'll sponsor. -- Thanks, -Aleksey From shade at redhat.com Mon Aug 10 06:35:40 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 10 Aug 2020 08:35:40 +0200 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure In-Reply-To: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> References: <305C3B51-3A73-410C-A07C-16C66E04A010@microsoft.com> Message-ID: <483dd844-190c-1dba-b5dc-626a927aec40@redhat.com> On 8/6/20 4:06 PM, Charlie Gracie wrote: > Please review this small change that removes the unused ShenandoahAssertToSpaceClosure > closure. JDK 8223774 [1] removed the last use of this closure. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 > Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ Looks fine. Process wrinkles: - The upstream changes need to be reviewed at hotspot-gc-dev@, possibly cc'ing shenandoah-dev at . CC'ed myself. - The webrev is misformatted. Notably, "Patch of changes:" is a garbage link, and _that_ is usually what is used by sponsors to apply the whole change. I had to reassemble the patch from individual file patches. I'll sponsor. -- Thanks, -Aleksey From shade at redhat.com Mon Aug 10 08:17:12 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 10 Aug 2020 10:17:12 +0200 Subject: [11] RFR 8249560: Shenandoah: Fix racy GC request handling Message-ID: <49242da4-3bf3-3ed7-2780-cca593aaeaf7@redhat.com> Original fix: https://bugs.openjdk.java.net/browse/JDK-8249560 https://hg.openjdk.java.net/jdk/jdk15/rev/0fbc72a46860 It does not apply cleanly to 11u, because MutexLockerEx is used in the middle of the hunk. I reapplied it by hand: diff -r 1584484e8128 src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Thu Jul 23 12:46:24 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Mon Aug 10 09:37:04 2020 +0200 @@ -505,17 +505,19 @@ // This is especially important for weak references cleanup and/or native // resources (e.g. DirectByteBuffers) machinery: when explicit GC request // comes very late in the already running cycle, it would miss lots of new // opportunities for cleanup that were made available before the caller // requested the GC. - size_t required_gc_id = get_gc_id() + 1; MonitorLockerEx ml(&_gc_waiters_lock); - while (get_gc_id() < required_gc_id) { + size_t current_gc_id = get_gc_id(); + size_t required_gc_id = current_gc_id + 1; + while (current_gc_id < required_gc_id) { _gc_requested.set(); _requested_gc_cause = cause; ml.wait(); + current_gc_id = get_gc_id(); } } void ShenandoahControlThread::handle_alloc_failure(ShenandoahAllocRequest& req) { ShenandoahHeap* heap = ShenandoahHeap::heap(); Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Aug 10 10:10:59 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 10 Aug 2020 12:10:59 +0200 Subject: [sh/jdk11] Shenandoah: revert shared JFR changes to match upstream Message-ID: Current sh/jdk11 fails to build on arm32: * For target hotspot_variant-server_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link: /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux-arm-normal-server-fastdebug/hotspot/variant-server/libjvm/objs/jfrJniMethod.o: In function `JfrPeriodicEventSet::requestEvent(JfrEventId)': /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux-arm-normal-server-fastdebug/hotspot/variant-server/gensrc/jfrfiles/jfrPeriodic.hpp:189: undefined reference to `JfrPeriodicEventSet::requestShenandoahHeapRegionInformation()' collect2: error: ld returned 1 exit status * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link: /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux-arm-normal-server-fastdebug/hotspot/variant-server/libjvm/objs/jfrJniMethod.o: In function `JfrPeriodicEventSet::requestEvent(JfrEventId)': /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux-arm-normal-server-fastdebug/hotspot/variant-server/gensrc/jfrfiles/jfrPeriodic.hpp:189: undefined reference to `JfrPeriodicEventSet::requestShenandoahHeapRegionInformation()' collect2: error: ld returned 1 exit status I believe this is because we have the leftover hunk in metadata.xml: https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/src/hotspot/share/jfr/metadata/metadata.xml.sdiff.html ...which fails to build when Shenandoah is disabled (as it is for arm32). The actual block that is used by Shenandoah is actually in src/hotspot/share/jfr/metadata/metadata-shenandoah.xml now. The fix is to revert metadata.xml to the upstream state, basically the reverse of the sdiff above. Testing: arm32 cross build -- Thanks, -Aleksey From rkennke at redhat.com Mon Aug 10 10:30:20 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 10 Aug 2020 12:30:20 +0200 Subject: [sh/jdk11] Shenandoah: revert shared JFR changes to match upstream In-Reply-To: References: Message-ID: <7707d1979c3a0dcfccbac78b38ad0a0c83bf31f4.camel@redhat.com> Yes, looks good! Thanks, Roman On Mon, 2020-08-10 at 12:10 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > Current sh/jdk11 fails to build on arm32: > > * For target hotspot_variant- > server_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link: > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux- > arm-normal-server-fastdebug/hotspot/variant- > server/libjvm/objs/jfrJniMethod.o: > In function `JfrPeriodicEventSet::requestEvent(JfrEventId)': > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux- > arm-normal-server-fastdebug/hotspot/variant- > server/gensrc/jfrfiles/jfrPeriodic.hpp:189: > undefined reference to > `JfrPeriodicEventSet::requestShenandoahHeapRegionInformation()' > collect2: error: ld returned 1 exit status > * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link: > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux- > arm-normal-server-fastdebug/hotspot/variant- > server/libjvm/objs/jfrJniMethod.o: > In function `JfrPeriodicEventSet::requestEvent(JfrEventId)': > /home/buildbot/worker/build-shenandoah-jdk11-linux/build/build/linux- > arm-normal-server-fastdebug/hotspot/variant- > server/gensrc/jfrfiles/jfrPeriodic.hpp:189: > undefined reference to > `JfrPeriodicEventSet::requestShenandoahHeapRegionInformation()' > collect2: error: ld returned 1 exit status > > I believe this is because we have the leftover hunk in metadata.xml: > > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/src/hotspot/share/jfr/metadata/metadata.xml.sdiff.html > > ...which fails to build when Shenandoah is disabled (as it is for > arm32). The actual block that is > used by Shenandoah is actually in > src/hotspot/share/jfr/metadata/metadata-shenandoah.xml now. The > fix is to revert metadata.xml to the upstream state, basically the > reverse of the sdiff above. > > Testing: arm32 cross build > From rkennke at redhat.com Mon Aug 10 10:31:51 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 10 Aug 2020 12:31:51 +0200 Subject: [11] RFR 8249560: Shenandoah: Fix racy GC request handling In-Reply-To: <49242da4-3bf3-3ed7-2780-cca593aaeaf7@redhat.com> References: <49242da4-3bf3-3ed7-2780-cca593aaeaf7@redhat.com> Message-ID: Looks good to me! Thanks, Roman On Mon, 2020-08-10 at 10:17 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > Original fix: > https://bugs.openjdk.java.net/browse/JDK-8249560 > https://hg.openjdk.java.net/jdk/jdk15/rev/0fbc72a46860 > > It does not apply cleanly to 11u, because MutexLockerEx is used in > the middle of the hunk. I > reapplied it by hand: > > diff -r 1584484e8128 > src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp > --- > a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp T > hu Jul 23 12:46:24 2020 +0200 > +++ > b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp M > on Aug 10 09:37:04 2020 +0200 > @@ -505,17 +505,19 @@ > // This is especially important for weak references cleanup and/or > native > // resources (e.g. DirectByteBuffers) machinery: when explicit GC > request > // comes very late in the already running cycle, it would miss > lots of new > // opportunities for cleanup that were made available before the > caller > // requested the GC. > - size_t required_gc_id = get_gc_id() + 1; > > MonitorLockerEx ml(&_gc_waiters_lock); > - while (get_gc_id() < required_gc_id) { > + size_t current_gc_id = get_gc_id(); > + size_t required_gc_id = current_gc_id + 1; > + while (current_gc_id < required_gc_id) { > _gc_requested.set(); > _requested_gc_cause = cause; > ml.wait(); > + current_gc_id = get_gc_id(); > } > } > > void > ShenandoahControlThread::handle_alloc_failure(ShenandoahAllocRequest& > req) { > ShenandoahHeap* heap = ShenandoahHeap::heap(); > > > Testing: hotspot_gc_shenandoah > From shade at redhat.com Mon Aug 10 10:33:42 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 10 Aug 2020 12:33:42 +0200 Subject: [sh/jdk11] Shenandoah: revert shared JFR changes to match upstream In-Reply-To: <7707d1979c3a0dcfccbac78b38ad0a0c83bf31f4.camel@redhat.com> References: <7707d1979c3a0dcfccbac78b38ad0a0c83bf31f4.camel@redhat.com> Message-ID: <770afed9-ff1e-ac93-b90d-5179d3747f0b@redhat.com> On 8/10/20 12:30 PM, Roman Kennke wrote: > Yes, looks good! Cheers, pushed. -- -Aleksey From Charlie.Gracie at microsoft.com Mon Aug 10 14:44:31 2020 From: Charlie.Gracie at microsoft.com (Charlie Gracie) Date: Mon, 10 Aug 2020 14:44:31 +0000 Subject: [16] RFR: 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure Message-ID: <698C46D7-09CD-4FA9-8F0E-72488814D916@microsoft.com> Thanks Aleksey. My bad on the link. I used the title from the Bug for the webrev title. That ended up creating an invalid filename due to the ":", I believe. I will make sure to verify the "Patch of changes:" link in the future. Thanks, Charlie ?On 2020-08-10, 2:35 AM, "Aleksey Shipilev" wrote: On 8/6/20 4:06 PM, Charlie Gracie wrote: > Please review this small change that removes the unused ShenandoahAssertToSpaceClosure > closure. JDK 8223774 [1] removed the last use of this closure. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8241574 > Webrev: http://cr.openjdk.java.net/~burban/cgracie/remove_closure/webrev0.0/ Looks fine. Process wrinkles: - The upstream changes need to be reviewed at hotspot-gc-dev@, possibly cc'ing shenandoah-dev at . CC'ed myself. - The webrev is misformatted. Notably, "Patch of changes:" is a garbage link, and _that_ is usually what is used by sponsors to apply the whole change. I had to reassemble the patch from individual file patches. I'll sponsor. -- Thanks, -Aleksey From Nikola.Grcevski at microsoft.com Mon Aug 10 20:08:39 2020 From: Nikola.Grcevski at microsoft.com (Nikola Grcevski) Date: Mon, 10 Aug 2020 20:08:39 +0000 Subject: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support In-Reply-To: <0e74fc29-5397-9c50-ff56-1d2cfb0d51a6@redhat.com> References: <0e74fc29-5397-9c50-ff56-1d2cfb0d51a6@redhat.com> Message-ID: Thanks so much Aleksey! I'll make sure future reviews go to hotspot-gc-dev too. -----Original Message----- From: Aleksey Shipilev Sent: August 10, 2020 2:18 AM To: Nikola Grcevski ; shenandoah-dev at openjdk.java.net Cc: hotspot-gc-dev at openjdk.java.net Subject: Re: RFR: JDK-8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support On 8/7/20 5:07 PM, Nikola Grcevski wrote: > > Please review this small change that removes the > ShenandoahCriticalControlThreadPriority option and its usage: > > Webrev: > http://cr.openjdk.java.net/~burban/nikola/JDK-8241007/webrev0.0/ > JBS: https://bugs.openjdk.java.net/browse/JDK-8241007 Process wrinkle: the changes to the upstream code need to be reviewed at hotspot-gc-dev@, possibly cc'ing shenandoah-dev at . CC'ed myself. > I've tested build on both slowdebug and release and I ran few GC heavy workloads with it. > > If the change looks good, I'll need a sponsor please. The change looks good to me, I'll sponsor. -- Thanks, -Aleksey From shade at redhat.com Tue Aug 11 08:56:11 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 11 Aug 2020 10:56:11 +0200 Subject: [8u] 2020-08-11, Bulk backports to sh/jdk8 Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200811/webrev.01/ This backports a bunch of fixes/improvements to sh/jdk8: [backport] 8248041: Shenandoah: pre-Full GC root updates may miss some roots [backport] 8249560: Shenandoah: Fix racy GC request handling [backport] 8249801: Shenandoah: Clear soft-refs on requested GC cycle [backport] 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure [backport] 8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Tue Aug 11 09:22:16 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 11 Aug 2020 11:22:16 +0200 Subject: [8u] 2020-08-11, Bulk backports to sh/jdk8 In-Reply-To: References: Message-ID: <84795e94e80802f34d573eed9352c378bea5972f.camel@redhat.com> Looks good to me, thank you! Cheers, Roman On Tue, 2020-08-11 at 10:56 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200811/webrev.01/ > > This backports a bunch of fixes/improvements to sh/jdk8: > > [backport] 8248041: Shenandoah: pre-Full GC root updates may miss > some roots > [backport] 8249560: Shenandoah: Fix racy GC request handling > [backport] 8249801: Shenandoah: Clear soft-refs on requested GC > cycle > [backport] 8241574: Shenandoah: remove > ShenandoahAssertToSpaceClosure > [backport] 8241007: Shenandoah: remove > ShenandoahCriticalControlThreadPriority support > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From zgu at redhat.com Tue Aug 11 14:16:10 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 11 Aug 2020 10:16:10 -0400 Subject: [16] RFR 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier Message-ID: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> Please review this small patch that ensures null oops are filtered out before calling enqueue/SATB barrier. Enqueuing null oops create extra works and only get thrown out in later phase. Bug: https://bugs.openjdk.java.net/browse/JDK-8251359 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.00/index.html Test: hotspot_gc_shenandoah Thanks, -Zhengyu From shade at redhat.com Tue Aug 11 14:22:49 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 11 Aug 2020 16:22:49 +0200 Subject: [16] RFR 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier In-Reply-To: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> References: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> Message-ID: <63f5971b-6585-9347-ebcd-1ec4c59663fe@redhat.com> On 8/11/20 4:16 PM, Zhengyu Gu wrote: > Please review this small patch that ensures null oops are filtered out > before calling enqueue/SATB barrier. Enqueuing null oops create extra > works and only get thrown out in later phase. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251359 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.00/index.html I don't think you need CompressedOops::is_null(obj) for guaranteed "oop", and you can just use "obj != NULL"? That is what ShenandoahBarrierSet::storeval_barrier does (you might add parentheses there)... 1328 if (is_concurrent_mark_in_progress() && (obj != NULL)) -- Thanks, -Aleksey From zgu at redhat.com Tue Aug 11 15:53:30 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 11 Aug 2020 11:53:30 -0400 Subject: [16] RFR 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier In-Reply-To: <63f5971b-6585-9347-ebcd-1ec4c59663fe@redhat.com> References: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> <63f5971b-6585-9347-ebcd-1ec4c59663fe@redhat.com> Message-ID: <5d865f19-e879-4d63-d367-09a89e7e7bac@redhat.com> On 8/11/20 10:22 AM, Aleksey Shipilev wrote: > On 8/11/20 4:16 PM, Zhengyu Gu wrote: >> Please review this small patch that ensures null oops are filtered out >> before calling enqueue/SATB barrier. Enqueuing null oops create extra >> works and only get thrown out in later phase. >> >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8251359 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.00/index.html > > I don't think you need CompressedOops::is_null(obj) for guaranteed "oop", and you can just use "obj > != NULL"? That is what ShenandoahBarrierSet::storeval_barrier does (you might add parentheses there)... > > 1328 if (is_concurrent_mark_in_progress() && (obj != NULL)) Updated: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.01/ Okay now? Thanks, -Zhengyu > From shade at redhat.com Tue Aug 11 16:54:58 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 11 Aug 2020 18:54:58 +0200 Subject: [16] RFR 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier In-Reply-To: <5d865f19-e879-4d63-d367-09a89e7e7bac@redhat.com> References: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> <63f5971b-6585-9347-ebcd-1ec4c59663fe@redhat.com> <5d865f19-e879-4d63-d367-09a89e7e7bac@redhat.com> Message-ID: On 8/11/20 5:53 PM, Zhengyu Gu wrote: > On 8/11/20 10:22 AM, Aleksey Shipilev wrote: >> On 8/11/20 4:16 PM, Zhengyu Gu wrote: >>> Please review this small patch that ensures null oops are filtered out >>> before calling enqueue/SATB barrier. Enqueuing null oops create extra >>> works and only get thrown out in later phase. >>> >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8251359 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.00/index.html >> >> I don't think you need CompressedOops::is_null(obj) for guaranteed "oop", and you can just use "obj >> != NULL"? That is what ShenandoahBarrierSet::storeval_barrier does (you might add parentheses there)... >> >> 1328 if (is_concurrent_mark_in_progress() && (obj != NULL)) > > Updated: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.01/ Sorry, I was not clear. shenandoahBarrierSet.inline.hpp can do the same != check. No need for another review, consider changing it before pushing. -- Thanks, -Aleksey From zgu at redhat.com Tue Aug 11 18:43:12 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 11 Aug 2020 14:43:12 -0400 Subject: [16] RFR 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier In-Reply-To: References: <0a8f65cd-f731-e019-d28f-ba90bae6bc7b@redhat.com> <63f5971b-6585-9347-ebcd-1ec4c59663fe@redhat.com> <5d865f19-e879-4d63-d367-09a89e7e7bac@redhat.com> Message-ID: <22d21ae0-6253-12bd-2fae-cb56ed948836@redhat.com> Updated and pushed. Thanks, -Zhengyu On 8/11/20 12:54 PM, Aleksey Shipilev wrote: > On 8/11/20 5:53 PM, Zhengyu Gu wrote: >> On 8/11/20 10:22 AM, Aleksey Shipilev wrote: >>> On 8/11/20 4:16 PM, Zhengyu Gu wrote: >>>> Please review this small patch that ensures null oops are filtered out >>>> before calling enqueue/SATB barrier. Enqueuing null oops create extra >>>> works and only get thrown out in later phase. >>>> >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8251359 >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.00/index.html >>> >>> I don't think you need CompressedOops::is_null(obj) for guaranteed "oop", and you can just use "obj >>> != NULL"? That is what ShenandoahBarrierSet::storeval_barrier does (you might add parentheses there)... >>> >>> 1328 if (is_concurrent_mark_in_progress() && (obj != NULL)) >> >> Updated: http://cr.openjdk.java.net/~zgu/JDK-8251359/webrev.01/ > > Sorry, I was not clear. shenandoahBarrierSet.inline.hpp can do the same != check. No need for > another review, consider changing it before pushing. > From rkennke at redhat.com Tue Aug 11 18:57:22 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Tue, 11 Aug 2020 20:57:22 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U Message-ID: Observed a very rare crash found in CI, and caught by verification. It looks like we've got a lone reference from global-list in ObjectSynchronizer. This list is only used when threads are dying. ObjectMonitors on this list may be the only remaining reference to an oop. When running with I-U mode, we don't enqueue the new-value when creating such ObjectMonitor objects, and thus such objects end up not being marked. The proposed fix re-marks through ObjectSynchronizer (when running with I-U, like we already do for thread-roots and code-roots). That list should normally be empty or very small. Bug: https://bugs.openjdk.java.net/browse/JDK-8251451 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.00/ Testing: hotspot_gc_shenandoah, hotspot:tier1 (which exhibited that failure sometimes) Ok? Thanks, Roman From shade at redhat.com Wed Aug 12 07:34:36 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 09:34:36 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: References: Message-ID: On 8/11/20 8:57 PM, rkennke at redhat.com wrote: > Bug: https://bugs.openjdk.java.net/browse/JDK-8251451 > Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.00/ Looks good in principle. But I see that ObjectSynchronizer::oops_do is in ShenandoahSerialRoots. The patch does it for every worker. Is OS::oops_do safe to call from multiple threads? Does it _make sense_ to call it from multiple threads, knowing the list is small? -- Thanks, -Aleksey From shade at redhat.com Wed Aug 12 07:37:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 09:37:52 +0200 Subject: [11] Pick up jdk-11.0.9+3 to sh/jdk11 Message-ID: <551050e0-50f6-c75b-daf8-6e8259a2ad96@redhat.com> Upstream had published jdk-11.0.9+3. The merge is trivial. I will tag the result shenandoah-jdk-11.0.9+3 immediately. Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Wed Aug 12 07:52:22 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 09:52:22 +0200 Subject: [11] RFR: Cease support for shenandoah/jdk11 Message-ID: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> I think it is time to sunset the sh/jdk11 repository, like we did for sh/jdk12: https://hg.openjdk.java.net/shenandoah/jdk12/rev/4436df5d798c sh/jdk11 only difference against jdk11 upstream are tags and enabling Shenandoah during build: https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/ Let's add this patch to sh/jdk11: diff -r 4f528121104a src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Aug 12 09:19:23 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Aug 12 09:42:36 2020 +0200 @@ -29,10 +29,19 @@ #include "utilities/defaultStream.hpp" void ShenandoahArguments::initialize() { + log_warning(gc)("**************************************************************************"); + log_warning(gc)("* Shenandoah/JDK 11 is now maintained in upstream OpenJDK 11. *"); + log_warning(gc)("* This JDK would not get security, functionality or performance fixes. *"); + log_warning(gc)("* Use this build at your own risk. *"); + log_warning(gc)("* *"); + log_warning(gc)("* For the latest version, use the most recent OpenJDK 11 update release *"); + log_warning(gc)("* from the vendor that has Shenandoah enabled in their builds. *"); + log_warning(gc)("**************************************************************************"); + #if !(defined AARCH64 || defined AMD64 || defined IA32) vm_exit_during_initialization("Shenandoah GC is not supported on this platform."); #endif Testing: sh/jdk11 builds, observing the warning message -- Thanks, -Aleksey From rkennke at redhat.com Wed Aug 12 08:17:30 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 10:17:30 +0200 Subject: [11] Pick up jdk-11.0.9+3 to sh/jdk11 In-Reply-To: <551050e0-50f6-c75b-daf8-6e8259a2ad96@redhat.com> References: <551050e0-50f6-c75b-daf8-6e8259a2ad96@redhat.com> Message-ID: Ok! Thanks, Roman On Wed, 2020-08-12 at 09:37 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > Upstream had published jdk-11.0.9+3. > > The merge is trivial. I will tag the result shenandoah-jdk-11.0.9+3 > immediately. > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From rkennke at redhat.com Wed Aug 12 08:17:56 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 10:17:56 +0200 Subject: [11] RFR: Cease support for shenandoah/jdk11 In-Reply-To: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> References: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> Message-ID: Sounds good to me! Thanks, Roman On Wed, 2020-08-12 at 09:52 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > I think it is time to sunset the sh/jdk11 repository, like we did for > sh/jdk12: > https://hg.openjdk.java.net/shenandoah/jdk12/rev/4436df5d798c > > sh/jdk11 only difference against jdk11 upstream are tags and enabling > Shenandoah during build: > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11/ > > Let's add this patch to sh/jdk11: > > diff -r 4f528121104a > src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 09:19:23 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 09:42:36 2020 +0200 > @@ -29,10 +29,19 @@ > #include "utilities/defaultStream.hpp" > > void ShenandoahArguments::initialize() { > + log_warning(gc)("************************************************* > *************************"); > + log_warning(gc)("* Shenandoah/JDK 11 is now maintained in > upstream OpenJDK 11. *"); > + log_warning(gc)("* This JDK would not get security, functionality > or performance fixes. *"); > + log_warning(gc)("* Use this build at your own > risk. *"); > + log_warning(gc)("* > *"); > + log_warning(gc)("* For the latest version, use the most recent > OpenJDK 11 update release *"); > + log_warning(gc)("* from the vendor that has Shenandoah enabled in > their builds. *"); > + log_warning(gc)("************************************************* > *************************"); > + > #if !(defined AARCH64 || defined AMD64 || defined IA32) > vm_exit_during_initialization("Shenandoah GC is not supported on > this platform."); > #endif > > Testing: sh/jdk11 builds, observing the warning message > From rkennke at redhat.com Wed Aug 12 10:36:23 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 12:36:23 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: References: Message-ID: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> On Wed, 2020-08-12 at 09:34 +0200, Aleksey Shipilev wrote: > On 8/11/20 8:57 PM, rkennke at redhat.com wrote: > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251451 > > Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.00/ > > Looks good in principle. > > But I see that ObjectSynchronizer::oops_do is in > ShenandoahSerialRoots. The patch does it for every > worker. Is OS::oops_do safe to call from multiple threads? Does it > _make sense_ to call it from > multiple threads, knowing the list is small? Awww. Somehow I thought this was serial code. Sorry. No, ObjectSynchronizer is not meant to be called multi-threaded. I added a claim-flag so that only one thread gets to call ObjectSynchronizer::oops_do(). http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ Good now? Same testing still looks good. Roman From shade at redhat.com Wed Aug 12 10:42:09 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 12:42:09 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> Message-ID: <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> On 8/12/20 12:36 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ Yes, that's better. The indenting is off, though: lots of space before "_claimed", and "public" is moved. Should be: private: ShenandoahConcurrentMark* _cm; TaskTerminator* _terminator; bool _dedup_string; ShenandoahSharedFlag _claimed_syncroots; public: ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, TaskTerminator* terminator, bool dedup_string) : No need for another review. -- Thanks, -Aleksey From shade at redhat.com Wed Aug 12 11:10:25 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 13:10:25 +0200 Subject: [8u] 2020-08-12, Bulk backports to sh/jdk8 Message-ID: <1729d855-0afc-11e7-4902-15f452b4bb1d@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200812/webrev.01/ This backports some C2 refactoring and cset encoding changes: [backport] 8245464: Shenandoah: allocate collection set bitmap at lower addresses [backport] 8245773: Shenandoah: Windows assertion failure after JDK-8245464 [backport] 8244509: Shenandoah: refactor ShenandoahBarrierC2Support::test_* methods [backport] 8244667: Shenandoah: SBC2Support::test_gc_state takes loop for wrong control [backport] 8245465: Shenandoah: test_in_cset can use more efficient encoding Testing: hotspot_gc_shenadoah {fastdebug,release}; eyeballing generated code; adhoc benchmarks -- Thanks, -Aleksey From rkennke at redhat.com Wed Aug 12 11:25:48 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 13:25:48 +0200 Subject: [8u] 2020-08-12, Bulk backports to sh/jdk8 In-Reply-To: <1729d855-0afc-11e7-4902-15f452b4bb1d@redhat.com> References: <1729d855-0afc-11e7-4902-15f452b4bb1d@redhat.com> Message-ID: <48df4f5916d6556eb431fc5fbf29144c1af1df6d.camel@redhat.com> Looks good to me! Thanks, Roman On Wed, 2020-08-12 at 13:10 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200812/webrev.01/ > > This backports some C2 refactoring and cset encoding changes: > [backport] 8245464: Shenandoah: allocate collection set bitmap at > lower addresses > [backport] 8245773: Shenandoah: Windows assertion failure after JDK- > 8245464 > [backport] 8244509: Shenandoah: refactor > ShenandoahBarrierC2Support::test_* methods > [backport] 8244667: Shenandoah: SBC2Support::test_gc_state takes > loop for wrong control > [backport] 8245465: Shenandoah: test_in_cset can use more efficient > encoding > > Testing: hotspot_gc_shenadoah {fastdebug,release}; eyeballing > generated code; adhoc benchmarks > From zgu at redhat.com Wed Aug 12 12:47:15 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 12 Aug 2020 08:47:15 -0400 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> Message-ID: Hmmm... seems that it duplicated thread remarking work also ... -Zhengyu On 8/12/20 6:42 AM, Aleksey Shipilev wrote: > On 8/12/20 12:36 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ > > Yes, that's better. The indenting is off, though: lots of space before "_claimed", and "public" is > moved. Should be: > > private: > ShenandoahConcurrentMark* _cm; > TaskTerminator* _terminator; > bool _dedup_string; > ShenandoahSharedFlag _claimed_syncroots; > > public: > ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, TaskTerminator* terminator, bool > dedup_string) : > > No need for another review. > From rkennke at redhat.com Wed Aug 12 13:02:28 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 15:02:28 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> Message-ID: On Wed, 2020-08-12 at 08:47 -0400, Zhengyu Gu wrote: > Hmmm... seems that it duplicated thread remarking work also ... Why? Can you explain? Thanks, Roman > > -Zhengyu > > On 8/12/20 6:42 AM, Aleksey Shipilev wrote: > > On 8/12/20 12:36 PM, Roman Kennke wrote: > > > http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ > > > > Yes, that's better. The indenting is off, though: lots of space > > before "_claimed", and "public" is > > moved. Should be: > > > > private: > > ShenandoahConcurrentMark* _cm; > > TaskTerminator* _terminator; > > bool _dedup_string; > > ShenandoahSharedFlag _claimed_syncroots; > > > > public: > > ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, > > TaskTerminator* terminator, bool > > dedup_string) : > > > > No need for another review. > > From zgu at redhat.com Wed Aug 12 13:10:34 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 12 Aug 2020 09:10:34 -0400 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> Message-ID: <4e20a358-8b2a-7d44-f983-b9587f6b687e@redhat.com> On 8/12/20 9:02 AM, Roman Kennke wrote: > On Wed, 2020-08-12 at 08:47 -0400, Zhengyu Gu wrote: >> Hmmm... seems that it duplicated thread remarking work also ... > > Why? Can you explain? http://hg.openjdk.java.net/jdk/jdk/file/e7109ed4bbb0/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp#l297 or L#307 executed by all workers. -Zhengyu > > Thanks, > Roman > > >> >> -Zhengyu >> >> On 8/12/20 6:42 AM, Aleksey Shipilev wrote: >>> On 8/12/20 12:36 PM, Roman Kennke wrote: >>>> http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ >>> >>> Yes, that's better. The indenting is off, though: lots of space >>> before "_claimed", and "public" is >>> moved. Should be: >>> >>> private: >>> ShenandoahConcurrentMark* _cm; >>> TaskTerminator* _terminator; >>> bool _dedup_string; >>> ShenandoahSharedFlag _claimed_syncroots; >>> >>> public: >>> ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, >>> TaskTerminator* terminator, bool >>> dedup_string) : >>> >>> No need for another review. >>> > From rkennke at redhat.com Wed Aug 12 13:45:18 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 15:45:18 +0200 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: <4e20a358-8b2a-7d44-f983-b9587f6b687e@redhat.com> References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> <4e20a358-8b2a-7d44-f983-b9587f6b687e@redhat.com> Message-ID: > > On 8/12/20 9:02 AM, Roman Kennke wrote: > > On Wed, 2020-08-12 at 08:47 -0400, Zhengyu Gu wrote: > > > Hmmm... seems that it duplicated thread remarking work also ... > > > > Why? Can you explain? > > http://hg.openjdk.java.net/jdk/jdk/file/e7109ed4bbb0/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp#l297 > > or L#307 executed by all workers. Ah yes. But: - It was pre-existing and has not been changed by this patch. - The actual thread-claiming is done in the closure. Should be good? Roman > -Zhengyu > > > > Thanks, > > Roman > > > > > > > -Zhengyu > > > > > > On 8/12/20 6:42 AM, Aleksey Shipilev wrote: > > > > On 8/12/20 12:36 PM, Roman Kennke wrote: > > > > > http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ > > > > > > > > Yes, that's better. The indenting is off, though: lots of space > > > > before "_claimed", and "public" is > > > > moved. Should be: > > > > > > > > private: > > > > ShenandoahConcurrentMark* _cm; > > > > TaskTerminator* _terminator; > > > > bool _dedup_string; > > > > ShenandoahSharedFlag _claimed_syncroots; > > > > > > > > public: > > > > ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, > > > > TaskTerminator* terminator, bool > > > > dedup_string) : > > > > > > > > No need for another review. > > > > From zgu at redhat.com Wed Aug 12 13:52:16 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 12 Aug 2020 09:52:16 -0400 Subject: RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U In-Reply-To: References: <4d2eaba9489337606155bf343f5283ac04c84d7d.camel@redhat.com> <111e041f-8976-19e4-8bdb-fe2ebde91aec@redhat.com> <4e20a358-8b2a-7d44-f983-b9587f6b687e@redhat.com> Message-ID: <7325c4bd-7ef3-2a28-5dbf-ff131cd85a69@redhat.com> On 8/12/20 9:45 AM, Roman Kennke wrote: > >> >> On 8/12/20 9:02 AM, Roman Kennke wrote: >>> On Wed, 2020-08-12 at 08:47 -0400, Zhengyu Gu wrote: >>>> Hmmm... seems that it duplicated thread remarking work also ... >>> >>> Why? Can you explain? >> >> http://hg.openjdk.java.net/jdk/jdk/file/e7109ed4bbb0/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp#l297 >> >> or L#307 executed by all workers. > > Ah yes. But: > - It was pre-existing and has not been changed by this patch. > - The actual thread-claiming is done in the closure. Ah, right. -Zhengyu > > Should be good? > > Roman > > >> -Zhengyu >> >> >>> Thanks, >>> Roman >>> >>> >>>> -Zhengyu >>>> >>>> On 8/12/20 6:42 AM, Aleksey Shipilev wrote: >>>>> On 8/12/20 12:36 PM, Roman Kennke wrote: >>>>>> http://cr.openjdk.java.net/~rkennke/JDK-8251451/webrev.01/ >>>>> >>>>> Yes, that's better. The indenting is off, though: lots of space >>>>> before "_claimed", and "public" is >>>>> moved. Should be: >>>>> >>>>> private: >>>>> ShenandoahConcurrentMark* _cm; >>>>> TaskTerminator* _terminator; >>>>> bool _dedup_string; >>>>> ShenandoahSharedFlag _claimed_syncroots; >>>>> >>>>> public: >>>>> ShenandoahFinalMarkingTask(ShenandoahConcurrentMark* cm, >>>>> TaskTerminator* terminator, bool >>>>> dedup_string) : >>>>> >>>>> No need for another review. >>>>> > From adityam at microsoft.com Wed Aug 12 15:18:09 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Wed, 12 Aug 2020 15:18:09 +0000 Subject: [11] RFR: Cease support for shenandoah/jdk11 In-Reply-To: References: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> Message-ID: A couple of minor comments on the wording of the warning: - "This JDK would not get" -> "This JDK will not get" - "from the vendor that has Shenandoah enabled" -> "from a vendor that has Shenandoah enabled" - My preference would be to have an Oxford comma after "functionality" but I'll leave that up to you :) . Other than that, this looks good to me. -Aditya -----Original Message----- From: shenandoah-dev On Behalf Of Roman Kennke Sent: Wednesday, August 12, 2020 1:18 AM To: Aleksey Shipilev ; shenandoah-dev at openjdk.java.net Subject: Re: [11] RFR: Cease support for shenandoah/jdk11 Sounds good to me! Thanks, Roman On Wed, 2020-08-12 at 09:52 +0200, Aleksey Shipilev wrote: > Error verifying signature: Cannot verify message signature: > Incorrect message format > I think it is time to sunset the sh/jdk11 repository, like we did for > sh/jdk12: > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhg.o > penjdk.java.net%2Fshenandoah%2Fjdk12%2Frev%2F4436df5d798c&data=02% > 7C01%7Cadityam%40microsoft.com%7C479acc72f1a442322d4908d83e9853cf%7C72 > f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637328171246957401&sdata= > wYhzM%2F%2F88awSp%2F6VcMsNmRQrR9BECYx7YRtiIzVcV%2BY%3D&reserved=0 > > sh/jdk11 only difference against jdk11 upstream are tags and enabling > Shenandoah during build: > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbuil > ds.shipilev.net%2Fpatch-openjdk-shenandoah-jdk11%2F&data=02%7C01%7 > Cadityam%40microsoft.com%7C479acc72f1a442322d4908d83e9853cf%7C72f988bf > 86f141af91ab2d7cd011db47%7C1%7C0%7C637328171246957401&sdata=pcGyCZ > %2BMu%2F%2FybaWL7ute86oZ3ZZ18h%2BS6WFa5R9RQLw%3D&reserved=0 > > Let's add this patch to sh/jdk11: > > diff -r 4f528121104a > src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 09:19:23 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 09:42:36 2020 +0200 > @@ -29,10 +29,19 @@ > #include "utilities/defaultStream.hpp" > > void ShenandoahArguments::initialize() { > + log_warning(gc)("************************************************* > *************************"); > + log_warning(gc)("* Shenandoah/JDK 11 is now maintained in > upstream OpenJDK 11. *"); > + log_warning(gc)("* This JDK would not get security, functionality > or performance fixes. *"); > + log_warning(gc)("* Use this build at your own > risk. *"); > + log_warning(gc)("* > *"); > + log_warning(gc)("* For the latest version, use the most recent > OpenJDK 11 update release *"); > + log_warning(gc)("* from the vendor that has Shenandoah enabled in > their builds. *"); > + log_warning(gc)("************************************************* > *************************"); > + > #if !(defined AARCH64 || defined AMD64 || defined IA32) > vm_exit_during_initialization("Shenandoah GC is not supported on > this platform."); #endif > > Testing: sh/jdk11 builds, observing the warning message > From shade at redhat.com Wed Aug 12 15:23:55 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 17:23:55 +0200 Subject: [11] RFR: Cease support for shenandoah/jdk11 In-Reply-To: References: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> Message-ID: On 8/12/20 5:18 PM, Aditya Mandaleeka wrote: > A couple of minor comments on the wording of the warning: > > - "This JDK would not get" -> "This JDK will not get" > - "from the vendor that has Shenandoah enabled" -> "from a vendor that has Shenandoah enabled" > - My preference would be to have an Oxford comma after "functionality" but I'll leave that up to you :) . > > Other than that, this looks good to me. Okay, let's push this then? diff -r 21ab376eb1e7 src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Aug 12 09:53:25 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Aug 12 17:23:36 2020 +0200 @@ -31,15 +31,15 @@ #include "utilities/defaultStream.hpp" void ShenandoahArguments::initialize() { log_warning(gc)("**************************************************************************"); log_warning(gc)("* Shenandoah/JDK 11 is now maintained in upstream OpenJDK 11. *"); - log_warning(gc)("* This JDK would not get security, functionality or performance fixes. *"); + log_warning(gc)("* This JDK will not get security, functionality, or performance fixes. *"); log_warning(gc)("* Use this build at your own risk. *"); log_warning(gc)("* *"); log_warning(gc)("* For the latest version, use the most recent OpenJDK 11 update release *"); - log_warning(gc)("* from the vendor that has Shenandoah enabled in their builds. *"); + log_warning(gc)("* from a vendor that has Shenandoah enabled in their builds. *"); log_warning(gc)("**************************************************************************"); #if !(defined AARCH64 || defined AMD64 || defined IA32) vm_exit_during_initialization("Shenandoah GC is not supported on this platform."); #endif -- Thanks, -Aleksey From shade at redhat.com Wed Aug 12 15:30:04 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 12 Aug 2020 17:30:04 +0200 Subject: [8u] 2020-08-12, Bulk backports to sh/jdk8 In-Reply-To: <48df4f5916d6556eb431fc5fbf29144c1af1df6d.camel@redhat.com> References: <1729d855-0afc-11e7-4902-15f452b4bb1d@redhat.com> <48df4f5916d6556eb431fc5fbf29144c1af1df6d.camel@redhat.com> Message-ID: <6f0c5bd9-260b-431f-460f-a1077ec82dc4@redhat.com> On 8/12/20 1:25 PM, Roman Kennke wrote: > Looks good to me! Yup, pushed. -- Thanks, -Aleksey From adityam at microsoft.com Wed Aug 12 16:23:42 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Wed, 12 Aug 2020 16:23:42 +0000 Subject: [11] RFR: Cease support for shenandoah/jdk11 In-Reply-To: References: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> Message-ID: Looks good, thanks Aleksey! -Aditya From rkennke at redhat.com Wed Aug 12 16:43:03 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 12 Aug 2020 18:43:03 +0200 Subject: [11] RFR: Cease support for shenandoah/jdk11 In-Reply-To: References: <8168ba4b-1db2-c735-800a-1f0d810efb09@redhat.com> Message-ID: <0616e065f7a72b188c0893b5a2c92a1c4b901e3a.camel@redhat.com> Yes, that looks good to me! Thanks, Roman On Wed, 2020-08-12 at 17:23 +0200, Aleksey Shipilev wrote: > On 8/12/20 5:18 PM, Aditya Mandaleeka wrote: > > A couple of minor comments on the wording of the warning: > > > > - "This JDK would not get" -> "This JDK will not get" > > - "from the vendor that has Shenandoah enabled" -> "from a vendor > > that has Shenandoah enabled" > > - My preference would be to have an Oxford comma after > > "functionality" but I'll leave that up to you :) . > > > > Other than that, this looks good to me. > Okay, let's push this then? > > diff -r 21ab376eb1e7 > src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 09:53:25 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed > Aug 12 17:23:36 2020 +0200 > @@ -31,15 +31,15 @@ > #include "utilities/defaultStream.hpp" > > void ShenandoahArguments::initialize() { > log_warning(gc)("************************************************* > *************************"); > log_warning(gc)("* Shenandoah/JDK 11 is now maintained in > upstream OpenJDK 11. *"); > - log_warning(gc)("* This JDK would not get security, functionality > or performance fixes. *"); > + log_warning(gc)("* This JDK will not get security, functionality, > or performance fixes. *"); > log_warning(gc)("* Use this build at your own > risk. *"); > log_warning(gc)("* > *"); > log_warning(gc)("* For the latest version, use the most recent > OpenJDK 11 update release *"); > - log_warning(gc)("* from the vendor that has Shenandoah enabled in > their builds. *"); > + log_warning(gc)("* from a vendor that has Shenandoah enabled in > their builds. *"); > log_warning(gc)("************************************************* > *************************"); > > #if !(defined AARCH64 || defined AMD64 || defined IA32) > vm_exit_during_initialization("Shenandoah GC is not supported on > this platform."); > #endif > > From shade at redhat.com Wed Aug 12 16:43:52 2020 From: shade at redhat.com (shade at redhat.com) Date: Wed, 12 Aug 2020 16:43:52 +0000 Subject: hg: shenandoah/jdk11: Adjust wording in "Cease support for shenandoah/jdk11" Message-ID: <202008121643.07CGhrUm023566@aojmv0008.oracle.com> Changeset: 8e3f5859da54 Author: shade Date: 2020-08-12 17:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8e3f5859da54 Adjust wording in "Cease support for shenandoah/jdk11" ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp From zgu at redhat.com Wed Aug 12 18:10:37 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 12 Aug 2020 14:10:37 -0400 Subject: [11u] RFR 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase Message-ID: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> Please review this small enhancement that adds detail timing tracking for final mark cleaning phase. The timing information is very useful to diagnose latency issues. The patch is 11u specific, since 11u code structure is quite different from jdk/jdk, mainly due to concurrent class unloading in jdk/jdk. The change is completed isolated in Shenandoah. Bug: https://bugs.openjdk.java.net/browse/JDK-8251487 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.00/ Test: hotspot_gc_shenandoah Thanks, -Zhengyu From gnu.andrew at redhat.com Thu Aug 13 19:07:10 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 13 Aug 2020 20:07:10 +0100 Subject: [RFR] [8u] 8u272-b02 Upstream Sync Message-ID: <20200813190710.GA2495896@stopbrexit> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/root/merge.changeset Changes in aarch64-shenandoah-jdk8u272-b02: - JDK-8023697: failed class resolution reports different class name in detail message for the first and subsequent times - JDK-8025886: replace [[ and == bash extensions in regtest - JDK-8046274: Removing dependency on jakarta-regexp - JDK-8048933: -XX:+TraceExceptions output should include the message - JDK-8076151: [TESTBUG] Test java/awt/FontClass/CreateFont/fileaccess/FontFile.java fails - JDK-8148854: Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent - JDK-8154313: Generated javadoc scattered all over the place - JDK-8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure - JDK-8163251: Hard coded loop limit prevents reading of smart card data greater than 8k - JDK-8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1 - JDK-8173300: [TESTBUG]compiler/tiered/NonTieredLevelsTest.java fails with compiler.whitebox.SimpleTestCaseHelper(int) must be compiled - JDK-8183349: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java and WriteAfterAbort.java - JDK-8191678: [TESTBUG] Add keyword headful in java/awt FocusTransitionTest test. - JDK-8201633: Problems with AES-GCM native acceleration - JDK-8211049: Second parameter of "initialize" method is not used - JDK-8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero - JDK-8220165: Encryption using GCM results in RuntimeException- input length out of bound - JDK-8220555: JFR tool shows potentially misleading message when it cannot access a file - JDK-8221658: aarch64: add necessary predicate for ubfx patterns - JDK-8224217: RecordingInfo should use textual representation of path - JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate - JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 - JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 - JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 - JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array - JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java Main issues of note: None, clean merge. diffstat for root b/.hgtags | 2 ++ b/THIRD_PARTY_README | 1 - b/make/Javadoc.gmk | 38 +++++++++++++++++++++++++++++++++++++- b/make/Main.gmk | 14 +++++++++++--- 4 files changed, 50 insertions(+), 5 deletions(-) diffstat for corba b/.hgtags | 2 ++ b/THIRD_PARTY_README | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for jaxp a/src/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java | 76 a/src/com/sun/org/apache/regexp/internal/CharacterIterator.java | 42 a/src/com/sun/org/apache/regexp/internal/RE.java | 1760 ---------- a/src/com/sun/org/apache/regexp/internal/RECompiler.java | 1520 -------- a/src/com/sun/org/apache/regexp/internal/REDebugCompiler.java | 225 - a/src/com/sun/org/apache/regexp/internal/REProgram.java | 158 a/src/com/sun/org/apache/regexp/internal/RESyntaxException.java | 43 a/src/com/sun/org/apache/regexp/internal/RETest.java | 883 ----- a/src/com/sun/org/apache/regexp/internal/REUtil.java | 61 a/src/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java | 164 a/src/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java | 161 a/src/com/sun/org/apache/regexp/internal/StringCharacterIterator.java | 62 a/src/com/sun/org/apache/regexp/internal/recompile.java | 137 b/.hgtags | 2 b/THIRD_PARTY_README | 1 b/src/com/sun/org/apache/bcel/internal/util/InstructionFinder.java | 97 16 files changed, 30 insertions(+), 5362 deletions(-) diffstat for jaxws b/.hgtags | 2 ++ b/THIRD_PARTY_README | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for langtools b/.hgtags | 2 ++ b/THIRD_PARTY_README | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for nashorn b/.hgtags | 2 ++ b/THIRD_PARTY_README | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for jdk b/.hgtags | 2 b/THIRD_PARTY_README | 1 b/src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java | 66 ++ b/src/share/classes/jdk/jfr/internal/PlatformRecorder.java | 4 b/src/share/classes/jdk/jfr/internal/PlatformRecording.java | 4 b/src/share/classes/jdk/jfr/internal/WriteableUserPath.java | 22 b/src/share/classes/jdk/jfr/internal/management/ManagementSupport.java | 12 b/src/share/classes/jdk/jfr/internal/tool/Command.java | 4 b/src/share/classes/jdk/management/jfr/RecordingInfo.java | 5 b/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java | 2 b/src/share/classes/sun/security/smartcardio/ChannelImpl.java | 8 b/src/share/classes/sun/security/x509/AlgorithmId.java | 4 b/src/solaris/native/java/lang/childproc.c | 3 b/src/solaris/native/java/lang/childproc.h | 4 b/src/solaris/native/sun/nio/ch/sctp/Sctp.h | 14 b/src/solaris/native/sun/nio/ch/sctp/SctpNet.c | 9 b/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c | 5 b/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.h | 4 b/test/com/sun/crypto/provider/Cipher/AEAD/GCMLargeDataKAT.java | 228 ++++++++++ b/test/java/awt/Focus/FocusTransitionTest/FocusTransitionTest.java | 4 b/test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java | 27 + b/test/java/awt/FontClass/CreateFont/fileaccess/TestFontFile.sh | 84 +++ b/test/javax/imageio/plugins/shared/CanWriteSequence.java | 55 +- b/test/javax/imageio/plugins/shared/WriteAfterAbort.java | 137 +++--- b/test/jdk/jfr/tool/TestPrint.java | 4 b/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh | 7 b/test/sun/security/rsa/TestKeyPairGeneratorInit.java | 60 ++ b/test/sun/security/rsa/pss/PSSParametersTest.java | 46 +- b/test/sun/security/rsa/pss/TestPSSKeySupport.java | 5 29 files changed, 667 insertions(+), 163 deletions(-) diffstat for hotspot b/.hgtags | 2 b/THIRD_PARTY_README | 1 b/src/share/vm/classfile/classFileParser.cpp | 12 b/src/share/vm/classfile/javaClasses.cpp | 10 b/src/share/vm/classfile/javaClasses.hpp | 1 b/src/share/vm/classfile/resolutionErrors.cpp | 23 + b/src/share/vm/classfile/resolutionErrors.hpp | 14 - b/src/share/vm/classfile/systemDictionary.cpp | 23 + b/src/share/vm/classfile/systemDictionary.hpp | 8 b/src/share/vm/classfile/verifier.cpp | 2 b/src/share/vm/classfile/verifier.hpp | 6 b/src/share/vm/interpreter/interpreterRuntime.cpp | 13 b/src/share/vm/jfr/periodic/sampling/jfrCallTrace.cpp | 5 b/src/share/vm/jfr/recorder/service/jfrOptionSet.cpp | 7 b/src/share/vm/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp | 4 b/src/share/vm/jfr/utilities/jfrTypes.hpp | 3 b/src/share/vm/memory/threadLocalAllocBuffer.cpp | 8 b/src/share/vm/oops/constantPool.cpp | 127 ++++----- b/src/share/vm/oops/constantPool.hpp | 6 b/src/share/vm/runtime/reflection.cpp | 2 b/src/share/vm/utilities/constantTag.cpp | 14 + b/src/share/vm/utilities/constantTag.hpp | 3 b/test/compiler/tiered/NonTieredLevelsTest.java | 3 b/test/runtime/ClassFile/BadHelloWorld.jcod | 138 ++++++++++ b/test/runtime/ClassFile/FormatCheckingTest.java | 43 +++ b/test/runtime/ClassResolutionFail/Property.java | 27 + b/test/runtime/ClassResolutionFail/PropertySuper.java | 28 ++ b/test/runtime/ClassResolutionFail/TestClassResolutionFail.java | 57 ++++ b/test/runtime/CommandLine/TraceExceptionsTest.java | 48 +++ 29 files changed, 531 insertions(+), 107 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From gnu.andrew at redhat.com Thu Aug 13 21:14:22 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 13 Aug 2020 22:14:22 +0100 Subject: [11] Pick up jdk-11.0.9+2 to sh/jdk11 In-Reply-To: References: <8cf03e48-299a-7212-fe3e-cfd59f679bd0@redhat.com> <78701da4-9355-08ce-4068-bc792bcfef29@redhat.com> Message-ID: <20200813211422.GB2495896@stopbrexit> On 15:09 Wed 05 Aug , Roman Kennke wrote: > JFR leftovers are ok, and infact may be harmful. Shenandoah definitions are > in separate metadata-shenandoah.xml file now. Yes, I noticed that move when checking the diff from shenandoah-jdk-11.0.9+1 to jdk-11.0.9+2. Fedora is now using jdk-updates/jdk11: https://koji.fedoraproject.org/koji/buildinfo?buildID=1592563 and seems fine so far. Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From rkennke at redhat.com Thu Aug 13 21:24:50 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 13 Aug 2020 23:24:50 +0200 Subject: [11u] RFR 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase In-Reply-To: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> References: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> Message-ID: <2625bca69b582ad901afdfb350fb9b134f6ce325.camel@redhat.com> Hi Zhengyu, - the order of placement of _phase and its initializer don't match. Some compilers are not going to like this. - the indentation of _phase wrt the other fields doesn't match - Alignment don't match here: + ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, BoolObjectClosure* is_alive, bool process_strings, + bool process_symbols, uint num_workers, bool unloading_occurred); The rest looks good to me. Thank you! Roman On Wed, 2020-08-12 at 14:10 -0400, Zhengyu Gu wrote: > Please review this small enhancement that adds detail timing > tracking > for final mark cleaning phase. The timing information is very useful > to > diagnose latency issues. > > The patch is 11u specific, since 11u code structure is quite > different > from jdk/jdk, mainly due to concurrent class unloading in jdk/jdk. > The change is completed isolated in Shenandoah. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251487 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.00/ > > Test: > hotspot_gc_shenandoah > > Thanks, > > -Zhengyu > From kdnilsen at amazon.com Fri Aug 14 00:34:06 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Fri, 14 Aug 2020 00:34:06 +0000 Subject: RFC: Adding generational support to ShenandoahHeapRegion Message-ID: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> This webrev details a suggested change to the definition of ShenandoahHeapRegion for the purpose of enabling multi-generational garbage collection: http://cr.openjdk.java.net/~kdnilsen/two-generations/webrev.00/ ? Here is some background on how we anticipate this facility will be used: 1. Our thoughts are to use Shenandoah as currently implemented primarily for young-gen collection, so the default constructor shows that all heap regions are allocated as belonging to the young generation. 2. Eventually, we will set aside certain heap regions to represent old-generation memory. As objects are tenured, the Shenandoah collector evacuates these objects out of a young-gen HeapRegion into an old-generation heap region. 3. Certain existing operations of the existing Shenandoah collector (marking, for example) need to efficiently determine whether particular objects referenced by pointers reside in young-gen memory or old-gen memory. Shenandoah GC will give non-traditional treatment to any pointers residing outside the young-generation. 4. We intend to use the heap->heap_region_containing(address) service to find the heap region that corresponds to a particular object address and then consult the value of the _gen field to determine whether a particular object resides in old-gen or new-gen memory. 5. Fast-path mutator operations do not need to know which generation holds particular objects. The most common requirement is for a background GC thread to be processing pointers within a tight loop. In this common use case, we expect that the loop-invariant variables RegionSizeBytesShift, _base, and _regions would all reside in registers and their content would be loaded within the loop's pre-header. I welcome discussion and recommendations for improvement. (We are doing prototype development off trunk. We would not expect to merge any of this code until it is all working and performance benefits are demonstrated.) From rkennke at redhat.com Mon Aug 17 12:41:12 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 17 Aug 2020 14:41:12 +0200 Subject: RFC: Adding generational support to ShenandoahHeapRegion In-Reply-To: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> References: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> Message-ID: Hi Kelvin, the change itself seems relatively uncontroversial as it is. I have sent you my w-i-p a while ago, which also covers this suggested change, and much more (tracking age, promoting objects, dynamically allocating regions for old-gen, etc), have you considered it? http://cr.openjdk.java.net/~rkennke/generation.patch I am not quite sure how it makes sense to use Shenandoah 'primarily for young gen collection'. Intuitively I'd use Shenandoah for both old and young gen, or even just for old-gen and a STW scavenger for young-gen. Regarding point #4, it may at some point be worth to use a similar mechanism like we use to quickly determine object-in-cset, i.e. a biased lookup-table. That's more efficient than finding a region, and then looking up the field there. But that is certainly an optimization for later. Thanks for your work on this! Cheers, Roman On Fri, 2020-08-14 at 00:34 +0000, Nilsen, Kelvin wrote: > This webrev details a suggested change to the definition of > ShenandoahHeapRegion for the purpose of enabling multi-generational > garbage collection: > > http://cr.openjdk.java.net/~kdnilsen/two-generations/webrev.00/ > ? > Here is some background on how we anticipate this facility will be > used: > > 1. Our thoughts are to use Shenandoah as currently implemented > primarily for young-gen collection, so the default constructor shows > that all heap regions are allocated as belonging to the young > generation. > > 2. Eventually, we will set aside certain heap regions to represent > old-generation memory. As objects are tenured, the Shenandoah > collector evacuates these objects out of a young-gen HeapRegion into > an old-generation heap region. > > 3. Certain existing operations of the existing Shenandoah collector > (marking, for example) need to efficiently determine whether > particular objects referenced by pointers reside in young-gen memory > or old-gen memory. Shenandoah GC will give non-traditional > treatment to any pointers residing outside the young-generation. > > 4. We intend to use the heap->heap_region_containing(address) > service to find the heap region that corresponds to a particular > object address and then consult the value of the _gen field to > determine whether a particular object resides in old-gen or new-gen > memory. > > 5. Fast-path mutator operations do not need to know which > generation holds particular objects. The most common requirement is > for a background GC thread to be processing pointers within a tight > loop. In this common use case, we expect that the loop-invariant > variables RegionSizeBytesShift, _base, and _regions would all reside > in registers and their content would be loaded within the loop's pre- > header. > > I welcome discussion and recommendations for improvement. > > (We are doing prototype development off trunk. We would not expect > to merge any of this code until it is all working and performance > benefits are demonstrated.) > > > > > From zgu at redhat.com Mon Aug 17 13:29:57 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 17 Aug 2020 09:29:57 -0400 Subject: [11u] RFR 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase In-Reply-To: <2625bca69b582ad901afdfb350fb9b134f6ce325.camel@redhat.com> References: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> <2625bca69b582ad901afdfb350fb9b134f6ce325.camel@redhat.com> Message-ID: On 8/13/20 5:24 PM, Roman Kennke wrote: > Hi Zhengyu, > > - the order of placement of _phase and its initializer don't match. > Some compilers are not going to like this. > - the indentation of _phase wrt the other fields doesn't match > - Alignment don't match here: > > + ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, > BoolObjectClosure* is_alive, bool process_strings, > + bool process_symbols, uint num_workers, bool unloading_occurred); Updated: http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.01/index.html Okay now? Thanks, -Zhengyu > > > The rest looks good to me. > > Thank you! > Roman > > On Wed, 2020-08-12 at 14:10 -0400, Zhengyu Gu wrote: >> Please review this small enhancement that adds detail timing >> tracking >> for final mark cleaning phase. The timing information is very useful >> to >> diagnose latency issues. >> >> The patch is 11u specific, since 11u code structure is quite >> different >> from jdk/jdk, mainly due to concurrent class unloading in jdk/jdk. >> The change is completed isolated in Shenandoah. >> >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8251487 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.00/ >> >> Test: >> hotspot_gc_shenandoah >> >> Thanks, >> >> -Zhengyu >> > From kdnilsen at amazon.com Mon Aug 17 16:19:52 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Mon, 17 Aug 2020 16:19:52 +0000 Subject: RFC: Adding generational support to ShenandoahHeapRegion In-Reply-To: References: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> Message-ID: <98AD728A-4167-441C-BF25-78ECFED11AB9@amazon.com> Thanks for those suggestions and thanks for prior feedback. Let me offer just a little more discussion: 1. Adding generational GC to Shenandoah is not necessarily our vision of the complete end-all best solution for all situations. It is our attempt to deliver incremental improvement with "limited" effort and a near-term planning horizon. 2. I understand your perspective that using Shenandoah for young-gen collection rather than old-gen collection is not what you would have recommended. Here are some of the reasons we are exploring this choice: a) Many of our important customers have very large young-gens, gigabytes and larger for just young-gen. For this reason, we do not want to do stop-the-world young-gen. b) Integrating two relocating concurrent GC (for both old- and young-gen) is perceived as overly complex for current needs c) It is very important for allocation to use efficient TLABs, which depends on defragmentation/compaction, which Shenandoah does well. Evacuation GC is most efficient when a high-percentage of heap is garbage. This is generally true for young-gen memory. d) Our experimentation with Shenandoah is that it does not perform as well when the heap is highly utilized (in fact, Shenandoah seems to perform best when less than 30% of heap is live). e) Stable, highly utilized, long-term memory, derives less benefit from repeated defragmentation copying. In general, we plan to use concurrent mark and sweep for old-gen memory. f) Our planned region-based approach to old-gen memory allows the old-gen collector to identify certain regions as ready to benefit from defragmentation. When this is detected, the old-gen collector will re-introduce the region to Shenandoah, with all objects already tagged as having max age. Shenandoah will evacuate the live objects from this region, immediately promoting them back into more efficiently packed regions of old-gen memory. 3. Thanks for your suggestion for quick determination of object-in-cset. We probably will want to do something like that. ?On 8/17/20, 5:42 AM, "Roman Kennke" wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hi Kelvin, the change itself seems relatively uncontroversial as it is. I have sent you my w-i-p a while ago, which also covers this suggested change, and much more (tracking age, promoting objects, dynamically allocating regions for old-gen, etc), have you considered it? http://cr.openjdk.java.net/~rkennke/generation.patch I am not quite sure how it makes sense to use Shenandoah 'primarily for young gen collection'. Intuitively I'd use Shenandoah for both old and young gen, or even just for old-gen and a STW scavenger for young-gen. Regarding point #4, it may at some point be worth to use a similar mechanism like we use to quickly determine object-in-cset, i.e. a biased lookup-table. That's more efficient than finding a region, and then looking up the field there. But that is certainly an optimization for later. Thanks for your work on this! Cheers, Roman On Fri, 2020-08-14 at 00:34 +0000, Nilsen, Kelvin wrote: > This webrev details a suggested change to the definition of > ShenandoahHeapRegion for the purpose of enabling multi-generational > garbage collection: > > http://cr.openjdk.java.net/~kdnilsen/two-generations/webrev.00/ > > Here is some background on how we anticipate this facility will be > used: > > 1. Our thoughts are to use Shenandoah as currently implemented > primarily for young-gen collection, so the default constructor shows > that all heap regions are allocated as belonging to the young > generation. > > 2. Eventually, we will set aside certain heap regions to represent > old-generation memory. As objects are tenured, the Shenandoah > collector evacuates these objects out of a young-gen HeapRegion into > an old-generation heap region. > > 3. Certain existing operations of the existing Shenandoah collector > (marking, for example) need to efficiently determine whether > particular objects referenced by pointers reside in young-gen memory > or old-gen memory. Shenandoah GC will give non-traditional > treatment to any pointers residing outside the young-generation. > > 4. We intend to use the heap->heap_region_containing(address) > service to find the heap region that corresponds to a particular > object address and then consult the value of the _gen field to > determine whether a particular object resides in old-gen or new-gen > memory. > > 5. Fast-path mutator operations do not need to know which > generation holds particular objects. The most common requirement is > for a background GC thread to be processing pointers within a tight > loop. In this common use case, we expect that the loop-invariant > variables RegionSizeBytesShift, _base, and _regions would all reside > in registers and their content would be loaded within the loop's pre- > header. > > I welcome discussion and recommendations for improvement. > > (We are doing prototype development off trunk. We would not expect > to merge any of this code until it is all working and performance > benefits are demonstrated.) > > > > > From shade at redhat.com Mon Aug 17 17:37:37 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 17 Aug 2020 19:37:37 +0200 Subject: [RFR] [8u] 8u272-b02 Upstream Sync In-Reply-To: <20200813190710.GA2495896@stopbrexit> References: <20200813190710.GA2495896@stopbrexit> Message-ID: On 8/13/20 9:07 PM, Andrew Hughes wrote: > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/ > > Merge changesets: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/corba/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxp/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxws/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/hotspot/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/langtools/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/nashorn/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/root/merge.changeset Looks good. > Ok to push? Yes, I think so. -- Thanks, -Aleksey From rkennke at redhat.com Mon Aug 17 20:53:03 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 17 Aug 2020 22:53:03 +0200 Subject: RFC: Adding generational support to ShenandoahHeapRegion In-Reply-To: <98AD728A-4167-441C-BF25-78ECFED11AB9@amazon.com> References: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> <98AD728A-4167-441C-BF25-78ECFED11AB9@amazon.com> Message-ID: Hi Kelvin, Let me reply to your points inline :-) > 1. Adding generational GC to Shenandoah is not necessarily our vision > of the complete end-all best solution for all situations. It is our > attempt to deliver incremental improvement with "limited" effort and > a near-term planning horizon. Fair enough. :-) > 2. I understand your perspective that using Shenandoah for young-gen > collection rather than old-gen collection is not what you would have > recommended. Here are some of the reasons we are exploring this > choice: > > a) Many of our important customers have very large young-gens, > gigabytes and larger for just young-gen. For this reason, we do not > want to do stop-the-world young-gen. I agree! > b) Integrating two relocating concurrent GC (for both old- and > young-gen) is perceived as overly complex for current needs I agree too! > c) It is very important for allocation to use efficient TLABs, > which depends on defragmentation/compaction, which Shenandoah does > well. Evacuation GC is most efficient when a high-percentage of heap > is garbage. This is generally true for young-gen memory. Yup, agree again! > d) Our experimentation with Shenandoah is that it does not > perform as well when the heap is highly utilized (in fact, Shenandoah > seems to perform best when less than 30% of heap is live). That is because marking (especially through 'static' old-space stuff) takes too long and eats up CPU resources, is that right? > e) Stable, highly utilized, long-term memory, derives less > benefit from repeated defragmentation copying. In general, we plan > to use concurrent mark and sweep for old-gen memory. I don't really agree with that conclusion ;-) > f) Our planned region-based approach to old-gen memory allows > the old-gen collector to identify certain regions as ready to benefit > from defragmentation. When this is detected, the old-gen collector > will re-introduce the region to Shenandoah, with all objects already > tagged as having max age. Shenandoah will evacuate the live objects > from this region, immediately promoting them back into more > efficiently packed regions of old-gen memory. My idea to solve the problem of having to coordinate 2 relocating collectors is to not do that, but instead take advantage of the fact that all collections are concurrent anyway, and so it doesn't matter all that much if we piggy-back some extra-work on a normal young-gen cycle and defragment one or more old-gen regions too - depending on some heuristic, so that it eventually defragments old-gen regularily. (Failing that, we'd run a full-concurrent Shenandoah cycle over all of the heap.) This requires card-marking to also track old->old and young- >old references, though. It's basically G1's mixed collections, but fully concurrent. (Or, put differently, kinda what you suggested with adding-back old regions to young-gen so that it gets defragmented.) The advantage is that old- and young- collections do not interleave and thus don't require extra coordination. WDYT? Roman > 3. Thanks for your suggestion for quick determination of object-in- > cset. We probably will want to do something like that. > > > ?On 8/17/20, 5:42 AM, "Roman Kennke" wrote: > > CAUTION: This email originated from outside of the organization. > Do not click links or open attachments unless you can confirm the > sender and know the content is safe. > > > > Hi Kelvin, > > the change itself seems relatively uncontroversial as it is. > > I have sent you my w-i-p a while ago, which also covers this > suggested > change, and much more (tracking age, promoting objects, > dynamically > allocating regions for old-gen, etc), have you considered it? > > http://cr.openjdk.java.net/~rkennke/generation.patch > > > I am not quite sure how it makes sense to use Shenandoah > 'primarily for > young gen collection'. Intuitively I'd use Shenandoah for both > old and > young gen, or even just for old-gen and a STW scavenger for > young-gen. > > Regarding point #4, it may at some point be worth to use a > similar > mechanism like we use to quickly determine object-in-cset, i.e. a > biased lookup-table. That's more efficient than finding a region, > and > then looking up the field there. But that is certainly an > optimization > for later. > > Thanks for your work on this! > > Cheers, > Roman > > On Fri, 2020-08-14 at 00:34 +0000, Nilsen, Kelvin wrote: > > This webrev details a suggested change to the definition of > > ShenandoahHeapRegion for the purpose of enabling multi- > generational > > garbage collection: > > > > > http://cr.openjdk.java.net/~kdnilsen/two-generations/webrev.00/ > > > > Here is some background on how we anticipate this facility will > be > > used: > > > > 1. Our thoughts are to use Shenandoah as currently > implemented > > primarily for young-gen collection, so the default constructor > shows > > that all heap regions are allocated as belonging to the young > > generation. > > > > 2. Eventually, we will set aside certain heap regions to > represent > > old-generation memory. As objects are tenured, the Shenandoah > > collector evacuates these objects out of a young-gen HeapRegion > into > > an old-generation heap region. > > > > 3. Certain existing operations of the existing Shenandoah > collector > > (marking, for example) need to efficiently determine whether > > particular objects referenced by pointers reside in young-gen > memory > > or old-gen memory. Shenandoah GC will give non-traditional > > treatment to any pointers residing outside the young- > generation. > > > > 4. We intend to use the heap->heap_region_containing(address) > > service to find the heap region that corresponds to a > particular > > object address and then consult the value of the _gen field to > > determine whether a particular object resides in old-gen or > new-gen > > memory. > > > > 5. Fast-path mutator operations do not need to know which > > generation holds particular objects. The most common > requirement is > > for a background GC thread to be processing pointers within a > tight > > loop. In this common use case, we expect that the loop- > invariant > > variables RegionSizeBytesShift, _base, and _regions would all > reside > > in registers and their content would be loaded within the > loop's pre- > > header. > > > > I welcome discussion and recommendations for improvement. > > > > (We are doing prototype development off trunk. We would not > expect > > to merge any of this code until it is all working and > performance > > benefits are demonstrated.) > > > > > > > > > > > > From gnu.andrew at redhat.com Tue Aug 18 05:24:29 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 18 Aug 2020 06:24:29 +0100 Subject: [RFR] [8u] 8u272-b02 Upstream Sync In-Reply-To: References: <20200813190710.GA2495896@stopbrexit> Message-ID: <20200818052429.GA2812922@stopbrexit> On 19:37 Mon 17 Aug , Aleksey Shipilev wrote: > On 8/13/20 9:07 PM, Andrew Hughes wrote: > > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/ > > > > Merge changesets: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/corba/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxp/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jaxws/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/jdk/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/hotspot/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/langtools/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/nashorn/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b02/root/merge.changeset > Looks good. > > > Ok to push? > > Yes, I think so. > > -- > Thanks, > -Aleksey > Thanks, pushed. -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From gnu.andrew at redhat.com Tue Aug 18 05:38:19 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 18 Aug 2020 06:38:19 +0100 Subject: [RFR] [8u] 8u272-b03 Upstream Sync Message-ID: <20200818053819.GB2812922@stopbrexit> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/root/merge.changeset Changes in aarch64-shenandoah-jdk8u272-b03: - JDK-6574989: TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes - JDK-8148754: C2 loop unrolling fails due to unexpected graph shape - JDK-8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied - JDK-8203357: Container Metrics - JDK-8209113: Use WeakReference for lastFontStrike for created Fonts - JDK-8216283: Allow shorter method sampling interval than 10 ms - JDK-8221569: JFR tool produces incorrect output when both --categories and --events are specified - JDK-8233097: Fontmetrics for large Fonts has zero width - JDK-8248851: CMS: Missing memory fences between free chunk check and klass read - JDK-8250875: Incorrect parameter type for update_number in JDK_Version::jdk_update Main issues of note: * Slight context difference in jdk/test/tools/launcher/Settings.java due to presence of JDK-8163363, which conflicts with JDK-8203357. * JDK-8203699 was added to the HotSpot repository after tagging, so a merge was necessary and this appears as an uncredited change to src/cpu/aarch64/vm/macroAssembler_aarch64.cpp in the webrev. The change will be included in the next tag. diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk b/.hgtags | 1 b/make/CompileJavaClasses.gmk | 6 b/src/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java | 461 +++++++++ b/src/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java | 208 ++++ b/src/share/classes/jdk/internal/platform/Container.java | 43 b/src/share/classes/jdk/internal/platform/Metrics.java | 507 ++++++++++ b/src/share/classes/jdk/jfr/conf/default.jfc | 41 b/src/share/classes/jdk/jfr/conf/profile.jfc | 43 b/src/share/classes/jdk/jfr/internal/tool/Print.java | 24 b/src/share/classes/sun/font/Font2D.java | 50 b/src/share/classes/sun/font/FontStrikeDisposer.java | 20 b/src/share/classes/sun/font/SunFontManager.java | 25 b/src/share/classes/sun/launcher/LauncherHelper.java | 108 ++ b/src/share/classes/sun/launcher/resources/launcher.properties | 8 b/src/share/native/sun/font/freetypeScaler.c | 87 + b/test/java/awt/FontClass/MassiveMetricsTest.java | 69 + b/test/javax/sound/sampled/Clip/bug5070081.java | 24 b/test/jdk/internal/platform/cgroup/TestCgroupMetrics.java | 55 + b/test/jdk/internal/platform/docker/Dockerfile-BasicTest | 8 b/test/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 | 8 b/test/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le | 10 b/test/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x | 7 b/test/jdk/internal/platform/docker/MetricsCpuTester.java | 178 +++ b/test/jdk/internal/platform/docker/MetricsMemoryTester.java | 140 ++ b/test/jdk/internal/platform/docker/TestDockerCpuMetrics.java | 164 +++ b/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java | 143 ++ b/test/jdk/internal/platform/docker/TestSystemMetrics.java | 58 + b/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java | 8 b/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh | 17 b/test/tools/launcher/Settings.java | 19 30 files changed, 2444 insertions(+), 96 deletions(-) diffstat for hotspot b/.hgtags | 1 b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp | 15 +++ b/src/share/vm/jfr/periodic/sampling/jfrThreadSampler.cpp | 4 b/src/share/vm/opto/loopTransform.cpp | 42 +++------- b/src/share/vm/opto/loopnode.cpp | 35 ++++++++ b/src/share/vm/opto/loopnode.hpp | 3 b/src/share/vm/opto/superword.cpp | 18 +--- b/src/share/vm/runtime/java.hpp | 2 8 files changed, 77 insertions(+), 43 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le, aarch32 (Zero) & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Tue Aug 18 05:43:06 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 18 Aug 2020 07:43:06 +0200 Subject: [RFR] [8u] 8u272-b03 Upstream Sync In-Reply-To: <20200818053819.GB2812922@stopbrexit> References: <20200818053819.GB2812922@stopbrexit> Message-ID: <20c0bc32-572e-fcb2-d29d-4534c2581977@redhat.com> On 8/18/20 7:38 AM, Andrew Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jaxws/merge.changeset Look trivial and good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/hotspot/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b03/root/merge.changeset Look trivial and good. > Ok to push? Yes. -- Thanks, -Aleksey From rkennke at redhat.com Tue Aug 18 13:39:18 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 18 Aug 2020 15:39:18 +0200 Subject: [11u] RFR 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase In-Reply-To: References: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> <2625bca69b582ad901afdfb350fb9b134f6ce325.camel@redhat.com> Message-ID: <2fddb7b0edd38f78a2ffc4ea5c007214c88c0039.camel@redhat.com> Hi Zhengyu, > > - the order of placement of _phase and its initializer don't match. > > Some compilers are not going to like this. > > - the indentation of _phase wrt the other fields doesn't match > > - Alignment don't match here: > > > > + ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, > > BoolObjectClosure* is_alive, bool process_strings, > > + bool process_symbols, uint num_workers, bool > > unloading_occurred); > > Updated: > http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.01/index.html > > Okay now? Yes, looks good! Thank you! Roman From zgu at redhat.com Tue Aug 18 14:26:11 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 18 Aug 2020 10:26:11 -0400 Subject: [11u] RFR 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase In-Reply-To: <2fddb7b0edd38f78a2ffc4ea5c007214c88c0039.camel@redhat.com> References: <74e0916d-738f-c8b1-001a-17607b0b23f4@redhat.com> <2625bca69b582ad901afdfb350fb9b134f6ce325.camel@redhat.com> <2fddb7b0edd38f78a2ffc4ea5c007214c88c0039.camel@redhat.com> Message-ID: <90ca08ae-01b7-e063-cc1b-8ec58fd6d45a@redhat.com> On 8/18/20 9:39 AM, Roman Kennke wrote: > Hi Zhengyu, > > >>> - the order of placement of _phase and its initializer don't match. >>> Some compilers are not going to like this. >>> - the indentation of _phase wrt the other fields doesn't match >>> - Alignment don't match here: >>> >>> + ParallelCleaningTask(ShenandoahPhaseTimings::Phase phase, >>> BoolObjectClosure* is_alive, bool process_strings, >>> + bool process_symbols, uint num_workers, bool >>> unloading_occurred); >> >> Updated: >> http://cr.openjdk.java.net/~zgu/JDK-8251487/webrev.01/index.html >> >> Okay now? > > Yes, looks good! Thank you! Thanks, Roman. -Zhengyu > > Roman > > From zgu at redhat.com Tue Aug 18 15:18:49 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 18 Aug 2020 11:18:49 -0400 Subject: [16] RFR 8251910: Shenandoah: assert(external_guard || result != __null) failed: Invalid JNI handle Message-ID: <87d4997d-9de3-1696-4c50-a74f3b584346@redhat.com> Some of concurrent flags, e.g. concurrent_weak/strong_roots, are unset concurrently, they are harmless until mark bitmap is reset, concurrently. In normal cycles, there are GC safepoints, e.g. init/final_updateref, between unset concurrent flags and reset mark bitmap, and those safepoints ensure the changes are made visible to all threads. However, in rare cases, there are nothing to evacuate and no references need to be updated, so that, update reference GC safepoints are skipped. Under this circumstance, Shenandoah will have to perform thread handshake to ensure the changes are visible before mark bitmap can be reset. Bug: https://bugs.openjdk.java.net/browse/JDK-8251910 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251910/webrev.00/ Test: hotspot_gc_shenandoah Thanks, -Zhengyu From rkennke at redhat.com Tue Aug 18 16:17:25 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 18 Aug 2020 18:17:25 +0200 Subject: [16] RFR 8251910: Shenandoah: assert(external_guard || result != __null) failed: Invalid JNI handle In-Reply-To: <87d4997d-9de3-1696-4c50-a74f3b584346@redhat.com> References: <87d4997d-9de3-1696-4c50-a74f3b584346@redhat.com> Message-ID: <3fbe2aa2062465155d142cf00573a3fb8bfc58e2.camel@redhat.com> Hi Zhengyu, please update the bug summary to e.g. "Shenandoah: Handshake threads between weak-roots and reset phases" 14 is not relevant anymore because it would not receive any further updates. I dropped it from the bugreport. Other than that, looks good to me! Thank you for fixing this! Roman Am Dienstag, den 18.08.2020, 11:18 -0400 schrieb Zhengyu Gu: > Some of concurrent flags, e.g. concurrent_weak/strong_roots, are > unset > concurrently, they are harmless until mark bitmap is reset, > concurrently. > > In normal cycles, there are GC safepoints, e.g. > init/final_updateref, > between unset concurrent flags and reset mark bitmap, and those > safepoints ensure the changes are made visible to all threads. > > However, in rare cases, there are nothing to evacuate and no > references > need to be updated, so that, update reference GC safepoints are > skipped. > Under this circumstance, Shenandoah will have to perform thread > handshake to ensure the changes are visible before mark bitmap can be > reset. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8251910 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251910/webrev.00/ > > > Test: > hotspot_gc_shenandoah > > Thanks, > > -Zhengyu > From kdnilsen at amazon.com Wed Aug 19 00:11:24 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Wed, 19 Aug 2020 00:11:24 +0000 Subject: RFC: Adding generational support to ShenandoahHeapRegion In-Reply-To: References: <1472F987-BD79-448D-B11A-8F92FB8169E1@amazon.com> <98AD728A-4167-441C-BF25-78ECFED11AB9@amazon.com> Message-ID: Thanks for the continued conversation. I'll remove points of "established agreement" and respond below to areas that we are still "exploring together". ?On 8/17/20, 1:53 PM, "Roman Kennke" wrote: > d) Our experimentation with Shenandoah is that it does not > perform as well when the heap is highly utilized (in fact, Shenandoah > seems to perform best when less than 30% of heap is live). That is because marking (especially through 'static' old-space stuff) takes too long and eats up CPU resources, is that right? Actually, there's more going on here than just the overhead of marking through static old-space stuff. We don't yet fully understand all of the causes for performance degradation. Some specific behaviors that we have observed are: i) When "lots" of critical data has to be evacuated, the threads that need access to this data are essentially forced to wait for all this data to be copied before they can access it. When there are many threads waiting for the same "large amounts of data" to be copied, Shenandoah seems to be much less efficient than, for example, parallel gc, because multiple mutator threads redundantly copy the same data in parallel, and then for each object copied, all but one thread abandons its copy after the copy-commit race is won by a different thread. ii) When the GC effort is "large" because a large fraction of the heap needs to be marked and evacuated, there is a higher probability that allocating mutators will exhaust the allocation pool before the GC threads replenish it. When this happens, Shenandoah reverts to "degenerated GC", which is stop-the-world. While a degenerated GC may actually collect garbage more efficiently than a concurrent GC, the long pauses associated with degenerated GC are highly undesirable. Delivering on the Shenandoah promise of pause-free operation requires that we avoid degenerated GC. > e) Stable, highly utilized, long-term memory, derives less > benefit from repeated defragmentation copying. In general, we plan > to use concurrent mark and sweep for old-gen memory. I don't really agree with that conclusion ;-) I should have said that concurrent mark and sweep for old-gen memory is one of the options that we are planning to explore. We are also open to alternative approaches. > f) Our planned region-based approach to old-gen memory allows > the old-gen collector to identify certain regions as ready to benefit > from defragmentation. When this is detected, the old-gen collector > will re-introduce the region to Shenandoah, with all objects already > tagged as having max age. Shenandoah will evacuate the live objects > from this region, immediately promoting them back into more > efficiently packed regions of old-gen memory. My idea to solve the problem of having to coordinate 2 relocating collectors is to not do that, but instead take advantage of the fact that all collections are concurrent anyway, and so it doesn't matter all that much if we piggy-back some extra-work on a normal young-gen cycle and defragment one or more old-gen regions too - depending on some heuristic, so that it eventually defragments old-gen regularily. (Failing that, we'd run a full-concurrent Shenandoah cycle over all of the heap.) This requires card-marking to also track old->old and young- >old references, though. It's basically G1's mixed collections, but fully concurrent. (Or, put differently, kinda what you suggested with adding-back old regions to young-gen so that it gets defragmented.) The advantage is that old- and young- collections do not interleave and thus don't require extra coordination. WDYT? Maybe we are already in agreement on this... Maybe it all depends on how we define the "some heuristic" that tells us when to defragment which portions of old-gen memory. One question to be determined based on experimentation with real-world workloads: If concurrent marking of an old-gen region discovers the region to be 80% utilized, will we choose to ignore its garbage, sweep up the garbage, or evacuate the region? What if it is 60% utilized? Some other "considerations" that influence our design choices: 1. It is critical that concurrent GC replenish the free pool on pace with mutator allocation rates. Generally, this requires that all garbage in the young-gen be found with high urgency. 2. Building on real-time scheduling discipline, we want to avoid creating priority inversion between the lower priority activity of reclaiming the relatively slow accumulation of garbage in old-gen memory and the much higher priority activity of reclaiming the anticipated high rate of garbage accumulation in young-gen memory. From mathiske at amazon.com Wed Aug 19 20:13:51 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Wed, 19 Aug 2020 20:13:51 +0000 Subject: Performance impact impressions for card marking in Shenandoah Message-ID: <11FEC7A4-9ED8-4EAD-8BC7-C224B840CE6B@amazon.com> Here are some numbers regarding what might happen in terms of slowdown if you add card marking to Shenandoah (see previous emails for the patch). Summary: "minor" impact, as expected from anecdotal experience with card marking in Parallel and CMS. But the following is by no means a comprehensive study, just a report of what I have to not make you wait any longer for where I see this going. I ran SPECJvm2008 on a c5.2xlarge AWS instance (8 Virtual CPUs, 16.0 GiB Memory), using OpenJDK 11.0.7 with Shenandoah. .../java -Xms2g -Xmx2g -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-TieredCompilation -jar SPECjvm2008.jar -coe -ict -ikv -wt 15s -it 20s -bt 2 I could not get the SPECjvm2008 benchmark "compiler" to run on any JVM and "startup" seemed irrelevant in this context. "derby" seems to be very sensitive to -Xmx and thus producing red herring scores for our focal point, relative barrier performance. So I am leaving "derby" out for now, too. In my code, there is still a bug tickled by "derby" and another one in array marking by C1 code. The latter prevents me from invoking C1 here. So I ran all this with C2 only. I figure this is where we would see the most impact anyway. I compared my patched JVM ("CardShen") to the same JVM with Parallel, CMS, G1, and to an unpatched vanilla Shenandoah ("Shen") JVM without card marking. These are the scores in SPECjvm ops/sec, averaged over 3 overall runs. Not very precise, due to small run lengths, with variations between runs around 0.5-1%, but stable enough to get a qualitative idea. Parallel CMS G1 Shen CardShen compress 127 127 127 108 108 crypto 261 255 260 249 248 mpegaudio 90 91 92 78 76 scimark.large 89 89 89 90 90 scimark.small 182 182 173 171 173 serial 129 127 120 116 113 sunflow 118 117 126 113 113 xml 358 349 315 292 280 Adding unconditional card marking makes the JVM with Shenandoah have on average about 1% lower scores than vanilla Shenandoah. I have tried conditional Shenandoah with conditional card marking briefly and spotted similar results. There are more noticeable differences dominated by which collector one chooses to begin with. I would expect that there is a throughput penalty for using a concurrent collector and this seems to shine through here sometimes. Next, I shall repeat this with JDK tip. Yes, I want to / will fix the remaining bugs, eventually. :-) Bernd From rkennke at redhat.com Wed Aug 19 21:27:36 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 19 Aug 2020 23:27:36 +0200 Subject: Performance impact impressions for card marking in Shenandoah In-Reply-To: <11FEC7A4-9ED8-4EAD-8BC7-C224B840CE6B@amazon.com> References: <11FEC7A4-9ED8-4EAD-8BC7-C224B840CE6B@amazon.com> Message-ID: <57d1dc2a30763bab325cda875da557f3d6b19723.camel@redhat.com> Very nice! I've expected the impact to be bigger. Thank you for posting this, and for working on this! Thanks, Roman Am Mittwoch, den 19.08.2020, 20:13 +0000 schrieb Mathiske, Bernd: > Here are some numbers regarding what might happen in terms of > slowdown if you add card marking to Shenandoah (see previous emails > for the patch). Summary: "minor" impact, as expected from anecdotal > experience with card marking in Parallel and CMS. But the following > is by no means a comprehensive study, just a report of what I have to > not make you wait any longer for where I see this going. > > I ran SPECJvm2008 on a c5.2xlarge AWS instance (8 Virtual CPUs, 16.0 > GiB Memory), using OpenJDK 11.0.7 with Shenandoah. > > .../java -Xms2g -Xmx2g -XX:+UnlockExperimentalVMOptions > -XX:+UseShenandoahGC -XX:-TieredCompilation -jar SPECjvm2008.jar -coe > -ict -ikv -wt 15s -it 20s -bt 2 > |xml> > > I could not get the SPECjvm2008 benchmark "compiler" to run on any > JVM and "startup" seemed irrelevant in this context. "derby" seems to > be very sensitive to -Xmx and thus producing red herring scores for > our focal point, relative barrier performance. So I am leaving > "derby" out for now, too. > > In my code, there is still a bug tickled by "derby" and another one > in array marking by C1 code. The latter prevents me from invoking C1 > here. So I ran all this with C2 only. I figure this is where we would > see the most impact anyway. I compared my patched JVM ("CardShen") to > the same JVM with Parallel, CMS, G1, and to an unpatched vanilla > Shenandoah ("Shen") JVM without card marking. These are the scores in > SPECjvm ops/sec, averaged over 3 overall runs. Not very precise, due > to small run lengths, with variations between runs around 0.5-1%, but > stable enough to get a qualitative idea. > > Parallel CMS G1 Shen CardShen > compress 127 127 127 108 108 > crypto 261 255 260 249 248 > mpegaudio 90 91 92 78 76 > scimark.large 89 89 89 90 90 > scimark.small 182 182 173 171 173 > serial 129 127 120 116 113 > sunflow 118 117 126 113 113 > xml 358 349 315 292 280 > > Adding unconditional card marking makes the JVM with Shenandoah have > on average about 1% lower scores than vanilla Shenandoah. I have > tried conditional Shenandoah with conditional card marking briefly > and spotted similar results. There are more noticeable differences > dominated by which collector one chooses to begin with. I would > expect that there is a throughput penalty for using a concurrent > collector and this seems to shine through here sometimes. > > Next, I shall repeat this with JDK tip. > Yes, I want to / will fix the remaining bugs, eventually. :-) > > Bernd > > From shade at redhat.com Thu Aug 20 08:57:24 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 20 Aug 2020 10:57:24 +0200 Subject: [8u] Shenandoah: hook statistics printing to PrintGCDetails, not PrintGC Message-ID: Hi, Current 8u hooks up statistics printing to PrintGC, which outputs them with -verbose:gc. Should be PrintGCDetails, so that is not printed by default, but only on request. Fix: diff -r 303c0feef063 src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Thu Aug 20 09:33:06 2020 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Thu Aug 20 10:55:02 2020 +0200 @@ -281,11 +281,11 @@ if (ShenandoahPacing) { heap->pacer()->flush_stats_to_cycle(); } // Print GC stats for current cycle - if (PrintGC) { + if (PrintGCDetails) { ResourceMark rm; heap->phase_timings()->print_cycle_on(gclog_or_tty); if (ShenandoahPacing) { heap->pacer()->print_cycle_on(gclog_or_tty); } Testing: adhoc runs with {-verbose:gc, -XX:+PrintGCDetails} -- Thanks, -Aleksey From rkennke at redhat.com Thu Aug 20 10:43:09 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 20 Aug 2020 12:43:09 +0200 Subject: [8u] Shenandoah: hook statistics printing to PrintGCDetails, not PrintGC In-Reply-To: References: Message-ID: Ugh. Yes, the patch looks good. Thank you for fixing this! Roman Am Donnerstag, den 20.08.2020, 10:57 +0200 schrieb Aleksey Shipilev: > Hi, > > Current 8u hooks up statistics printing to PrintGC, which outputs > them with -verbose:gc. Should be > PrintGCDetails, so that is not printed by default, but only on > request. > > Fix: > > diff -r 303c0feef063 > src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp > --- > a/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.c > pp Thu Aug 20 09:33:06 > 2020 +0200 > +++ > b/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.c > pp Thu Aug 20 10:55:02 > 2020 +0200 > @@ -281,11 +281,11 @@ > if (ShenandoahPacing) { > heap->pacer()->flush_stats_to_cycle(); > } > > // Print GC stats for current cycle > - if (PrintGC) { > + if (PrintGCDetails) { > ResourceMark rm; > heap->phase_timings()->print_cycle_on(gclog_or_tty); > if (ShenandoahPacing) { > heap->pacer()->print_cycle_on(gclog_or_tty); > } > > Testing: adhoc runs with {-verbose:gc, -XX:+PrintGCDetails} > From shade at redhat.com Thu Aug 20 10:59:21 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 20 Aug 2020 12:59:21 +0200 Subject: [8u] Shenandoah: hook statistics printing to PrintGCDetails, not PrintGC In-Reply-To: References: Message-ID: <9a676662-0567-f1ba-fd74-af7a428f9256@redhat.com> On 8/20/20 12:43 PM, Roman Kennke wrote: > Ugh. Yes, the patch looks good. Thanks, pushed. -- -Aleksey From gnu.andrew at redhat.com Thu Aug 20 15:20:47 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 20 Aug 2020 16:20:47 +0100 Subject: [RFR] [8u] 8u272-b04 Upstream Sync Message-ID: <20200820152047.GB3112706@stopbrexit> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/root/merge.changeset Changes in aarch64-shenandoah-jdk8u272-b04: - JDK-8061616: HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double - JDK-8177334: Update xmldsig implementation to Apache Santuario 2.1.1 - JDK-8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 - JDK-8217878: ENVELOPING XML signature no longer works in JDK 11 - JDK-8218629: XML Digital Signature throws NAMESPACE_ERR exception on OpenJDK 11, works 8/9/10 - JDK-8243138: Enhance BaseLdapServer to support starttls extended request Main issues of note: Clean merge (few HotSpot changes). JDK-8203699 is already upstream, and so appears as an uncredited change to src/cpu/aarch64/vm/macroAssembler_aarch64.cpp in the webrev. JDK-8247979 was added to the HotSpot repository after tagging, so a merge was necessary and this appears as an uncredited change to src/cpu/aarch64/vm/aarch64.ad. The change will be included in the next tag. diffstat for root b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for corba b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for jaxp b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for jaxws b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for langtools b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for nashorn b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diffstat for jdk a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java | 687 - a/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java | 249 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java | 157 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java | 95 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java | 95 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java | 46 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/DocumentSerializer.java | 114 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java | 46 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java | 113 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java | 197 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java | 133 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java | 87 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java | 121 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java | 99 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java | 109 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java | 77 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java | 50 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java | 3539 ---------- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java | 192 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java | 86 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java | 80 a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html | 25 a/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java | 150 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/package.html | 36 a/src/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java | 41 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java | 90 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java | 63 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html | 3 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html | 8 a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html | 8 b/.hgtags | 1 b/THIRD_PARTY_README | 2 b/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java | 3 b/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java | 157 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java | 13 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/ClassLoaderUtils.java | 206 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java | 241 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java | 13 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java | 85 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java | 4 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java | 918 ++ b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java | 121 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java | 229 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java | 109 b/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java | 274 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizationException.java | 25 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java | 113 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java | 40 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/ClassLoaderUtils.java | 84 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/InvalidCanonicalizerException.java | 20 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java | 3 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/C14nHelper.java | 8 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java | 188 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java | 88 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java | 4 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java | 4 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java | 162 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java | 72 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java | 33 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper.java | 247 b/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java | 412 + b/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/AlgorithmAlreadyRegisteredException.java | 20 b/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/Base64DecodingException.java | 21 b/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java | 51 b/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityRuntimeException.java | 39 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/ContentHandlerAlreadyRegisteredException.java | 20 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java | 334 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java | 38 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoContent.java | 1 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java | 32 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java | 49 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java | 38 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java | 109 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java | 23 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java | 21 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java | 8 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java | 32 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509DataContent.java | 1 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java | 33 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java | 16 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java | 33 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java | 11 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/ClassLoaderUtils.java | 84 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/InvalidKeyResolverException.java | 20 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java | 50 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverException.java | 24 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverSpi.java | 51 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DEREncodedKeyValueResolver.java | 44 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DSAKeyValueResolver.java | 23 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/KeyInfoReferenceResolver.java | 115 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java | 85 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java | 27 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java | 147 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java | 35 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java | 50 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java | 40 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java | 54 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509IssuerSerialResolver.java | 55 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java | 33 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java | 53 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java | 17 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverException.java | 25 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/CertsInFilesystemDirectoryResolver.java | 88 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java | 12 b/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java | 8 b/src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml | 219 b/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties | 254 b/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties | 75 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidDigestValueException.java | 21 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidSignatureValueException.java | 21 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java | 145 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/MissingResourceFailureException.java | 73 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java | 8 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java | 51 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java | 270 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/ReferenceNotInitializedException.java | 25 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java | 48 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java | 57 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java | 105 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java | 246 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureException.java | 25 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java | 103 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java | 34 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java | 2 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java | 14 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java | 32 b/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java | 8 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderUtils.java | 206 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/InvalidTransformException.java | 19 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java | 82 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformSpi.java | 7 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformationException.java | 25 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java | 111 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere.java | 4 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java | 125 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N.java | 7 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11_WithComments.java | 5 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusive.java | 6 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusiveWithComments.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NWithComments.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformEnvelopedSignature.java | 9 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java | 19 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java | 36 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPointer.java | 3 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java | 66 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java | 41 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer.java | 57 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer04.java | 70 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathContainer.java | 28 b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathFilterCHGPContainer.java | 60 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java | 123 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java | 202 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Constants.java | 12 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java | 10 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java | 17 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java | 254 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionConstants.java | 204 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java | 3 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java | 28 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/IgnoreAllErrorHandler.java | 38 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java | 15 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java | 89 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java | 30 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java | 16 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java | 17 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java | 17 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java | 131 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java | 30 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/WeakObjectPool.java | 118 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java | 308 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFactory.java | 4 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XalanXPathAPI.java | 40 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ClassLoaderUtils.java | 84 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java | 99 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverException.java | 46 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java | 89 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverAnonymous.java | 18 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java | 115 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java | 49 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java | 36 b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java | 33 b/src/share/classes/com/sun/org/slf4j/internal/Logger.java | 79 b/src/share/classes/com/sun/org/slf4j/internal/LoggerFactory.java | 33 b/src/share/classes/javax/xml/crypto/dsig/DigestMethod.java | 10 b/src/share/classes/javax/xml/crypto/dsig/SignatureMethod.java | 12 b/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java | 16 b/src/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java | 2 b/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java | 6 b/src/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java | 29 b/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java | 40 b/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java | 5 b/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java | 4 b/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java | 4 b/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java | 40 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java | 6 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java | 5 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java | 7 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java | 53 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java | 22 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java | 71 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java | 5 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java | 19 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java | 80 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java | 110 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java | 53 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java | 16 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java | 200 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java | 53 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java | 95 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java | 163 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java | 96 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java | 427 + b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java | 55 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java | 47 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java | 125 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java | 5 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java | 11 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java | 45 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java | 11 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java | 138 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java | 101 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java | 31 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java | 94 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java | 140 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java | 50 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java | 30 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java | 10 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java | 6 b/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java | 34 b/src/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java | 5 b/src/share/classes/sun/management/Flag.java | 1 b/src/share/classes/sun/management/HotSpotDiagnostic.java | 21 b/src/share/javavm/export/jmm.h | 5 b/src/share/native/sun/management/Flag.c | 16 b/test/com/sun/jndi/ldap/lib/BaseLdapServer.java | 83 b/test/com/sun/management/HotSpotDiagnosticMXBean/GetDoubleVMOption.java | 32 b/test/com/sun/management/HotSpotDiagnosticMXBean/GetVMOption.java | 11 b/test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java | 12 b/test/javax/xml/crypto/dsig/GenerationTests.java | 593 + b/test/javax/xml/crypto/dsig/KeySelectors.java | 34 b/test/javax/xml/crypto/dsig/data/envelope2.xml | 15 269 files changed, 8547 insertions(+), 12955 deletions(-) diffstat for hotspot b/.hgtags | 1 + b/THIRD_PARTY_README | 2 +- b/src/share/vm/services/jmm.h | 5 +++-- b/src/share/vm/services/management.cpp | 3 +++ b/test/testlibrary_tests/whitebox/vm_flags/DoubleTest.java | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le, aarch32 (Zero) & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Thu Aug 20 17:15:44 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 20 Aug 2020 19:15:44 +0200 Subject: [aarch64-port-dev ] [RFR] [8u] 8u272-b04 Upstream Sync In-Reply-To: <20200820152047.GB3112706@stopbrexit> References: <20200820152047.GB3112706@stopbrexit> Message-ID: <50d99e3b-9082-0a05-d4f3-c12be10ee645@redhat.com> On 8/20/20 5:20 PM, Andrew Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxws/merge.changeset Look trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jdk/merge.changeset Whoa. Looks okay as far as I can see. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/hotspot/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/root/merge.changeset Look trivially good. Ok to push. -Aleksey From fw at deneb.enyo.de Tue Aug 25 07:49:41 2020 From: fw at deneb.enyo.de (Florian Weimer) Date: Tue, 25 Aug 2020 09:49:41 +0200 Subject: Crash in CallNode::extract_projections Message-ID: <87wo1nw4fe.fsf@mid.deneb.enyo.de> I see a crash with the current tip: Current CompileTask: C2: 45117 7825 % 4 com.sun.crypto.provider.CounterMode::implCrypt @ 3 (88 bytes) Stack: [0x00007fa82ccc1000,0x00007fa82cdc2000], sp=0x00007fa82cdbb660, free space=1001k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x71ea38] CallNode::extract_projections(CallProjections*, bool, bool)+0x298 V [libjvm.so+0x157f3bf] ShenandoahBarrierC2Support::find_bottom_mem(Node*, PhaseIdealLoop*)+0xbf V [libjvm.so+0x1580b0a] ShenandoahBarrierC2Support::call_lrb_stub(Node*&, Node*&, Node*, Node*&, Node*, bool, PhaseIdealLoop*)+0x6a V [libjvm.so+0x158ceea] ShenandoahBarrierC2Support::pin_and_expand(PhaseIdealLoop*)+0x1b0a V [libjvm.so+0x14c716c] ShenandoahBarrierSetC2::optimize_loops(PhaseIdealLoop*, LoopOptsMode, VectorSet&, Node_Stack&, Node_List&) const+0x3c V [libjvm.so+0x10e897c] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xebc V [libjvm.so+0x15830fe] ShenandoahBarrierC2Support::expand(Compile*, PhaseIterGVN&)+0x1de V [libjvm.so+0x14c704f] ShenandoahBarrierSetC2::expand_barriers(Compile*, PhaseIterGVN&) const+0xf V [libjvm.so+0x88e0d0] Compile::Optimize()+0xef0 V [libjvm.so+0x88f0cf] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0xe0f V [libjvm.so+0x70a2c3] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x113 V [libjvm.so+0x89b282] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x9b2 V [libjvm.so+0x89bc68] CompileBroker::compiler_thread_loop()+0x4a8 V [libjvm.so+0x16e57cf] JavaThread::thread_main_inner()+0x1bf V [libjvm.so+0x16e9f66] Thread::call_run()+0xf6 V [libjvm.so+0x1317cc6] thread_native_entry(Thread*)+0x116 The replay log ends with: ciMethod com/sun/crypto/provider/CounterMode increment ([B)V 1024 0 769188 0 0 ciMethod com/sun/crypto/provider/CounterMode implCrypt ([BII[BI)I 112 121970 1980 0 -1 ciMethod com/sun/crypto/provider/SymmetricCipher encryptBlock ([BI[BI)V 0 0 1 0 -1 ciMethod com/sun/crypto/provider/AESCrypt encryptBlock ([BI[BI)V 914 0 771254 0 0 ciMethod com/sun/crypto/provider/AESCrypt implEncryptBlock ([BI[BI)V 366 4744 322781 0 -1 compile com/sun/crypto/provider/CounterMode implCrypt ([BII[BI)I 3 4 inline 3 0 -1 com/sun/crypto/provider/CounterMode implCrypt ([BII[BI)I 1 35 com/sun/crypto/provider/AESCrypt encryptBlock ([BI[BI)V 1 42 com/sun/crypto/provider/CounterMode increment ([B)V Poking around the core file, the crash happens because pn->unique_ctrl_out() is zero: // For Control (fallthrough) and I_O (catch_all_index) we have CatchProj -> Catch -> Proj projs->fallthrough_proj = pn; const Node *cn = pn->unique_ctrl_out(); if (cn->is_Catch()) { ProjNode *cpn = NULL; pn has been optimized out, but I see this: (gdb) print *i._last $2 = {_vptr.Node = 0x7fa8306a9ae0 , _in = 0x7fa7e8a502b8, _out = 0x7fa7e8a502e0, _cnt = 1, _max = 1, _outcnt = 3, _outmax = 4, _idx = 302, _parse_idx = 302, _class_id = 8, _flags = 64, static NO_HASH = 0, static NotAMachineReg = 4294901760, _debug_idx = -2145720496, _debug_orig = 0x0, _hash_lock = 1, _last_del = 0x7fa7e8a50f88, _del_tick = 4} From shade at redhat.com Tue Aug 25 07:53:46 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 25 Aug 2020 09:53:46 +0200 Subject: Crash in CallNode::extract_projections In-Reply-To: <87wo1nw4fe.fsf@mid.deneb.enyo.de> References: <87wo1nw4fe.fsf@mid.deneb.enyo.de> Message-ID: On 8/25/20 9:49 AM, Florian Weimer wrote: > Poking around the core file, the crash happens because > pn->unique_ctrl_out() is zero: > > // For Control (fallthrough) and I_O (catch_all_index) we have CatchProj -> Catch -> Proj > projs->fallthrough_proj = pn; > const Node *cn = pn->unique_ctrl_out(); > if (cn->is_Catch()) { > ProjNode *cpn = NULL; Probably caused by: https://bugs.openjdk.java.net/browse/JDK-8251527 Any simple reproducer? -- Thanks, -Aleksey From shade at redhat.com Tue Aug 25 08:09:45 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 25 Aug 2020 10:09:45 +0200 Subject: Crash in CallNode::extract_projections In-Reply-To: References: <87wo1nw4fe.fsf@mid.deneb.enyo.de> Message-ID: On 8/25/20 9:53 AM, Aleksey Shipilev wrote: > On 8/25/20 9:49 AM, Florian Weimer wrote: >> Poking around the core file, the crash happens because >> pn->unique_ctrl_out() is zero: >> >> // For Control (fallthrough) and I_O (catch_all_index) we have CatchProj -> Catch -> Proj >> projs->fallthrough_proj = pn; >> const Node *cn = pn->unique_ctrl_out(); >> if (cn->is_Catch()) { >> ProjNode *cpn = NULL; > > Probably caused by: > https://bugs.openjdk.java.net/browse/JDK-8251527 > > Any simple reproducer? Nevermind, multiple tier1 tests fail in the similar manner in our weekend runs: https://bugs.openjdk.java.net/browse/JDK-8252296 -- Thanks, -Aleksey From fw at deneb.enyo.de Tue Aug 25 08:12:06 2020 From: fw at deneb.enyo.de (Florian Weimer) Date: Tue, 25 Aug 2020 10:12:06 +0200 Subject: Crash in CallNode::extract_projections In-Reply-To: (Aleksey Shipilev's message of "Tue, 25 Aug 2020 09:53:46 +0200") References: <87wo1nw4fe.fsf@mid.deneb.enyo.de> Message-ID: <87sgcbw3e1.fsf@mid.deneb.enyo.de> * Aleksey Shipilev: > On 8/25/20 9:49 AM, Florian Weimer wrote: >> Poking around the core file, the crash happens because >> pn->unique_ctrl_out() is zero: >> >> // For Control (fallthrough) and I_O (catch_all_index) we have CatchProj -> Catch -> Proj >> projs->fallthrough_proj = pn; >> const Node *cn = pn->unique_ctrl_out(); >> if (cn->is_Catch()) { >> ProjNode *cpn = NULL; > > Probably caused by: > https://bugs.openjdk.java.net/browse/JDK-8251527 > > Any simple reproducer? Not really. It's a GUI application, and I assume the crash happens when compiling the AES code for use from HTTPS, so there's also a networking dependency (over the Internet no less). And the download is cached. So it's not easy to tell whether a build is fine, or whether the crash has not happened yet. My attempt at bisecting went wrong. I have not seen any crashes yet before JDK-8251527. I can reproduce it more or less at will, though, so I could do some testing under guidance? From shade at redhat.com Wed Aug 26 08:53:25 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 26 Aug 2020 10:53:25 +0200 Subject: RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp Message-ID: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> Hi, This is aarch64-port/jdk8u-shenandoah specific issue: https://bugs.openjdk.java.net/browse/JDK-8252366 The assert seems to fail on ppc64. Also, we might inline g1_write_barrier_pre_helper for clarity. 8u webrev: https://cr.openjdk.java.net/~shade/8252366/webrev.01/ Testing: x86_64 hotspot_gc_shenandoah -- Thanks, -Aleksey From rwestrel at redhat.com Wed Aug 26 09:00:55 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Aug 2020 11:00:55 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections Message-ID: <87d03d7pdk.fsf@redhat.com> http://cr.openjdk.java.net/~roland/8252296/webrev.00/ https://bugs.openjdk.java.net/browse/JDK-8252296 My fix for 8251527 has caused failures with shenandoah enabled because CallNode::extract_projections() is called with a graph in the process of being modified where a ProjNode has more than one control use. Roland. From rwestrel at redhat.com Wed Aug 26 09:06:03 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Aug 2020 11:06:03 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections References: <87d03d7pdk.fsf@redhat.com> Message-ID: <878se17p50.fsf@redhat.com> Should have gone to hotspot-compiler-dev as well... -------------------- Start of forwarded message -------------------- From: Roland Westrelin To: shenandoah-dev at openjdk.java.net Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections Date: Wed, 26 Aug 2020 11:00:55 +0200 http://cr.openjdk.java.net/~roland/8252296/webrev.00/ https://bugs.openjdk.java.net/browse/JDK-8252296 My fix for 8251527 has caused failures with shenandoah enabled because CallNode::extract_projections() is called with a graph in the process of being modified where a ProjNode has more than one control use. Roland. -------------------- End of forwarded message -------------------- From rwestrel at redhat.com Wed Aug 26 09:10:15 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Aug 2020 11:10:15 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> Message-ID: <875z957oy0.fsf@redhat.com> > This is aarch64-port/jdk8u-shenandoah specific issue: > https://bugs.openjdk.java.net/browse/JDK-8252366 > > The assert seems to fail on ppc64. Also, we might inline g1_write_barrier_pre_helper for clarity. > > 8u webrev: > https://cr.openjdk.java.net/~shade/8252366/webrev.01/ I don't see where on this code path a load barrier would be added. Am I missing something? Roland. From shade at redhat.com Wed Aug 26 09:20:22 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 26 Aug 2020 11:20:22 +0200 Subject: RFR: Bulk integration shenandoah/jdk8 -> aarch64-port/jdk8u-shenandoah, 2020-08-26 Message-ID: Hi, I would like to integrate the usual round of sh/jdk8 backports to aarch64-port/jdk8u-shenandoah. Only hotspot repository is affected, and the merge is clean there. Since we need to coordinate the push with Andrew Hughes, I did not tag it yet. It would be something like "aarch64-shenandoah-jdk8u272-b03-shenandoah-merge-2020-08-26". 8u webrev: https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20200826/webrev.01/ Testing: hotspot_gc_shenandoah; plus, this was tested with sh/jdk8 CIs -- Thanks, -Aleksey From shade at redhat.com Wed Aug 26 09:22:44 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 26 Aug 2020 11:22:44 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <875z957oy0.fsf@redhat.com> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> Message-ID: On 8/26/20 11:10 AM, Roland Westrelin wrote: >> This is aarch64-port/jdk8u-shenandoah specific issue: >> https://bugs.openjdk.java.net/browse/JDK-8252366 >> >> The assert seems to fail on ppc64. Also, we might inline g1_write_barrier_pre_helper for clarity. >> >> 8u webrev: >> https://cr.openjdk.java.net/~shade/8252366/webrev.01/ > > I don't see where on this code path a load barrier would be added. Am I > missing something? I don't think you are missing anything. There seems to be no barrier on that path, argh! But this does not relate to this RFR, and would be handled separately. -- Thanks, -Aleksey From rkennke at redhat.com Wed Aug 26 09:49:43 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 26 Aug 2020 11:49:43 +0200 Subject: RFR: Bulk integration shenandoah/jdk8 -> aarch64-port/jdk8u-shenandoah, 2020-08-26 In-Reply-To: References: Message-ID: Looks good to me. Thanks, Roman Am Mittwoch, den 26.08.2020, 11:20 +0200 schrieb Aleksey Shipilev: > Hi, > > I would like to integrate the usual round of sh/jdk8 backports to > aarch64-port/jdk8u-shenandoah. > > Only hotspot repository is affected, and the merge is clean there. > Since we need to coordinate the > push with Andrew Hughes, I did not tag it yet. It would be something > like > "aarch64-shenandoah-jdk8u272-b03-shenandoah-merge-2020-08-26". > > 8u webrev: > > https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20200826/webrev.01/ > > Testing: hotspot_gc_shenandoah; plus, this was tested with sh/jdk8 > CIs > From rkennke at redhat.com Wed Aug 26 10:13:39 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 26 Aug 2020 12:13:39 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <875z957oy0.fsf@redhat.com> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> Message-ID: <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> Am Mittwoch, den 26.08.2020, 11:10 +0200 schrieb Roland Westrelin: > > This is aarch64-port/jdk8u-shenandoah specific issue: > > https://bugs.openjdk.java.net/browse/JDK-8252366 > > > > The assert seems to fail on ppc64. Also, we might inline > > g1_write_barrier_pre_helper for clarity. > > > > 8u webrev: > > https://cr.openjdk.java.net/~shade/8252366/webrev.01/ > > I don't see where on this code path a load barrier would be added. Am > I > missing something? It looks like we added this assert there: assert(elembt != T_OBJECT && elembt != T_ARRAY, "sanity"); (which you actually removed in your patch) It looks like this is not actually used for reference types. The only uses are in library_call.cpp and they don't look like they ever load a reference. Please check and confirm to be sure. Roman From rwestrel at redhat.com Wed Aug 26 11:01:54 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 26 Aug 2020 13:01:54 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> Message-ID: <8736497jrx.fsf@redhat.com> > It looks like this is not actually used for reference types. The only > uses are in library_call.cpp and they don't look like they ever load a > reference. Please check and confirm to be sure. It does on PPC. In LibraryCallKit::get_key_start_from_aescrypt_object(). Roland. From shade at redhat.com Wed Aug 26 11:08:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 26 Aug 2020 13:08:52 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <8736497jrx.fsf@redhat.com> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> <8736497jrx.fsf@redhat.com> Message-ID: On 8/26/20 1:01 PM, Roland Westrelin wrote: >> It looks like this is not actually used for reference types. The only >> uses are in library_call.cpp and they don't look like they ever load a >> reference. Please check and confirm to be sure. > > It does on PPC. In LibraryCallKit::get_key_start_from_aescrypt_object(). Yes. I misjudged the assert: it actually verifies the current Shenandoah uses do not need the LRB there. Shenandoah is not supported (yet) on PPC, so there is no bug yet, and assert is just too strong for PPC code. But it feels more future proof just to insert the Shenandoah barrier there. 8u webrev: https://cr.openjdk.java.net/~shade/8252366/webrev.02/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Aug 26 11:15:31 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 26 Aug 2020 13:15:31 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> <8736497jrx.fsf@redhat.com> Message-ID: <90ec029af2e070057d782b1ea91be2a00ef6ff9a.camel@redhat.com> Am Mittwoch, den 26.08.2020, 13:08 +0200 schrieb Aleksey Shipilev: > On 8/26/20 1:01 PM, Roland Westrelin wrote: > > > It looks like this is not actually used for reference types. The > > > only > > > uses are in library_call.cpp and they don't look like they ever > > > load a > > > reference. Please check and confirm to be sure. > > > > It does on PPC. In > > LibraryCallKit::get_key_start_from_aescrypt_object(). > > Yes. I misjudged the assert: it actually verifies the current > Shenandoah uses do not need the LRB > there. Shenandoah is not supported (yet) on PPC, so there is no bug > yet, and assert is just too > strong for PPC code. But it feels more future proof just to insert > the Shenandoah barrier there. > > 8u webrev: > https://cr.openjdk.java.net/~shade/8252366/webrev.02/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} Looks good. It's unfortunate that we currently have no way to verify if it works or not, though. It's currently dead code and if we ever backport an intrinsic that needs it, we hope for the best. Roman From christian.hagedorn at oracle.com Wed Aug 26 12:43:20 2020 From: christian.hagedorn at oracle.com (Christian Hagedorn) Date: Wed, 26 Aug 2020 14:43:20 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections In-Reply-To: <878se17p50.fsf@redhat.com> References: <87d03d7pdk.fsf@redhat.com> <878se17p50.fsf@redhat.com> Message-ID: <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> Hi Roland Looks good and trivial to me. Best regards, Christian On 26.08.20 11:06, Roland Westrelin wrote: > > Should have gone to hotspot-compiler-dev as well... > > -------------------- Start of forwarded message -------------------- > From: Roland Westrelin > To: shenandoah-dev at openjdk.java.net > Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections > Date: Wed, 26 Aug 2020 11:00:55 +0200 > > > http://cr.openjdk.java.net/~roland/8252296/webrev.00/ > https://bugs.openjdk.java.net/browse/JDK-8252296 > > My fix for 8251527 has caused failures with shenandoah enabled because > CallNode::extract_projections() is called with a graph in the process of > being modified where a ProjNode has more than one control use. > > Roland. > -------------------- End of forwarded message -------------------- > From fw at deneb.enyo.de Wed Aug 26 14:59:26 2020 From: fw at deneb.enyo.de (Florian Weimer) Date: Wed, 26 Aug 2020 16:59:26 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections In-Reply-To: <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> (Christian Hagedorn's message of "Wed, 26 Aug 2020 14:43:20 +0200") References: <87d03d7pdk.fsf@redhat.com> <878se17p50.fsf@redhat.com> <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> Message-ID: <874koptpv5.fsf@mid.deneb.enyo.de> * Christian Hagedorn: > Looks good and trivial to me. It seems to fix my reproducer, too. Thanks. From gnu.andrew at redhat.com Thu Aug 27 05:27:03 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 27 Aug 2020 06:27:03 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u272-b04 Upstream Sync In-Reply-To: <50d99e3b-9082-0a05-d4f3-c12be10ee645@redhat.com> References: <20200820152047.GB3112706@stopbrexit> <50d99e3b-9082-0a05-d4f3-c12be10ee645@redhat.com> Message-ID: <20200827052703.GA1050557@stopbrexit> On 19:15 Thu 20 Aug , Aleksey Shipilev wrote: > On 8/20/20 5:20 PM, Andrew Hughes wrote: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/corba/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxp/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jaxws/merge.changeset > > Look trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/jdk/merge.changeset > > Whoa. Looks okay as far as I can see. > Yeah, that's pretty much one change (JDK-8177334: Update xmldsig implementation to Apache Santuario 2.1.1) which is why I was keen to get it in this otherwise low traffic promotion. > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/hotspot/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/langtools/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/nashorn/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b04/root/merge.changeset > > Look trivially good. > > Ok to push. > > -Aleksey > Thanks. Pushed. -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From gnu.andrew at redhat.com Thu Aug 27 05:51:35 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 27 Aug 2020 06:51:35 +0100 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> <8736497jrx.fsf@redhat.com> Message-ID: <20200827055135.GC1050557@stopbrexit> On 13:08 Wed 26 Aug , Aleksey Shipilev wrote: > On 8/26/20 1:01 PM, Roland Westrelin wrote: > > > It looks like this is not actually used for reference types. The only > > > uses are in library_call.cpp and they don't look like they ever load a > > > reference. Please check and confirm to be sure. > > > > It does on PPC. In LibraryCallKit::get_key_start_from_aescrypt_object(). > > Yes. I misjudged the assert: it actually verifies the current Shenandoah > uses do not need the LRB there. Shenandoah is not supported (yet) on PPC, so > there is no bug yet, and assert is just too strong for PPC code. But it > feels more future proof just to insert the Shenandoah barrier there. > > 8u webrev: > https://cr.openjdk.java.net/~shade/8252366/webrev.02/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > > -- > Thanks, > -Aleksey > Looks ok to me. Not having a g1_write_barrier_pre_helper function which is actually Shenandoah-only should add a little clarity :-) Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From gnu.andrew at redhat.com Thu Aug 27 06:01:07 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 27 Aug 2020 07:01:07 +0100 Subject: RFR: Bulk integration shenandoah/jdk8 -> aarch64-port/jdk8u-shenandoah, 2020-08-26 In-Reply-To: References: Message-ID: <20200827060107.GD1050557@stopbrexit> On 11:20 Wed 26 Aug , Aleksey Shipilev wrote: > Hi, > > I would like to integrate the usual round of sh/jdk8 backports to aarch64-port/jdk8u-shenandoah. > > Only hotspot repository is affected, and the merge is clean there. Since we > need to coordinate the push with Andrew Hughes, I did not tag it yet. It > would be something like > "aarch64-shenandoah-jdk8u272-b03-shenandoah-merge-2020-08-26". > > 8u webrev: > https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20200826/webrev.01/ > > Testing: hotspot_gc_shenandoah; plus, this was tested with sh/jdk8 CIs > > -- > Thanks, > -Aleksey > I've concentrated on the shared code, trusting you guys on the Shenandoah changes. The only one I'm curious about is the change to src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp. There's no associated bug ID so where does that change come from and is it specified to the 8u Shenandoah port? The other shared changes as part of the pacing stats and the cleanup of what is already a Shenandoah-only class loading change look ok. I'll post b05 shortly, and presume you will rebase on top of that as discussed. Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From gnu.andrew at redhat.com Thu Aug 27 06:15:28 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 27 Aug 2020 07:15:28 +0100 Subject: [gnu.andrew@redhat.com: [RFR] [8u] 8u272-b05 Upstream Sync] Message-ID: <20200827061528.GF1050557@stopbrexit> Forgot to CC shenandoah-dev. ----- Forwarded message from Andrew Hughes ----- Date: Thu, 27 Aug 2020 07:14:11 +0100 From: Andrew Hughes To: aarch64-port-dev at openjdk.java.net Subject: [RFR] [8u] 8u272-b05 Upstream Sync User-Agent: Mutt/1.10.1 (2018-07-13) Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u272-b05/root/merge.changeset Changes in aarch64-shenandoah-jdk8u272-b05: - JDK-8026236: Add PrimeTest for BigInteger - JDK-8057003: Large reference arrays cause extremely long synchronization times - JDK-8060721: Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler - JDK-8078334: Mark regression tests using randomness - JDK-8078880: Mark a few more intermittently failuring security-libs - JDK-8152077: (cal) Calendar.roll does not always roll the hours during daylight savings - JDK-8168517: java/lang/ProcessBuilder/Basic.java failed - JDK-8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean - JDK-8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs - JDK-8231213: Migrate SimpleDateFormatConstTest to JDK Repo - JDK-8236645: JDK 8u231 introduces a regression with incompatible handling of XML messages - JDK-8240676: Meet not symmetric failure when running lucene on jdk8 - JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program - JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg - JDK-8249158: THREAD_START and THREAD_END event posted in primordial phase - JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics - JDK-8251546: 8u backport of JDK-8194298 breaks AIX and Solaris builds - JDK-8252084: Minimal VM fails to bootcycle: undefined symbol: AgeTableTracer::is_tenuring_distribution_event_enabled Main issues of note: Mostly clean. There was a minor conflict in src/share/vm/opto/compile.hpp, due to shenandoah_eliminate_g1_wb_pre being within the surrounding context of the _type_verify_symmetry addition. JDK-8247979 is already upstream, which is why the change to src/cpu/aarch64/vm/aarch64.ad appears uncredited. diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk b/.hgtags | 1 b/make/data/cacerts/entrustrootcag4 | 43 + b/make/lib/CoreLibraries.gmk | 4 b/make/mapfiles/libjava/mapfile-vers | 1 b/src/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java | 5 b/src/linux/native/jdk/internal/platform/cgroupv1/Metrics.c | 35 + b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java | 7 b/src/share/classes/java/util/GregorianCalendar.java | 48 -- b/src/share/javavm/export/jvm.h | 3 b/src/solaris/native/java/io/Console_md.c | 2 b/src/solaris/native/java/net/ExtendedOptionsImpl.c | 16 b/test/com/sun/crypto/provider/Cipher/AES/CICO.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/CTR.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/Padding.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestAESCipher.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestCICOWithGCM.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestCICOWithGCMAndAAD.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestISO10126Padding.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestNonexpanding.java | 1 b/test/com/sun/crypto/provider/Cipher/AES/TestSameBuffer.java | 1 b/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java | 1 b/test/com/sun/crypto/provider/Cipher/PBE/PBESealedObject.java | 1 b/test/com/sun/crypto/provider/Cipher/PBE/PBKDF2Translate.java | 1 b/test/com/sun/crypto/provider/Cipher/PBE/PKCS12Cipher.java | 1 b/test/com/sun/crypto/provider/Cipher/PBE/TestCipherKeyWrapperPBEKey.java | 1 b/test/com/sun/crypto/provider/Cipher/RSA/TestOAEP.java | 1 b/test/com/sun/crypto/provider/Cipher/RSA/TestRSA.java | 1 b/test/com/sun/crypto/provider/Mac/HmacSaltLengths.java | 1 b/test/com/sun/crypto/provider/Mac/MacSameTest.java | 1 b/test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java | 1 b/test/java/io/DataInputStream/ReadUTF.java | 1 b/test/java/io/File/GetXSpace.java | 1 b/test/java/io/PrintStream/OversynchronizedTest.java | 1 b/test/java/io/Serializable/corruptedUTFConsumption/CorruptedUTFConsumption.java | 1 b/test/java/io/Serializable/longString/LongString.java | 1 b/test/java/io/Serializable/proxy/Basic.java | 1 b/test/java/io/Serializable/sanityCheck/SanityCheck.java | 1 b/test/java/lang/Boolean/MakeBooleanComparable.java | 1 b/test/java/lang/ClassLoader/Assert.java | 1 b/test/java/lang/Compare.java | 1 b/test/java/lang/Double/ParseHexFloatingPoint.java | 1 b/test/java/lang/Enum/ValueOf.java | 1 b/test/java/lang/HashCode.java | 1 b/test/java/lang/Integer/BitTwiddle.java | 1 b/test/java/lang/Long/BitTwiddle.java | 1 b/test/java/lang/Math/CubeRootTests.java | 1 b/test/java/lang/Math/HypotTests.java | 1 b/test/java/lang/Math/IeeeRecommendedTests.java | 1 b/test/java/lang/Math/Log1pTests.java | 1 b/test/java/lang/ProcessBuilder/Basic.java | 10 b/test/java/lang/Runtime/exec/WinCommand.java | 1 b/test/java/lang/String/ContentEquals.java | 1 b/test/java/lang/String/ICCBasher.java | 1 b/test/java/lang/String/SBConstructor.java | 2 b/test/java/lang/String/Split.java | 1 b/test/java/lang/StringBuffer/AppendCharSequence.java | 1 b/test/java/lang/StringBuffer/AppendSB.java | 1 b/test/java/lang/StringBuffer/AppendStringBuilder.java | 1 b/test/java/lang/StringBuffer/Capacity.java | 1 b/test/java/lang/StringBuffer/IndexOf.java | 1 b/test/java/lang/StringBuffer/SBBasher.java | 2 b/test/java/lang/StringBuffer/Trim.java | 1 b/test/java/lang/StringBuilder/AppendStringBuffer.java | 1 b/test/java/lang/ToString.java | 1 b/test/java/lang/instrument/SingleTransformerTest.java | 1 b/test/java/lang/instrument/TransformMethodTest.java | 1 b/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java | 1 b/test/java/lang/management/BufferPoolMXBean/Basic.java | 1 b/test/java/math/BigDecimal/StringConstructor.java | 1 b/test/java/math/BigInteger/BigIntegerTest.java | 1 b/test/java/math/BigInteger/ModPow65537.java | 1 b/test/java/math/BigInteger/PrimeTest.java | 197 ++++++++ b/test/java/math/BigInteger/SymmetricRangeTests.java | 1 b/test/java/net/InetAddress/HashSpread.java | 1 b/test/java/nio/Buffer/Chars.java | 1 b/test/java/nio/MappedByteBuffer/Force.java | 1 b/test/java/nio/MappedByteBuffer/ZeroMap.java | 1 b/test/java/nio/channels/AsynchronousChannelGroup/Basic.java | 1 b/test/java/nio/channels/AsynchronousChannelGroup/Identity.java | 1 b/test/java/nio/channels/AsynchronousChannelGroup/Restart.java | 1 b/test/java/nio/channels/AsynchronousFileChannel/Basic.java | 1 b/test/java/nio/channels/AsynchronousFileChannel/Lock.java | 1 b/test/java/nio/channels/AsynchronousFileChannel/LotsOfWrites.java | 1 b/test/java/nio/channels/AsynchronousSocketChannel/Basic.java | 1 b/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java | 1 b/test/java/nio/channels/Channels/Basic2.java | 1 b/test/java/nio/channels/Channels/ShortWrite.java | 1 b/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java | 1 b/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java | 1 b/test/java/nio/channels/DatagramChannel/Promiscuous.java | 1 b/test/java/nio/channels/FileChannel/AtomicAppend.java | 1 b/test/java/nio/channels/FileChannel/ClosedByInterrupt.java | 1 b/test/java/nio/channels/FileChannel/MapTest.java | 1 b/test/java/nio/channels/FileChannel/Position.java | 1 b/test/java/nio/channels/FileChannel/Pread.java | 1 b/test/java/nio/channels/FileChannel/Pwrite.java | 1 b/test/java/nio/channels/FileChannel/Size.java | 1 b/test/java/nio/channels/FileChannel/Transfer.java | 1 b/test/java/nio/channels/FileChannel/Truncate.java | 1 b/test/java/nio/channels/Pipe/PipeChannel.java | 3 b/test/java/nio/channels/Pipe/ScatteringRead.java | 3 b/test/java/nio/channels/Pipe/SelectPipe.java | 1 b/test/java/nio/channels/Selector/SelectorTest.java | 1 b/test/java/nio/channels/ServerSocketChannel/NonBlockingAccept.java | 1 b/test/java/nio/channels/SocketChannel/CloseDuringWrite.java | 1 b/test/java/nio/channels/SocketChannel/OutOfBand.java | 1 b/test/java/nio/channels/SocketChannel/ShortWrite.java | 1 b/test/java/nio/channels/SocketChannel/VectorIO.java | 1 b/test/java/nio/channels/etc/AdaptorCloseAndInterrupt.java | 1 b/test/java/nio/charset/coders/BashCache.java | 1 b/test/java/nio/charset/coders/BashStreams.java | 1 b/test/java/nio/file/Files/BytesAndLines.java | 1 b/test/java/nio/file/Files/CopyAndMove.java | 1 b/test/java/nio/file/Files/walkFileTree/SkipSiblings.java | 1 b/test/java/nio/file/Files/walkFileTree/SkipSubtree.java | 1 b/test/java/nio/file/Files/walkFileTree/TerminateWalk.java | 1 b/test/java/nio/file/WatchService/LotsOfEvents.java | 1 b/test/java/nio/file/WatchService/MayFlies.java | 1 b/test/java/nio/file/WatchService/SensitivityModifier.java | 1 b/test/java/nio/file/attribute/AclFileAttributeView/Basic.java | 1 b/test/java/nio/file/attribute/FileTime/Basic.java | 1 b/test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java | 1 b/test/java/security/MessageDigest/ByteBuffers.java | 1 b/test/java/security/MessageDigest/TestDigestIOStream.java | 1 b/test/java/security/MessageDigest/TestSameLength.java | 1 b/test/java/security/MessageDigest/TestSameValue.java | 1 b/test/java/security/Signature/ByteBuffers.java | 1 b/test/java/security/Signature/NONEwithRSA.java | 1 b/test/java/security/spec/EllipticCurveMatch.java | 1 b/test/java/sql/JavatimeTest.java | 1 b/test/java/text/Format/DateFormat/SimpleDateFormatPatternTest.java | 229 ++++++++++ b/test/java/text/Format/MessageFormat/Bug7003643.java | 1 b/test/java/util/Arrays/ArrayObjectMethods.java | 1 b/test/java/util/Arrays/CopyMethods.java | 1 b/test/java/util/Arrays/Correct.java | 1 b/test/java/util/Base64/TestBase64.java | 1 b/test/java/util/BitSet/BSMethods.java | 1 b/test/java/util/BitSet/ImportExport.java | 1 b/test/java/util/BitSet/PreviousBits.java | 1 b/test/java/util/Calendar/Bug8152077.java | 135 +++++ b/test/java/util/Calendar/JavatimeTest.java | 1 b/test/java/util/Collection/MOAT.java | 1 b/test/java/util/Collections/AddAll.java | 1 b/test/java/util/Collections/CheckedListBash.java | 1 b/test/java/util/Collections/CheckedMapBash.java | 1 b/test/java/util/Collections/CheckedSetBash.java | 1 b/test/java/util/Collections/Disjoint.java | 1 b/test/java/util/Collections/Rotate.java | 1 b/test/java/util/EnumSet/EnumSetBash.java | 1 b/test/java/util/HashSet/Serialization.java | 1 b/test/java/util/IdentityHashMap/Capacity.java | 1 b/test/java/util/List/LockStep.java | 1 b/test/java/util/Map/LockStep.java | 1 b/test/java/util/NavigableMap/LockStep.java | 1 b/test/java/util/Properties/ConcurrentLoadAndStoreXML.java | 1 b/test/java/util/Random/DistinctSeeds.java | 1 b/test/java/util/Random/RandomStreamTest.java | 1 b/test/java/util/Random/RandomTest.java | 1 b/test/java/util/ResourceBundle/Control/StressTest.java | 1 b/test/java/util/SplittableRandom/SplittableRandomTest.java | 1 b/test/java/util/Timer/DelayOverflow.java | 1 b/test/java/util/Timer/Purge.java | 1 b/test/java/util/UUID/Serial.java | 1 b/test/java/util/UUID/UUIDTest.java | 1 b/test/java/util/WeakHashMap/GCDuringIteration.java | 1 b/test/java/util/logging/CheckZombieLockTest.java | 1 b/test/java/util/logging/DrainFindDeadlockTest.java | 1 b/test/java/util/logging/FileHandlerPath.java | 1 b/test/java/util/logging/LoggingDeadlock.java | 4 b/test/java/util/logging/LoggingDeadlock2.java | 4 b/test/java/util/logging/TestLogConfigurationDeadLockWithConf.java | 1 b/test/java/util/regex/RegExTest.java | 1 b/test/java/util/zip/3GBZipFiles.sh | 1 b/test/java/util/zip/DeflateIn_InflateOut.java | 1 b/test/java/util/zip/FlaterTest.java | 1 b/test/java/util/zip/GZIP/Accordion.java | 1 b/test/java/util/zip/GZIP/GZIPInputStreamRead.java | 1 b/test/java/util/zip/InflateIn_DeflateOut.java | 1 b/test/java/util/zip/InflaterBufferSize.java | 1 b/test/java/util/zip/TimeChecksum.java | 1 b/test/java/util/zip/TotalInOut.java | 1 b/test/java/util/zip/ZipFile/Assortment.java | 1 b/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java | 1 b/test/java/util/zip/ZipFile/FinalizeZipFile.java | 1 b/test/java/util/zip/ZipFile/MultiThreadedReadTest.java | 1 b/test/java/util/zip/ZipFile/ReadZip.java | 1 b/test/javax/crypto/Cipher/ByteBuffers.java | 1 b/test/javax/crypto/CipherSpi/DirectBBRemaining.java | 1 b/test/javax/crypto/CryptoPermission/AllPermCheck.java | 1 b/test/javax/crypto/CryptoPermission/RC2PermCheck.java | 1 b/test/javax/crypto/JceSecurity/SunJCE_BC_LoadOrdering.java | 1 b/test/javax/crypto/KeyGenerator/TestKGParity.java | 1 b/test/javax/crypto/Mac/ByteBuffers.java | 1 b/test/javax/crypto/NullCipher/TestNPE.java | 1 b/test/javax/management/monitor/MultiMonitorTest.java | 1 b/test/javax/management/mxbean/ThreadMXBeanTest.java | 1 b/test/javax/management/remote/mandatory/loading/MissingClassTest.java | 1 b/test/javax/management/timer/MissingNotificationTest.java | 1 b/test/javax/smartcardio/TestCommandAPDU.java | 1 b/test/javax/xml/crypto/dsig/LineFeedOnlyTest.java | 214 +++++++++ b/test/jdk/internal/platform/docker/CheckUseContainerSupport.java | 46 ++ b/test/jdk/internal/platform/docker/MetricsMemoryTester.java | 11 b/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java | 1 b/test/jdk/internal/platform/docker/TestUseContainerSupport.java | 71 +++ b/test/security/infra/java/security/cert/CertPathValidator/certification/EntrustCA.java | 184 +++++++- b/test/sun/management/jmxremote/startstop/JMXStartStopTest.java | 1 b/test/sun/misc/CopyMemory.java | 1 b/test/sun/misc/FloatingDecimal/TestFloatingDecimal.java | 1 b/test/sun/net/www/ParseUtil_4922813.java | 1 b/test/sun/nio/cs/FindDecoderBugs.java | 1 b/test/sun/nio/cs/FindEncoderBugs.java | 1 b/test/sun/nio/cs/TestStringCoding.java | 1 b/test/sun/nio/cs/TestStringCodingUTF8.java | 1 b/test/sun/security/lib/cacerts/VerifyCACerts.java | 8 b/test/sun/security/mscapi/PrngSlow.java | 1 b/test/sun/security/mscapi/SignUsingSHA2withRSA.sh | 1 b/test/sun/security/pkcs11/Cipher/ReinitCipher.java | 1 b/test/sun/security/pkcs11/Cipher/TestRSACipher.java | 1 b/test/sun/security/pkcs11/Cipher/TestRawRSACipher.java | 1 b/test/sun/security/pkcs11/Cipher/TestSymmCiphers.java | 3 b/test/sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java | 1 b/test/sun/security/pkcs11/KeyGenerator/DESParity.java | 1 b/test/sun/security/pkcs11/Mac/MacSameTest.java | 1 b/test/sun/security/pkcs11/Mac/ReinitMac.java | 1 b/test/sun/security/pkcs11/MessageDigest/ByteBuffers.java | 1 b/test/sun/security/pkcs11/MessageDigest/ReinitDigest.java | 1 b/test/sun/security/pkcs11/MessageDigest/TestCloning.java | 1 b/test/sun/security/pkcs11/Secmod/AddPrivateKey.java | 1 b/test/sun/security/pkcs11/Secmod/Crypto.java | 1 b/test/sun/security/pkcs11/Secmod/GetPrivateKey.java | 1 b/test/sun/security/pkcs11/SecureRandom/Basic.java | 1 b/test/sun/security/pkcs11/Signature/ByteBuffers.java | 1 b/test/sun/security/pkcs11/Signature/ReinitSignature.java | 1 b/test/sun/security/pkcs11/Signature/TestDSA.java | 1 b/test/sun/security/pkcs11/Signature/TestDSAKeyLength.java | 1 b/test/sun/security/pkcs11/ec/ReadPKCS12.java | 1 b/test/sun/security/pkcs11/ec/TestCurves.java | 1 b/test/sun/security/pkcs11/ec/TestECDSA.java | 1 b/test/sun/security/pkcs11/rsa/KeyWrap.java | 1 b/test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java | 1 b/test/sun/security/pkcs11/rsa/TestSignatures.java | 1 b/test/sun/security/provider/DSA/TestDSA.java | 1 b/test/sun/security/provider/DSA/TestDSA2.java | 1 b/test/sun/security/provider/SeedGenerator/Priority_Inversion.java | 1 b/test/sun/security/rsa/TestKeyPairGenerator.java | 1 b/test/sun/security/rsa/TestSignatures.java | 1 248 files changed, 1444 insertions(+), 67 deletions(-) diffstat for hotspot a/test/runtime/8233197/T.java | 11 a/test/runtime/8233197/Test8233197.sh | 153 ---------- a/test/runtime/8233197/libJvmtiAgent.c | 124 -------- b/.hgtags | 1 b/make/excludeSrc.make | 1 b/make/linux/makefiles/mapfile-vers-debug | 1 b/make/linux/makefiles/mapfile-vers-product | 1 b/src/share/vm/gc_implementation/g1/concurrentMark.cpp | 33 +- b/src/share/vm/gc_implementation/g1/concurrentMark.hpp | 8 b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp | 14 b/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp | 87 +++++ b/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.hpp | 70 ++++ b/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp | 36 ++ b/src/share/vm/jfr/instrumentation/jfrJvmtiAgent.cpp | 127 +++----- b/src/share/vm/jfr/jfr.cpp | 19 - b/src/share/vm/jfr/jfr.hpp | 5 b/src/share/vm/jfr/jni/jfrJavaSupport.cpp | 4 b/src/share/vm/jfr/jni/jfrJavaSupport.hpp | 1 b/src/share/vm/jfr/jni/jfrJniMethod.cpp | 4 b/src/share/vm/jfr/recorder/jfrRecorder.cpp | 28 - b/src/share/vm/jfr/recorder/jfrRecorder.hpp | 5 b/src/share/vm/jfr/recorder/service/jfrOptionSet.cpp | 26 - b/src/share/vm/jfr/recorder/service/jfrOptionSet.hpp | 4 b/src/share/vm/memory/metaspaceShared.cpp | 11 b/src/share/vm/opto/compile.cpp | 3 b/src/share/vm/opto/compile.hpp | 3 b/src/share/vm/opto/type.cpp | 76 +++- b/src/share/vm/opto/type.hpp | 1 b/src/share/vm/prims/jvm.cpp | 11 b/src/share/vm/prims/jvm.h | 3 b/src/share/vm/runtime/globals.hpp | 2 b/src/share/vm/runtime/thread.cpp | 22 - b/src/share/vm/utilities/taskqueue.hpp | 3 b/test/compiler/types/TestArrayMeetNotSymmetrical.java | 70 ++++ 34 files changed, 477 insertions(+), 491 deletions(-) Built locally on x86_64 and is currently taking place on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le, aarch32 (Zero) & aarch64 on our build infrastructure. I'm posting this now on the prediction that this will pass, allowing it to be reviewed in the meantime, but will obviously not push if this fails. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 ----- End forwarded message ----- -- Andrew :) Senior Free Java Software Engineer OpenJDK Package Owner Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Thu Aug 27 06:26:23 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 27 Aug 2020 08:26:23 +0200 Subject: RFR: Bulk integration shenandoah/jdk8 -> aarch64-port/jdk8u-shenandoah, 2020-08-26 In-Reply-To: <20200827060107.GD1050557@stopbrexit> References: <20200827060107.GD1050557@stopbrexit> Message-ID: On 8/27/20 8:01 AM, Andrew Hughes wrote: > I've concentrated on the shared code, trusting you guys on the Shenandoah changes. > > The only one I'm curious about is the change to > src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp. There's no > associated bug ID so where does that change come from and is it > specified to the 8u Shenandoah port? It is specific to 8u Shenandoah port, comes from here: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/049078100b90 Later refactorings eliminated the file, and the Shenandoah-specific issue (the absence of CV-qualified overload) with it. So, there is nothing to backport from. > I'll post b05 shortly, and presume you will rebase on top of that as > discussed. Yes, sure. -- Thanks, -Aleksey From rwestrel at redhat.com Thu Aug 27 07:25:44 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 27 Aug 2020 09:25:44 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections In-Reply-To: <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> References: <87d03d7pdk.fsf@redhat.com> <878se17p50.fsf@redhat.com> <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> Message-ID: <87wo1k5z47.fsf@redhat.com> Thanks for the review, Christian. Roland. From rwestrel at redhat.com Thu Aug 27 07:26:13 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 27 Aug 2020 09:26:13 +0200 Subject: RFR(T): 8252296: Shenandoah: crash in CallNode::extract_projections In-Reply-To: <874koptpv5.fsf@mid.deneb.enyo.de> References: <87d03d7pdk.fsf@redhat.com> <878se17p50.fsf@redhat.com> <312607ab-2d2f-7966-519c-5354951d5184@oracle.com> <874koptpv5.fsf@mid.deneb.enyo.de> Message-ID: <87tuwo5z3e.fsf@redhat.com> > It seems to fix my reproducer, too. Thanks. Thanks for verifying the fix. Roland. From maoliang.ml at alibaba-inc.com Thu Aug 27 06:56:02 2020 From: maoliang.ml at alibaba-inc.com (Liang Mao) Date: Thu, 27 Aug 2020 14:56:02 +0800 Subject: =?UTF-8?B?TG9uZyBwYXVzZSB0aW1lIG9mIEZpbmFsIE1hcmsgaW4gbGF0ZXN0IDExdSBzaGVuYW5kb2Fo?= Message-ID: Hi Shenandoah developers, We are investigating the product version of Shenandoah GC in 11u and it showed a good result except an unexpected behavior of long pause time in final mark (finish queues actually). I didn't find any open discussions of this issue yet and cannot see any suspicious points in code. Could you please help? Below is the problematic GC information in log. Usually the final mark only took ~2 ms. The long pause time of final mark happened in a rate of ~1% in this application. The java option is "-Xmx24g -Xms24g -XX:+UseShenandoahGC". [2020-08-27T13:42:26.940+0800][gc ] Trigger: Free (2451M) is below minimum threshold (2457M) [2020-08-27T13:42:26.940+0800][gc,ergo ] Free: 2451M, Max: 8192K regular, 1288M humongous, Frag: 47% external, 0% internal; Reserve: 1232M, Max: 8192K [2020-08-27T13:42:26.940+0800][gc,start ] GC(2167) Concurrent reset [2020-08-27T13:42:26.940+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent reset [2020-08-27T13:42:26.940+0800][gc,ergo ] GC(2167) Pacer for Reset. Non-Taxable: 24576M [2020-08-27T13:42:26.946+0800][gc ] GC(2167) Concurrent reset 5.489ms [2020-08-27T13:42:26.947+0800][gc,start ] GC(2167) Pause Init Mark [2020-08-27T13:42:26.947+0800][gc,task ] GC(2167) Using 8 of 8 workers for init marking [2020-08-27T13:42:26.948+0800][gc,ergo ] GC(2167) Pacer for Mark. Expected Live: 3577M, Free: 2451M, Non-Taxable: 245M, Alloc Tax Rate: 1.8x [2020-08-27T13:42:26.948+0800][gc ] GC(2167) Pause Init Mark 1.093ms [2020-08-27T13:42:26.948+0800][gc,start ] GC(2167) Concurrent marking [2020-08-27T13:42:26.948+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent marking [2020-08-27T13:42:27.018+0800][gc ] GC(2167) Concurrent marking 69.710ms [2020-08-27T13:42:27.019+0800][gc,start ] GC(2167) Pause Final Mark [2020-08-27T13:42:27.019+0800][gc,task ] GC(2167) Using 8 of 8 workers for final marking [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Adaptive CSet Selection. Target Free: 3481M, Actual Free: 15270M, Max CSet: 1024M, Min Garbage: 0B [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Collectable Garbage: 16415M (96%), Immediate: 11966M (70%), CSet: 4448M (26%) [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Pacer for Evacuation. Used CSet: 5469M, Free: 14101M, Non-Taxable: 1410M, Alloc Tax Rate: 1.1x [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Pause Final Mark 679.962ms [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent cleanup [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Concurrent cleanup 20942M->8984M(24576M) 0.288ms [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Free: 14100M, Max: 8192K regular, 1288M humongous, Frag: 91% external, 0% internal; Reserve: 1231M, Max: 8192K [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent evacuation [2020-08-27T13:42:27.699+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent evacuation [2020-08-27T13:42:27.879+0800][gc ] GC(2167) Concurrent evacuation 180.091ms [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Pause Init Update Refs [2020-08-27T13:42:27.881+0800][gc,ergo ] GC(2167) Pacer for Update Refs. Used: 10377M, Free: 13756M, Non-Taxable: 1375M, Alloc Tax Rate: 1.1x [2020-08-27T13:42:27.881+0800][gc ] GC(2167) Pause Init Update Refs 0.154ms [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Concurrent update references [2020-08-27T13:42:27.881+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent reference update [2020-08-27T13:42:28.570+0800][gc ] GC(2167) Concurrent update references 688.702ms[2020-08-27T13:42:28.571+0800][gc,start ] GC(2167) Pause Final Update Refs [2020-08-27T13:42:28.571+0800][gc,task ] GC(2167) Using 8 of 8 workers for final reference update [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Pause Final Update Refs 0.402ms [2020-08-27T13:42:28.571+0800][gc,start ] GC(2167) Concurrent cleanup [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Concurrent cleanup 10886M->5416M(24576M) 0.156ms [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark (G) 681245 us [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark (N) 679951 us [2020-08-27T13:42:28.572+0800][gc,stats ] Finish Queues 678515 us [2020-08-27T13:42:28.572+0800][gc,stats ] System Purge 130 us [2020-08-27T13:42:28.572+0800][gc,stats ] Weak Roots 129 us [2020-08-27T13:42:28.572+0800][gc,stats ] Update Region States 30 us [2020-08-27T13:42:28.572+0800][gc,stats ] Retire TLABs 102 us [2020-08-27T13:42:28.572+0800][gc,stats ] Choose Collection Set 197 us [2020-08-27T13:42:28.572+0800][gc,stats ] Rebuild Free Set 26 us [2020-08-27T13:42:28.572+0800][gc,stats ] Initial Evacuation 893 us, parallelism: 5.36x Thanks, Liang From rkennke at redhat.com Thu Aug 27 10:12:42 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 27 Aug 2020 12:12:42 +0200 Subject: Long pause time of Final Mark in latest 11u shenandoah In-Reply-To: References: Message-ID: <0b29d3b053f3e597b056d9e1d8a4f6116b655593.camel@redhat.com> Hello Liang, It sticks out that this is a really short concurrent-mark phase (69ms) but a really long final-mark phase (680ms). It seems likely that most of the reachable graph gets 'hidden' in SATB queues, which are only processed at final-mark. Also, the SATB flush interval is 100ms, so we don't get to flush the SATB queues at all, before hitting final-mark. It may be worth experimenting with lower ShenandoahSATBBufferFlushInterval, e.g. -XX:ShenandoahSATBBufferFlushInterval=30 or so. We are considering to add machinery to force-flush SATB queues during conc-mark, before hitting final-mark, so that we decrease the likelyhood of unmarked subgraphs hiding in SATB buffers. Let me know if decreasing the SATB flush interval helps! Thanks for the report! Cheers, Roman Am Donnerstag, den 27.08.2020, 14:56 +0800 schrieb Liang Mao: > Hi Shenandoah developers, > > We are investigating the product version of Shenandoah GC in 11u and > it showed > a good result except an unexpected behavior of long pause time in > final mark > (finish queues actually). I didn't find any open discussions of this > issue yet > and cannot see any suspicious points in code. Could you please help? > > Below is the problematic GC information in log. Usually the final > mark only took > ~2 ms. The long pause time of final mark happened in a rate of ~1% in > this application. > The java option is "-Xmx24g -Xms24g -XX:+UseShenandoahGC". > > [2020-08-27T13:42:26.940+0800][gc ] Trigger: Free (2451M) > is below minimum threshold (2457M) > [2020-08-27T13:42:26.940+0800][gc,ergo ] Free: 2451M, Max: > 8192K regular, 1288M humongous, Frag: 47% external, 0% internal; > Reserve: 1232M, Max: 8192K > [2020-08-27T13:42:26.940+0800][gc,start ] GC(2167) Concurrent > reset > [2020-08-27T13:42:26.940+0800][gc,task ] GC(2167) Using 4 of 8 > workers for concurrent reset > [2020-08-27T13:42:26.940+0800][gc,ergo ] GC(2167) Pacer for > Reset. Non-Taxable: 24576M > [2020-08-27T13:42:26.946+0800][gc ] GC(2167) Concurrent > reset 5.489ms > [2020-08-27T13:42:26.947+0800][gc,start ] GC(2167) Pause Init > Mark > [2020-08-27T13:42:26.947+0800][gc,task ] GC(2167) Using 8 of 8 > workers for init marking > [2020-08-27T13:42:26.948+0800][gc,ergo ] GC(2167) Pacer for > Mark. Expected Live: 3577M, Free: 2451M, Non-Taxable: 245M, Alloc Tax > Rate: 1.8x > [2020-08-27T13:42:26.948+0800][gc ] GC(2167) Pause Init > Mark 1.093ms > [2020-08-27T13:42:26.948+0800][gc,start ] GC(2167) Concurrent > marking > [2020-08-27T13:42:26.948+0800][gc,task ] GC(2167) Using 4 of 8 > workers for concurrent marking > [2020-08-27T13:42:27.018+0800][gc ] GC(2167) Concurrent > marking 69.710ms > [2020-08-27T13:42:27.019+0800][gc,start ] GC(2167) Pause Final > Mark > [2020-08-27T13:42:27.019+0800][gc,task ] GC(2167) Using 8 of 8 > workers for final marking > [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Adaptive CSet > Selection. Target Free: 3481M, Actual Free: 15270M, Max CSet: 1024M, > Min Garbage: 0B > [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Collectable > Garbage: 16415M (96%), Immediate: 11966M (70%), CSet: 4448M (26%) > [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Pacer for > Evacuation. Used CSet: 5469M, Free: 14101M, Non-Taxable: 1410M, Alloc > Tax Rate: 1.1x > [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Pause Final > Mark 679.962ms > [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent > cleanup > [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Concurrent > cleanup 20942M->8984M(24576M) 0.288ms > [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Free: 14100M, > Max: 8192K regular, 1288M humongous, Frag: 91% external, 0% internal; > Reserve: 1231M, Max: 8192K > [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent > evacuation > [2020-08-27T13:42:27.699+0800][gc,task ] GC(2167) Using 4 of 8 > workers for concurrent evacuation > [2020-08-27T13:42:27.879+0800][gc ] GC(2167) Concurrent > evacuation 180.091ms > [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Pause Init > Update Refs > [2020-08-27T13:42:27.881+0800][gc,ergo ] GC(2167) Pacer for > Update Refs. Used: 10377M, Free: 13756M, Non-Taxable: 1375M, Alloc > Tax Rate: 1.1x > [2020-08-27T13:42:27.881+0800][gc ] GC(2167) Pause Init > Update Refs 0.154ms > [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Concurrent > update references > [2020-08-27T13:42:27.881+0800][gc,task ] GC(2167) Using 4 of 8 > workers for concurrent reference update > [2020-08-27T13:42:28.570+0800][gc ] GC(2167) Concurrent > update references 688.702ms[2020-08- > 27T13:42:28.571+0800][gc,start ] GC(2167) Pause Final Update > Refs > [2020-08-27T13:42:28.571+0800][gc,task ] GC(2167) Using 8 of 8 > workers for final reference update > [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Pause Final > Update Refs 0.402ms > [2020-08-27T13:42:28.571+0800][gc,start ] GC(2167) Concurrent > cleanup > [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Concurrent > cleanup 10886M->5416M(24576M) 0.156ms > > > [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark > (G) 681245 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark > (N) 679951 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Finish > Queues 678515 us > [2020-08-27T13:42:28.572+0800][gc,stats ] System > Purge 130 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Weak > Roots 129 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Update Region > States 30 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Retire > TLABs 102 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Choose Collection > Set 197 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Rebuild Free > Set 26 us > [2020-08-27T13:42:28.572+0800][gc,stats ] Initial > Evacuation 893 us, parallelism: 5.36x > > Thanks, > Liang From mathiske at amazon.com Thu Aug 27 21:56:55 2020 From: mathiske at amazon.com (Mathiske, Bernd) Date: Thu, 27 Aug 2020 21:56:55 +0000 Subject: Performance impact impressions for card marking in Shenandoah In-Reply-To: <57d1dc2a30763bab325cda875da557f3d6b19723.camel@redhat.com> References: <11FEC7A4-9ED8-4EAD-8BC7-C224B840CE6B@amazon.com> <57d1dc2a30763bab325cda875da557f3d6b19723.camel@redhat.com> Message-ID: <3324F740-3770-488F-9409-A6F5580EA6AC@amazon.com> And here are the same kind of numbers (still only running C2) for OpenJDK tip, changeset 60627:611d955c04d3. There us an additional bug in this port. "crypto" crashes for the card table variant, so I left it out here. Parallel CMS G1 Shen CardShen compress 130 130 132 123 119 mpegaudio 96 99 95 82 82 scimark.large 89 88 88 89 89 scimark.small 173 167 166 166 166 serial 125 112 114 105 102 sunflow 119 123 116 108 107 xml 341 302 295 270 263 Here, adding unconditional card marking makes the JVM with Shenandoah have on average about 1.4% lower scores than vanilla Shenandoah. Here is the webrev for my changes so far to tip. This patch applies cleanly to today's latest revision. It is slightly more involved than the one against OpenJDK11. Differences: - Adapted Shenandoah heap initialization order. I moved all code from the constructor to "initialize()" to make this work without creating a circular dependency. - CardTableBarrierSet has an additional constructor to pass through "BarrierSetNMethod* barrier_set_nmethod". http://cr.openjdk.java.net/~bmathiske/cardshen-tip/webrev.00/ I am particularly uncertain about what I did in "shenandoahBarrierSetC2.cpp" in " ShenandoahBarrierSetC2::store_at_resolved()". Bernd ?On 8/19/20, 2:28 PM, "Roman Kennke" wrote: Very nice! I've expected the impact to be bigger. Thank you for posting this, and for working on this! Thanks, Roman Am Mittwoch, den 19.08.2020, 20:13 +0000 schrieb Mathiske, Bernd: > Here are some numbers regarding what might happen in terms of > slowdown if you add card marking to Shenandoah (see previous emails > for the patch). Summary: "minor" impact, as expected from anecdotal > experience with card marking in Parallel and CMS. But the following > is by no means a comprehensive study, just a report of what I have to > not make you wait any longer for where I see this going. > > I ran SPECJvm2008 on a c5.2xlarge AWS instance (8 Virtual CPUs, 16.0 > GiB Memory), using OpenJDK 11.0.7 with Shenandoah. > > .../java -Xms2g -Xmx2g -XX:+UnlockExperimentalVMOptions > -XX:+UseShenandoahGC -XX:-TieredCompilation -jar SPECjvm2008.jar -coe > -ict -ikv -wt 15s -it 20s -bt 2 > |xml> > > I could not get the SPECjvm2008 benchmark "compiler" to run on any > JVM and "startup" seemed irrelevant in this context. "derby" seems to > be very sensitive to -Xmx and thus producing red herring scores for > our focal point, relative barrier performance. So I am leaving > "derby" out for now, too. > > In my code, there is still a bug tickled by "derby" and another one > in array marking by C1 code. The latter prevents me from invoking C1 > here. So I ran all this with C2 only. I figure this is where we would > see the most impact anyway. I compared my patched JVM ("CardShen") to > the same JVM with Parallel, CMS, G1, and to an unpatched vanilla > Shenandoah ("Shen") JVM without card marking. These are the scores in > SPECjvm ops/sec, averaged over 3 overall runs. Not very precise, due > to small run lengths, with variations between runs around 0.5-1%, but > stable enough to get a qualitative idea. > > Parallel CMS G1 Shen CardShen > compress 127 127 127 108 108 > crypto 261 255 260 249 248 > mpegaudio 90 91 92 78 76 > scimark.large 89 89 89 90 90 > scimark.small 182 182 173 171 173 > serial 129 127 120 116 113 > sunflow 118 117 126 113 113 > xml 358 349 315 292 280 > > Adding unconditional card marking makes the JVM with Shenandoah have > on average about 1% lower scores than vanilla Shenandoah. I have > tried conditional Shenandoah with conditional card marking briefly > and spotted similar results. There are more noticeable differences > dominated by which collector one chooses to begin with. I would > expect that there is a throughput penalty for using a concurrent > collector and this seems to shine through here sometimes. > > Next, I shall repeat this with JDK tip. > Yes, I want to / will fix the remaining bugs, eventually. :-) > > Bernd > > From kornelpal at gmail.com Fri Aug 28 04:52:43 2020 From: kornelpal at gmail.com (Kornel Pal) Date: Fri, 28 Aug 2020 06:52:43 +0200 Subject: [8] RFR: Shenandoah: JNI weak roots are always cleared before Full GC mark In-Reply-To: <63cc4c75-929d-dccf-f5ed-cc69c19455be@redhat.com> References: <63cc4c75-929d-dccf-f5ed-cc69c19455be@redhat.com> Message-ID: <6a7ced31-4d50-8611-c46c-ff8d8a766503@gmail.com> Hi Aleksey, Thank you very much for all the dedicated work on Shenandoah GC, it really is useful. I wonder whether this workaround could safely be removed, now that JDK-8248041 was backported to 8u. Thank you, Kornel On 2020-06-22 19:39, Aleksey Shipilev wrote: > Amir found the crash with Cassandra that started to happen recently with Shenandoah 8u. It > reproduces more or less reliably with starting Cassandra 3.11.4 with fastdebug build and > -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC. > > This is a symptom of a larger problem (see JDK-8248041), but 8u it is catastrophic due to clearing > of the weak roots. > > Fix: > https://cr.openjdk.java.net/~shade/shenandoah/8u-fullgc-jni-weak/webrev.01/ > > Testing: hotspot_gc_shenandoah; Cassandra tests > From shade at redhat.com Fri Aug 28 05:21:00 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 28 Aug 2020 07:21:00 +0200 Subject: [aarch64-port-dev ] RFR (XS) 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp In-Reply-To: <20200827055135.GC1050557@stopbrexit> References: <9fb1ffa8-648b-1f69-bd52-7c4fcb2cb098@redhat.com> <875z957oy0.fsf@redhat.com> <4c29fbb37608c2843c54a2f6430ebfa9a3293893.camel@redhat.com> <8736497jrx.fsf@redhat.com> <20200827055135.GC1050557@stopbrexit> Message-ID: On 8/27/20 7:51 AM, Andrew Hughes wrote: > Looks ok to me. Not having a g1_write_barrier_pre_helper function > which is actually Shenandoah-only should add a little clarity :-) Pushed: http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/rev/e0a34665279f -- Thanks, -Aleksey From shade at redhat.com Fri Aug 28 05:48:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 28 Aug 2020 07:48:47 +0200 Subject: RFR: Bulk integration shenandoah/jdk8 -> aarch64-port/jdk8u-shenandoah, 2020-08-26 In-Reply-To: References: <20200827060107.GD1050557@stopbrexit> Message-ID: <98638fb1-4623-09e5-0414-9140fec13c5d@redhat.com> On 8/27/20 8:26 AM, Aleksey Shipilev wrote: > On 8/27/20 8:01 AM, Andrew Hughes wrote: >> I've concentrated on the shared code, trusting you guys on the Shenandoah changes. >> >> The only one I'm curious about is the change to >> src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp. There's no >> associated bug ID so where does that change come from and is it >> specified to the 8u Shenandoah port? > > It is specific to 8u Shenandoah port, comes from here: > https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/049078100b90 > > Later refactorings eliminated the file, and the Shenandoah-specific issue (the absence of > CV-qualified overload) with it. So, there is nothing to backport from. > >> I'll post b05 shortly, and presume you will rebase on top of that as >> discussed. > > Yes, sure. Rebased, re-tested, pushed and tagged "aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28" -- Thanks, -Aleksey From shade at redhat.com Fri Aug 28 05:51:33 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:33 +0000 Subject: hg: shenandoah/jdk8/jaxp: 42 new changesets Message-ID: <202008280551.07S5pX1f005133@aojmv0008.oracle.com> Changeset: 779db06fb024 Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/779db06fb024 Added tag jdk8u262-b08 for changeset 0cccb32a5047 ! .hgtags Changeset: e0235308e8ca Author: andrew Date: 2020-06-23 16:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/e0235308e8ca Merge jdk8u262-b08 ! .hgtags Changeset: 4a8de420c4ac Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/4a8de420c4ac Added tag aarch64-shenandoah-jdk8u262-b08 for changeset e0235308e8ca ! .hgtags Changeset: 28bf66a33956 Author: andrew Date: 2020-06-27 23:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/28bf66a33956 Added tag jdk8u262-b09 for changeset 779db06fb024 ! .hgtags Changeset: fe4307d45ad0 Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/fe4307d45ad0 Merge jdk8u262-b09 ! .hgtags Changeset: 12899d188969 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/12899d188969 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset fe4307d45ad0 ! .hgtags Changeset: 85d6ef4f35f4 Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/85d6ef4f35f4 Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset 12899d188969 ! .hgtags Changeset: de4f48e77477 Author: joehw Date: 2020-07-11 20:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/de4f48e77477 8232014: Expand DTD support Reviewed-by: lancea, dfuchs, mschoene, rhalade, aefimov ! src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java ! src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java Changeset: 63884b34cac1 Author: joehw Date: 2020-07-12 16:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/63884b34cac1 8242136: Better XML namespace handling Reviewed-by: lancea, dfuchs, skoivu, rhalade, kravikumar, mbalao, andrew ! src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java Changeset: 2d0ad8acfa69 Author: andrew Date: 2020-07-12 17:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/2d0ad8acfa69 Added tag jdk8u262-b10 for changeset 63884b34cac1 ! .hgtags Changeset: 3ddbdbf7ce96 Author: andrew Date: 2020-07-12 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/3ddbdbf7ce96 Merge jdk8u262-b10 ! .hgtags Changeset: aa391bfb10ea Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/aa391bfb10ea Added tag aarch64-shenandoah-jdk8u262-b10 for changeset 3ddbdbf7ce96 ! .hgtags Changeset: 1c5cf5eea642 Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/1c5cf5eea642 Added tag jdk8u262-ga for changeset 63884b34cac1 ! .hgtags Changeset: 3147b24fc8b0 Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/3147b24fc8b0 Added tag jdk8u265-b00 for changeset 63884b34cac1 ! .hgtags Changeset: 59bb516264a6 Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/59bb516264a6 Added tag jdk8u265-b01 for changeset 3147b24fc8b0 ! .hgtags Changeset: 25396dabacc3 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/25396dabacc3 Merge jdk8u265-b01 ! .hgtags Changeset: 43d4c8ad69e9 Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/43d4c8ad69e9 Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 25396dabacc3 ! .hgtags Changeset: 71c82e3d14cf Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/71c82e3d14cf Added tag jdk8u265-ga for changeset 3147b24fc8b0 ! .hgtags Changeset: 4734f141ae0d Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/4734f141ae0d Added tag jdk8u272-b00 for changeset 976e73cfac41 ! .hgtags Changeset: 34a9be453c73 Author: andrew Date: 2020-06-09 06:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/34a9be453c73 Merge ! .hgtags Changeset: 80af267d6aa9 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/80af267d6aa9 Merge ! .hgtags Changeset: bf1b7696bc62 Author: andrew Date: 2020-07-24 13:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/bf1b7696bc62 Merge ! .hgtags Changeset: 1bc3598fbad0 Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/1bc3598fbad0 Merge ! .hgtags Changeset: 2208000d3d2e Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/2208000d3d2e Merge jdk8u272-b01 ! .hgtags Changeset: cb243a0d0f19 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/cb243a0d0f19 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 2208000d3d2e ! .hgtags Changeset: 954f42e0d190 Author: andrew Date: 2020-08-01 03:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/954f42e0d190 Added tag jdk8u272-b01 for changeset 1bc3598fbad0 ! .hgtags Changeset: 682b2794d6f3 Author: joehw Date: 2016-05-10 16:19 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/682b2794d6f3 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README ! src/com/sun/org/apache/bcel/internal/util/InstructionFinder.java - src/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java - src/com/sun/org/apache/regexp/internal/CharacterIterator.java - src/com/sun/org/apache/regexp/internal/RE.java - src/com/sun/org/apache/regexp/internal/RECompiler.java - src/com/sun/org/apache/regexp/internal/REDebugCompiler.java - src/com/sun/org/apache/regexp/internal/REProgram.java - src/com/sun/org/apache/regexp/internal/RESyntaxException.java - src/com/sun/org/apache/regexp/internal/RETest.java - src/com/sun/org/apache/regexp/internal/REUtil.java - src/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java - src/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java - src/com/sun/org/apache/regexp/internal/StringCharacterIterator.java - src/com/sun/org/apache/regexp/internal/recompile.java Changeset: 7694bb86e023 Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/7694bb86e023 Merge Changeset: 370157535629 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/370157535629 Added tag jdk8u272-b02 for changeset 7694bb86e023 ! .hgtags Changeset: fe691799416f Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/fe691799416f Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README - src/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java - src/com/sun/org/apache/regexp/internal/CharacterIterator.java - src/com/sun/org/apache/regexp/internal/RE.java - src/com/sun/org/apache/regexp/internal/RECompiler.java - src/com/sun/org/apache/regexp/internal/REDebugCompiler.java - src/com/sun/org/apache/regexp/internal/REProgram.java - src/com/sun/org/apache/regexp/internal/RESyntaxException.java - src/com/sun/org/apache/regexp/internal/RETest.java - src/com/sun/org/apache/regexp/internal/REUtil.java - src/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java - src/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java - src/com/sun/org/apache/regexp/internal/StringCharacterIterator.java - src/com/sun/org/apache/regexp/internal/recompile.java Changeset: c84c071249db Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/c84c071249db Added tag aarch64-shenandoah-jdk8u272-b02 for changeset fe691799416f ! .hgtags Changeset: 8d8428249ca1 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/8d8428249ca1 Added tag jdk8u272-b03 for changeset 370157535629 ! .hgtags Changeset: c28f001d065c Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/c28f001d065c Merge jdk8u272-b03 ! .hgtags Changeset: fa10c68c5d1e Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/fa10c68c5d1e Added tag aarch64-shenandoah-jdk8u272-b03 for changeset c28f001d065c ! .hgtags Changeset: 89445883ffde Author: ebaron Date: 2020-08-17 13:58 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/89445883ffde 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: 36d18f0fd6ee Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/36d18f0fd6ee Added tag jdk8u272-b04 for changeset 89445883ffde ! .hgtags Changeset: 130bb8ad1e0a Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/130bb8ad1e0a Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README Changeset: e1341a1a3710 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/e1341a1a3710 Added tag aarch64-shenandoah-jdk8u272-b04 for changeset 130bb8ad1e0a ! .hgtags Changeset: cd45db6086c0 Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/cd45db6086c0 Added tag jdk8u272-b05 for changeset 36d18f0fd6ee ! .hgtags Changeset: 90d7ccdbb614 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/90d7ccdbb614 Merge jdk8u272-b05 ! .hgtags Changeset: 1cd3f49cc65d Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/1cd3f49cc65d Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 90d7ccdbb614 ! .hgtags Changeset: ba4b57c8b223 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/ba4b57c8b223 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 1cd3f49cc65d ! .hgtags From shade at redhat.com Fri Aug 28 05:51:31 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:31 +0000 Subject: hg: shenandoah/jdk8/nashorn: 41 new changesets Message-ID: <202008280551.07S5pW5d005043@aojmv0008.oracle.com> Changeset: 7348b67e1dd4 Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/7348b67e1dd4 Added tag jdk8u262-b08 for changeset 18103a6d9d49 ! .hgtags Changeset: 85c59aa59503 Author: andrew Date: 2020-06-23 16:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/85c59aa59503 Merge jdk8u262-b08 ! .hgtags Changeset: 422d91b1ffea Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/422d91b1ffea Added tag aarch64-shenandoah-jdk8u262-b08 for changeset 85c59aa59503 ! .hgtags Changeset: 15fcd98e96ac Author: andrew Date: 2020-06-27 23:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/15fcd98e96ac Added tag jdk8u262-b09 for changeset 7348b67e1dd4 ! .hgtags Changeset: 80c6c3f1c04a Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/80c6c3f1c04a Merge jdk8u262-b09 ! .hgtags Changeset: c00926def510 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/c00926def510 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset 80c6c3f1c04a ! .hgtags Changeset: 596a925f7669 Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/596a925f7669 Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset c00926def510 ! .hgtags Changeset: 0708b03140d8 Author: andrew Date: 2020-07-12 17:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0708b03140d8 Added tag jdk8u262-b10 for changeset 15fcd98e96ac ! .hgtags Changeset: 0a34fd7ba477 Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0a34fd7ba477 Merge jdk8u262-b10 ! .hgtags Changeset: 4fb199bae75b Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/4fb199bae75b Added tag aarch64-shenandoah-jdk8u262-b10 for changeset 0a34fd7ba477 ! .hgtags Changeset: 817629b1fc01 Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/817629b1fc01 Added tag jdk8u262-ga for changeset 15fcd98e96ac ! .hgtags Changeset: 124d863b2b5d Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/124d863b2b5d Added tag jdk8u265-b00 for changeset 15fcd98e96ac ! .hgtags Changeset: c0670c9c396d Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/c0670c9c396d Added tag jdk8u265-b01 for changeset 124d863b2b5d ! .hgtags Changeset: 3fcffc21f6eb Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/3fcffc21f6eb Merge jdk8u265-b01 ! .hgtags Changeset: 25011403b6c5 Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/25011403b6c5 Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 3fcffc21f6eb ! .hgtags Changeset: 65922be7a498 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/65922be7a498 Added tag jdk8u265-ga for changeset 124d863b2b5d ! .hgtags Changeset: 2a4c15a461f6 Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/2a4c15a461f6 Added tag jdk8u272-b00 for changeset e2a7c53cfa4d ! .hgtags Changeset: 1ae341d4b059 Author: andrew Date: 2020-06-09 06:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/1ae341d4b059 Merge ! .hgtags Changeset: ebe6c3bee205 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/ebe6c3bee205 Merge ! .hgtags Changeset: 04a527d98719 Author: hannesw Date: 2017-12-08 12:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/04a527d98719 8193137: Nashorn crashes when given an empty script file Reviewed-by: hannesw, sundar Contributed-by: priya.lakshmi.muthuswamy at oracle.com ! src/jdk/nashorn/tools/Shell.java + test/script/nosecurity/JDK-8193137.js Changeset: 2148192430f1 Author: andrew Date: 2020-07-24 13:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/2148192430f1 Merge ! .hgtags Changeset: ab242949177c Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/ab242949177c Merge ! .hgtags Changeset: 39a5532d595a Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/39a5532d595a Merge jdk8u272-b01 ! .hgtags Changeset: 6fb82e4a1eb3 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/6fb82e4a1eb3 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 39a5532d595a ! .hgtags Changeset: aaf3f5ef88ec Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/aaf3f5ef88ec Added tag jdk8u272-b01 for changeset ab242949177c ! .hgtags Changeset: 891522de716b Author: shade Date: 2020-07-29 09:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/891522de716b 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: cf78b728ecca Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/cf78b728ecca Merge Changeset: 1409bb48eea8 Author: andrew Date: 2020-08-06 21:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/1409bb48eea8 Added tag jdk8u272-b02 for changeset cf78b728ecca ! .hgtags Changeset: 2d5e96d811f7 Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/2d5e96d811f7 Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README Changeset: c3d60ae7494e Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/c3d60ae7494e Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 2d5e96d811f7 ! .hgtags Changeset: 3ec8076f73ab Author: andrew Date: 2020-08-13 08:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/3ec8076f73ab Added tag jdk8u272-b03 for changeset 1409bb48eea8 ! .hgtags Changeset: e078a6919c87 Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/e078a6919c87 Merge jdk8u272-b03 ! .hgtags Changeset: 0840cfa0d8ec Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0840cfa0d8ec Added tag aarch64-shenandoah-jdk8u272-b03 for changeset e078a6919c87 ! .hgtags Changeset: d90c85ae0004 Author: ebaron Date: 2020-08-17 14:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/d90c85ae0004 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: 5e0be06a9cf2 Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/5e0be06a9cf2 Added tag jdk8u272-b04 for changeset d90c85ae0004 ! .hgtags Changeset: f305e6461406 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/f305e6461406 Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README Changeset: 3e5b50ed717f Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/3e5b50ed717f Added tag aarch64-shenandoah-jdk8u272-b04 for changeset f305e6461406 ! .hgtags Changeset: 50e340db47ea Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/50e340db47ea Added tag jdk8u272-b05 for changeset 5e0be06a9cf2 ! .hgtags Changeset: 7845e5e3d859 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/7845e5e3d859 Merge jdk8u272-b05 ! .hgtags Changeset: 77b66fd913c9 Author: andrew Date: 2020-08-27 06:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/77b66fd913c9 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 7845e5e3d859 ! .hgtags Changeset: 6acf7ab00153 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/6acf7ab00153 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 77b66fd913c9 ! .hgtags From shade at redhat.com Fri Aug 28 05:51:34 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:34 +0000 Subject: hg: shenandoah/jdk8: 42 new changesets Message-ID: <202008280551.07S5pYWp005230@aojmv0008.oracle.com> Changeset: 2bab25ddc567 Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/2bab25ddc567 Added tag jdk8u262-b08 for changeset 59b2de0b2c60 ! .hgtags Changeset: 2894b6cf15af Author: andrew Date: 2020-06-23 16:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/2894b6cf15af Merge jdk8u262-b08 ! .hgtags Changeset: 8dfedf5db013 Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8dfedf5db013 Added tag aarch64-shenandoah-jdk8u262-b08 for changeset 2894b6cf15af ! .hgtags Changeset: 94d3d8c74ed6 Author: andrew Date: 2020-06-27 23:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/94d3d8c74ed6 Added tag jdk8u262-b09 for changeset 2bab25ddc567 ! .hgtags Changeset: 8cf1c718551e Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8cf1c718551e Merge jdk8u262-b09 ! .hgtags Changeset: 0425ea5da671 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/0425ea5da671 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset 8cf1c718551e ! .hgtags Changeset: 6a44fe1a7b5d Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6a44fe1a7b5d Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset 0425ea5da671 ! .hgtags Changeset: 6d223f436353 Author: andrew Date: 2020-07-12 17:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6d223f436353 Added tag jdk8u262-b10 for changeset 94d3d8c74ed6 ! .hgtags Changeset: c440cfd26adb Author: andrew Date: 2020-07-12 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/c440cfd26adb Merge jdk8u262-b10 ! .hgtags Changeset: b301d9df1c36 Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/b301d9df1c36 Added tag aarch64-shenandoah-jdk8u262-b10 for changeset c440cfd26adb ! .hgtags Changeset: 6bcd37dc6cbe Author: andrew Date: 2020-07-14 17:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6bcd37dc6cbe Added tag jdk8u262-ga for changeset 94d3d8c74ed6 ! .hgtags Changeset: 6cc620acc684 Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6cc620acc684 Added tag jdk8u265-b00 for changeset 94d3d8c74ed6 ! .hgtags Changeset: 52b8089a548c Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/52b8089a548c Added tag jdk8u265-b01 for changeset 6cc620acc684 ! .hgtags Changeset: 54c3b178e7a0 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/54c3b178e7a0 Merge jdk8u265-b01 ! .hgtags Changeset: a5dedef97120 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/a5dedef97120 Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 54c3b178e7a0 ! .hgtags Changeset: f21321e94793 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/f21321e94793 Added tag jdk8u265-ga for changeset 6cc620acc684 ! .hgtags Changeset: 7dea4754bd99 Author: andrew Date: 2020-06-03 01:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7dea4754bd99 8246384: Enable JFR by default on supported architectures for October 2020 release Reviewed-by: aph, neugens ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 8054f6ed5d43 Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8054f6ed5d43 Added tag jdk8u272-b00 for changeset ecb485e1572c ! .hgtags Changeset: ba2f9cd8b063 Author: andrew Date: 2020-06-09 06:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/ba2f9cd8b063 Merge ! .hgtags Changeset: a8da94d779b3 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/a8da94d779b3 Merge ! .hgtags Changeset: c75ad083817f Author: andrew Date: 2020-07-24 13:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/c75ad083817f Merge ! .hgtags Changeset: 1bda51d3d528 Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/1bda51d3d528 Merge ! .hgtags Changeset: 4f46636c0c80 Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/4f46636c0c80 Merge jdk8u272-b01 ! .hgtags ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 3965f77fe2d4 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/3965f77fe2d4 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 4f46636c0c80 ! .hgtags Changeset: 91e8e866f772 Author: andrew Date: 2020-08-01 03:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/91e8e866f772 Added tag jdk8u272-b01 for changeset 1bda51d3d528 ! .hgtags Changeset: 834c6a13c8c8 Author: shade Date: 2020-07-29 09:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/834c6a13c8c8 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: 741aff26fe61 Author: jvanek Date: 2020-08-06 06:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/741aff26fe61 8154313: Generated javadoc scattered all over the place Summary: Added new top level target zip-docs which scans all generated javadocs and prepare zip-archive in way understandable to most IDEs Reviewed-by: sgehwolf, andrew ! make/Javadoc.gmk ! make/Main.gmk Changeset: 1059e4b7426a Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/1059e4b7426a Merge Changeset: fbad06cacb73 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/fbad06cacb73 Added tag jdk8u272-b02 for changeset 1059e4b7426a ! .hgtags Changeset: 10eb16496624 Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/10eb16496624 Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README Changeset: 11823e500b27 Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/11823e500b27 Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 10eb16496624 ! .hgtags Changeset: 7872ad3ea913 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7872ad3ea913 Added tag jdk8u272-b03 for changeset fbad06cacb73 ! .hgtags Changeset: 7b7de8952286 Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7b7de8952286 Merge jdk8u272-b03 ! .hgtags Changeset: 71deb379e419 Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/71deb379e419 Added tag aarch64-shenandoah-jdk8u272-b03 for changeset 7b7de8952286 ! .hgtags Changeset: a0dd128191fd Author: ebaron Date: 2020-08-17 14:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/a0dd128191fd 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: afbc213b114c Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/afbc213b114c Added tag jdk8u272-b04 for changeset a0dd128191fd ! .hgtags Changeset: 212a533d9dd0 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/212a533d9dd0 Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README Changeset: 73b65b59c81b Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/73b65b59c81b Added tag aarch64-shenandoah-jdk8u272-b04 for changeset 212a533d9dd0 ! .hgtags Changeset: e11fcc125c6d Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/e11fcc125c6d Added tag jdk8u272-b05 for changeset afbc213b114c ! .hgtags Changeset: ef79284c8c05 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/ef79284c8c05 Merge jdk8u272-b05 ! .hgtags Changeset: 95b6dda020a8 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/95b6dda020a8 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset ef79284c8c05 ! .hgtags Changeset: cc0706d0f889 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/cc0706d0f889 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 95b6dda020a8 ! .hgtags From shade at redhat.com Fri Aug 28 05:51:35 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:35 +0000 Subject: hg: shenandoah/jdk8/langtools: 42 new changesets Message-ID: <202008280551.07S5paiS005287@aojmv0008.oracle.com> Changeset: 747fe2026aa8 Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/747fe2026aa8 Added tag jdk8u262-b08 for changeset ac5fce891621 ! .hgtags Changeset: b082d5f38ec3 Author: andrew Date: 2020-06-23 16:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b082d5f38ec3 Merge jdk8u262-b08 ! .hgtags Changeset: 2c83c365f11a Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/2c83c365f11a Added tag aarch64-shenandoah-jdk8u262-b08 for changeset b082d5f38ec3 ! .hgtags Changeset: fd4d3f8b2c2d Author: andrew Date: 2020-06-27 23:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/fd4d3f8b2c2d Added tag jdk8u262-b09 for changeset 747fe2026aa8 ! .hgtags Changeset: 3f85c827bc9b Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/3f85c827bc9b Merge jdk8u262-b09 ! .hgtags Changeset: bd798c97276e Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/bd798c97276e Added tag aarch64-shenandoah-jdk8u262-b09 for changeset 3f85c827bc9b ! .hgtags Changeset: 2f0daeadc282 Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/2f0daeadc282 Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset bd798c97276e ! .hgtags Changeset: 7055edca396a Author: andrew Date: 2020-07-12 17:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/7055edca396a Added tag jdk8u262-b10 for changeset fd4d3f8b2c2d ! .hgtags Changeset: a3b746024f52 Author: andrew Date: 2020-07-12 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a3b746024f52 Merge jdk8u262-b10 ! .hgtags Changeset: af4d954e53a3 Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/af4d954e53a3 Added tag aarch64-shenandoah-jdk8u262-b10 for changeset a3b746024f52 ! .hgtags Changeset: a9454c2e54bf Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a9454c2e54bf Added tag jdk8u262-ga for changeset fd4d3f8b2c2d ! .hgtags Changeset: e0342245812a Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/e0342245812a Added tag jdk8u265-b00 for changeset fd4d3f8b2c2d ! .hgtags Changeset: 2adbbb1db101 Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/2adbbb1db101 Added tag jdk8u265-b01 for changeset e0342245812a ! .hgtags Changeset: 08424f4d5748 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/08424f4d5748 Merge jdk8u265-b01 ! .hgtags Changeset: cd895a3e4ad0 Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/cd895a3e4ad0 Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 08424f4d5748 ! .hgtags Changeset: cc8dab695915 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/cc8dab695915 Added tag jdk8u265-ga for changeset e0342245812a ! .hgtags Changeset: 185c5859ecc8 Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/185c5859ecc8 Added tag jdk8u272-b00 for changeset 07fc22e7080d ! .hgtags Changeset: 6cde7405d69e Author: andrew Date: 2020-06-09 06:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6cde7405d69e Merge ! .hgtags Changeset: 0db1cfa4dbc4 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/0db1cfa4dbc4 Merge ! .hgtags Changeset: d32c7447d4c0 Author: andrew Date: 2020-07-24 13:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/d32c7447d4c0 Merge ! .hgtags Changeset: 242d0ecf82e4 Author: bpatel Date: 2014-03-25 22:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/242d0ecf82e4 8031625: javadoc problems referencing inner class constructors Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java ! test/com/sun/javadoc/testConstructors/TestConstructors.java ! test/com/sun/javadoc/testConstructors/pkg1/Outer.java Changeset: 6011510e3c4e Author: andrew Date: 2020-07-24 13:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6011510e3c4e Merge Changeset: a51cd1abb0c9 Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a51cd1abb0c9 Merge ! .hgtags Changeset: a744b6caec3e Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a744b6caec3e Merge jdk8u272-b01 ! .hgtags Changeset: 6238f519b1eb Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6238f519b1eb Added tag aarch64-shenandoah-jdk8u272-b01 for changeset a744b6caec3e ! .hgtags Changeset: 45fb59535711 Author: andrew Date: 2020-08-01 03:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/45fb59535711 Added tag jdk8u272-b01 for changeset a51cd1abb0c9 ! .hgtags Changeset: 386a7083c3b1 Author: shade Date: 2020-07-29 09:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/386a7083c3b1 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: 54f67143c956 Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/54f67143c956 Merge Changeset: 4e02b68de458 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4e02b68de458 Added tag jdk8u272-b02 for changeset 54f67143c956 ! .hgtags Changeset: 8f5a886fa53b Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/8f5a886fa53b Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README Changeset: cab55cd92864 Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/cab55cd92864 Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 8f5a886fa53b ! .hgtags Changeset: 35842246f661 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/35842246f661 Added tag jdk8u272-b03 for changeset 4e02b68de458 ! .hgtags Changeset: b716212328d1 Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b716212328d1 Merge jdk8u272-b03 ! .hgtags Changeset: 7958dd03be50 Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/7958dd03be50 Added tag aarch64-shenandoah-jdk8u272-b03 for changeset b716212328d1 ! .hgtags Changeset: a317abfcbd90 Author: ebaron Date: 2020-08-17 13:59 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a317abfcbd90 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: f1fa9a70296a Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/f1fa9a70296a Added tag jdk8u272-b04 for changeset a317abfcbd90 ! .hgtags Changeset: bed571da1310 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/bed571da1310 Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README Changeset: 0fd572c713d1 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/0fd572c713d1 Added tag aarch64-shenandoah-jdk8u272-b04 for changeset bed571da1310 ! .hgtags Changeset: aa32c20ca8f1 Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/aa32c20ca8f1 Added tag jdk8u272-b05 for changeset f1fa9a70296a ! .hgtags Changeset: 6e217f72c521 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6e217f72c521 Merge jdk8u272-b05 ! .hgtags Changeset: 531bbb9f33d1 Author: andrew Date: 2020-08-27 06:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/531bbb9f33d1 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 6e217f72c521 ! .hgtags Changeset: d4b2ef35c1b4 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/d4b2ef35c1b4 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 531bbb9f33d1 ! .hgtags From shade at redhat.com Fri Aug 28 05:51:36 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:36 +0000 Subject: hg: shenandoah/jdk8/jaxws: 40 new changesets Message-ID: <202008280551.07S5pbvi005303@aojmv0008.oracle.com> Changeset: cd7ed8c64805 Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/cd7ed8c64805 Added tag jdk8u262-b08 for changeset cb41a9e2bafd ! .hgtags Changeset: f7cc194bdd78 Author: andrew Date: 2020-06-23 16:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/f7cc194bdd78 Merge jdk8u262-b08 ! .hgtags Changeset: aa667d31a77b Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/aa667d31a77b Added tag aarch64-shenandoah-jdk8u262-b08 for changeset f7cc194bdd78 ! .hgtags Changeset: 7347ed2df76b Author: andrew Date: 2020-06-27 23:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/7347ed2df76b Added tag jdk8u262-b09 for changeset cd7ed8c64805 ! .hgtags Changeset: 81ceecc4782b Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/81ceecc4782b Merge jdk8u262-b09 ! .hgtags Changeset: 705157e76c66 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/705157e76c66 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset 81ceecc4782b ! .hgtags Changeset: 90cb52f7dbee Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/90cb52f7dbee Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset 705157e76c66 ! .hgtags Changeset: c40ea39b627c Author: andrew Date: 2020-07-12 17:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c40ea39b627c Added tag jdk8u262-b10 for changeset 7347ed2df76b ! .hgtags Changeset: f0cad77708e2 Author: andrew Date: 2020-07-12 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/f0cad77708e2 Merge jdk8u262-b10 ! .hgtags Changeset: ba48ffce174c Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/ba48ffce174c Added tag aarch64-shenandoah-jdk8u262-b10 for changeset f0cad77708e2 ! .hgtags Changeset: 0c9e990645d2 Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/0c9e990645d2 Added tag jdk8u262-ga for changeset 7347ed2df76b ! .hgtags Changeset: 94d6ff459027 Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/94d6ff459027 Added tag jdk8u265-b00 for changeset 7347ed2df76b ! .hgtags Changeset: 7e7d2d544e1e Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/7e7d2d544e1e Added tag jdk8u265-b01 for changeset 94d6ff459027 ! .hgtags Changeset: 548b6c9ea028 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/548b6c9ea028 Merge jdk8u265-b01 ! .hgtags Changeset: d43a8b2aa34f Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d43a8b2aa34f Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 548b6c9ea028 ! .hgtags Changeset: c4eab0f1a6b1 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c4eab0f1a6b1 Added tag jdk8u265-ga for changeset 94d6ff459027 ! .hgtags Changeset: fe9de736d96a Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/fe9de736d96a Added tag jdk8u272-b00 for changeset 96946cef7ead ! .hgtags Changeset: a7ab807a2772 Author: andrew Date: 2020-06-09 06:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/a7ab807a2772 Merge ! .hgtags Changeset: a3a35604e5d6 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/a3a35604e5d6 Merge ! .hgtags Changeset: f232ada41a44 Author: andrew Date: 2020-07-24 13:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/f232ada41a44 Merge ! .hgtags Changeset: 38d13ac335fe Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/38d13ac335fe Merge ! .hgtags Changeset: 1b7952adf3fd Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/1b7952adf3fd Merge jdk8u272-b01 ! .hgtags Changeset: a2dd4850c393 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/a2dd4850c393 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 1b7952adf3fd ! .hgtags Changeset: f80fd05ef28e Author: andrew Date: 2020-08-01 03:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/f80fd05ef28e Added tag jdk8u272-b01 for changeset 38d13ac335fe ! .hgtags Changeset: ea5a0882d747 Author: shade Date: 2020-07-29 09:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/ea5a0882d747 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: 7aeb5d972262 Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/7aeb5d972262 Merge Changeset: c87827b363e7 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c87827b363e7 Added tag jdk8u272-b02 for changeset 7aeb5d972262 ! .hgtags Changeset: 69ac3fa44dad Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/69ac3fa44dad Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README Changeset: 50672b95cb58 Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/50672b95cb58 Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 69ac3fa44dad ! .hgtags Changeset: f19a2163b2d0 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/f19a2163b2d0 Added tag jdk8u272-b03 for changeset c87827b363e7 ! .hgtags Changeset: c45f4f329693 Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c45f4f329693 Merge jdk8u272-b03 ! .hgtags Changeset: 80c21e063e9f Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/80c21e063e9f Added tag aarch64-shenandoah-jdk8u272-b03 for changeset c45f4f329693 ! .hgtags Changeset: d73f32c769de Author: ebaron Date: 2020-08-17 13:59 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d73f32c769de 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: 5c3121f14399 Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/5c3121f14399 Added tag jdk8u272-b04 for changeset d73f32c769de ! .hgtags Changeset: 9fbed7942ca2 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/9fbed7942ca2 Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README Changeset: b1d67cd374dc Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/b1d67cd374dc Added tag aarch64-shenandoah-jdk8u272-b04 for changeset 9fbed7942ca2 ! .hgtags Changeset: 9de7dfdfb091 Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/9de7dfdfb091 Added tag jdk8u272-b05 for changeset 5c3121f14399 ! .hgtags Changeset: 4c7a18a95a85 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/4c7a18a95a85 Merge jdk8u272-b05 ! .hgtags Changeset: 9034402cffe9 Author: andrew Date: 2020-08-27 06:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/9034402cffe9 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 4c7a18a95a85 ! .hgtags Changeset: 521f5f264d87 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/521f5f264d87 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 9034402cffe9 ! .hgtags From shade at redhat.com Fri Aug 28 05:51:41 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:41 +0000 Subject: hg: shenandoah/jdk8/hotspot: 98 new changesets Message-ID: <202008280551.07S5pgI6005799@aojmv0008.oracle.com> Changeset: d2c2cd90513e Author: apetushkov Date: 2020-06-17 11:43 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d2c2cd90513e 8220293: Deadlock in JFR string pool Reviewed-by: rehn, egahlin ! src/share/vm/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/share/vm/jfr/recorder/storage/jfrBuffer.cpp ! src/share/vm/jfr/recorder/storage/jfrBuffer.hpp ! src/share/vm/jfr/recorder/storage/jfrMemorySpace.inline.hpp ! src/share/vm/jfr/recorder/storage/jfrStorage.cpp ! src/share/vm/jfr/recorder/storage/jfrStorageUtils.hpp ! src/share/vm/jfr/recorder/storage/jfrStorageUtils.inline.hpp ! src/share/vm/jfr/recorder/stringpool/jfrStringPool.cpp ! src/share/vm/jfr/recorder/stringpool/jfrStringPoolBuffer.cpp Changeset: cf6e3496e19a Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cf6e3496e19a Added tag jdk8u262-b08 for changeset d2c2cd90513e ! .hgtags Changeset: 13d6b577bb1d Author: andrew Date: 2020-06-23 16:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/13d6b577bb1d Merge jdk8u262-b08 ! .hgtags Changeset: af7469862529 Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/af7469862529 Added tag aarch64-shenandoah-jdk8u262-b08 for changeset 13d6b577bb1d ! .hgtags Changeset: 93cfec0cf417 Author: rkennke Date: 2020-07-04 00:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/93cfec0cf417 Merge Changeset: 311225d8a417 Author: fyang Date: 2020-07-06 06:58 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/311225d8a417 8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield Reviewed-by: aph Contributed-by: songyaofei2 at huawei.com ! src/cpu/aarch64/vm/templateTable_aarch64.cpp Changeset: 1c6e1f187fdc Author: andrew Date: 2020-06-27 23:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1c6e1f187fdc Added tag jdk8u262-b09 for changeset cf6e3496e19a ! .hgtags Changeset: 55d24be65df8 Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/55d24be65df8 Merge jdk8u262-b09 ! .hgtags Changeset: a7748840f6d7 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a7748840f6d7 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset 55d24be65df8 ! .hgtags Changeset: 05ec7f0e4188 Author: andrew Date: 2020-07-07 15:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/05ec7f0e4188 Merge Changeset: f8d1faf2f52c Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f8d1faf2f52c Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset 05ec7f0e4188 ! .hgtags Changeset: 591f3f2fc9c3 Author: andrew Date: 2020-07-07 17:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/591f3f2fc9c3 Merge Changeset: f9693cc545b4 Author: andrew Date: 2020-07-12 17:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f9693cc545b4 Added tag jdk8u262-b10 for changeset 1c6e1f187fdc ! .hgtags Changeset: c0de98bd0cbd Author: andrew Date: 2020-07-12 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c0de98bd0cbd Merge jdk8u262-b10 ! .hgtags Changeset: 3e9f676ab432 Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3e9f676ab432 Added tag aarch64-shenandoah-jdk8u262-b10 for changeset c0de98bd0cbd ! .hgtags Changeset: 0a305add3627 Author: andrew Date: 2020-07-14 22:44 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0a305add3627 Merge Changeset: 30f66663da0d Author: dsamersoff Date: 2018-06-24 15:02 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/30f66663da0d 8203481: Incorrect constraint for unextended_sp in frame:safe_for_sender Summary: Relaxed assert inside safe_for_sender Reviewed-by: aph, dpochepk ! src/cpu/aarch64/vm/frame_aarch64.cpp Changeset: bace48b16628 Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/bace48b16628 Added tag jdk8u262-ga for changeset 1c6e1f187fdc ! .hgtags Changeset: 3bd5ac4488a3 Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3bd5ac4488a3 Added tag jdk8u265-b00 for changeset 1c6e1f187fdc ! .hgtags Changeset: 5fd1f66f27a4 Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/5fd1f66f27a4 Added tag jdk8u265-b01 for changeset 3bd5ac4488a3 ! .hgtags Changeset: 091ec2e29881 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/091ec2e29881 Merge jdk8u265-b01 ! .hgtags Changeset: 86ec9f66c77c Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/86ec9f66c77c Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 091ec2e29881 ! .hgtags Changeset: 19f650cbb25b Author: andrew Date: 2020-07-31 20:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/19f650cbb25b Merge Changeset: e385349cb315 Author: aph Date: 2016-07-08 17:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e385349cb315 8161072: AArch64: jtreg compiler/uncommontrap/TestDeoptOOM failure Reviewed-by: roland ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Changeset: f4a4edf250cc Author: enevill Date: 2016-12-20 15:49 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f4a4edf250cc 8171537: aarch64: compiler/c1/Test6849574.java generates guarantee failure in C1 Reviewed-by: aph ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Changeset: ab3ff63f7cd5 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ab3ff63f7cd5 Added tag jdk8u265-ga for changeset 3bd5ac4488a3 ! .hgtags Changeset: 610401238989 Author: andrew Date: 2020-06-03 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/610401238989 Added tag jdk8u272-b00 for changeset f7691a80458c ! .hgtags Changeset: 45c8de52649c Author: ddong Date: 2020-06-02 14:29 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/45c8de52649c 8246310: Clean commented-out code about ModuleEntry andPackageEntry in JFR Reviewed-by: adinn ! src/share/vm/jfr/jni/jfrJavaSupport.cpp ! src/share/vm/jfr/metadata/metadata.xml ! src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.hpp ! src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp ! src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp ! src/share/vm/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp ! src/share/vm/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/share/vm/jfr/writers/jfrWriterHost.hpp ! src/share/vm/jfr/writers/jfrWriterHost.inline.hpp Changeset: eddd586d1a4c Author: mgronlun Date: 2014-02-22 10:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/eddd586d1a4c 8035493: JVMTI PopFrame capability must instruct compilers not to prune locals Reviewed-by: kvn, sla, coleenp, sspitsyn ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_ValueStack.cpp ! src/share/vm/c1/c1_ValueStack.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/graphKit.cpp Changeset: 423fa1fba08e Author: andrew Date: 2020-06-09 06:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/423fa1fba08e Merge ! .hgtags Changeset: 26d1803768c7 Author: jbachorik Date: 2020-06-11 12:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/26d1803768c7 8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing Reviewed-by: sspitsyn, egahlin ! src/share/vm/jfr/instrumentation/jfrJvmtiAgent.cpp ! src/share/vm/jfr/jfr.cpp ! src/share/vm/jfr/jfr.hpp ! src/share/vm/jfr/jni/jfrJavaSupport.cpp ! src/share/vm/jfr/jni/jfrJavaSupport.hpp ! src/share/vm/jfr/jni/jfrJniMethod.cpp ! src/share/vm/jfr/recorder/jfrRecorder.cpp ! src/share/vm/jfr/recorder/jfrRecorder.hpp ! src/share/vm/jfr/recorder/service/jfrOptionSet.cpp ! src/share/vm/jfr/recorder/service/jfrOptionSet.hpp ! src/share/vm/runtime/thread.cpp + test/runtime/8233197/T.java + test/runtime/8233197/Test8233197.sh + test/runtime/8233197/libJvmtiAgent.c Changeset: 1edff9dfe606 Author: mchinnathamb Date: 2018-10-26 18:35 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1edff9dfe606 8211714: Need to update vm_version.cpp to recognise VS2017 minor versions Reviewed-by: dholmes ! src/share/vm/runtime/vm_version.cpp Changeset: 103d1261f1f4 Author: mbaesken Date: 2019-12-06 12:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/103d1261f1f4 8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version 8235325: build failure on Linux after 8235243 Reviewed-by: dholmes, mdoerr ! src/share/vm/runtime/vm_version.cpp Changeset: db357034b763 Author: bulasevich Date: 2020-06-16 11:03 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/db357034b763 8217647: JFR: recordings on 32-bit systems unreadable Reviewed-by: egahlin Contributed-by: boris.ulasevich at bell-sw.com, markus.gronlund at oracle.com ! src/share/vm/jfr/recorder/checkpoint/jfrCheckpointWriter.cpp ! src/share/vm/jfr/recorder/checkpoint/jfrCheckpointWriter.hpp ! src/share/vm/jfr/recorder/checkpoint/types/jfrType.cpp ! src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSetWriter.hpp ! src/share/vm/jfr/recorder/repository/jfrChunkState.cpp ! src/share/vm/jfr/recorder/repository/jfrChunkState.hpp ! src/share/vm/jfr/recorder/repository/jfrChunkWriter.cpp ! src/share/vm/jfr/recorder/repository/jfrChunkWriter.hpp ! src/share/vm/jfr/recorder/repository/jfrRepository.cpp ! src/share/vm/jfr/recorder/repository/jfrRepository.hpp ! src/share/vm/jfr/recorder/service/jfrRecorderService.cpp ! src/share/vm/jfr/writers/jfrEventWriterHost.inline.hpp ! src/share/vm/jfr/writers/jfrPosition.hpp ! src/share/vm/jfr/writers/jfrPosition.inline.hpp ! src/share/vm/jfr/writers/jfrStreamWriterHost.hpp ! src/share/vm/jfr/writers/jfrStreamWriterHost.inline.hpp ! src/share/vm/jfr/writers/jfrWriterHost.hpp ! src/share/vm/jfr/writers/jfrWriterHost.inline.hpp Changeset: ae4fc0906f45 Author: stefank Date: 2016-04-11 08:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ae4fc0906f45 8153583: Make OutputAnalyzer.reportDiagnosticSummary public Reviewed-by: brutisso, sjohanss ! test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java Changeset: fb74ae591209 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fb74ae591209 Merge ! .hgtags ! src/share/vm/jfr/jni/jfrJavaSupport.cpp ! src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/share/vm/jfr/recorder/checkpoint/types/jfrTypeSet.hpp ! src/share/vm/runtime/thread.cpp Changeset: f3ceb2e8bd21 Author: kevinw Date: 2020-03-09 12:54 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f3ceb2e8bd21 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/share/vm/runtime/os.cpp Changeset: 2f07f8d27acf Author: mbaesken Date: 2020-03-30 17:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2f07f8d27acf 8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG Reviewed-by: mdoerr ! src/share/vm/opto/escape.cpp Changeset: 19056c781208 Author: roland Date: 2020-01-28 13:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/19056c781208 8237951: CTW: C2 compilation fails with "malformed control flow" Reviewed-by: vlivanov, kvn ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp Changeset: 8a8f679915aa Author: roland Date: 2016-10-10 17:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8a8f679915aa 8167300: Scheduling failures during gcm should be fatal Reviewed-by: kvn, mcberg ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/lcm.cpp Changeset: 1f0cffcf648a Author: phh Date: 2020-07-02 18:09 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1f0cffcf648a 8006205: [TESTBUG] NEED_TEST: please JTREGIFY test/compiler/7177917/Test7177917.java Summary: Update header comment to run with jtreg Reviewed-by: phh, sgehwolf Contributed-by: tianshi at amazon.com ! test/compiler/7177917/Test7177917.java Changeset: 02b4fd2f9041 Author: zgu Date: 2020-07-02 16:51 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/02b4fd2f9041 8248643: Remove extra leading space in JDK-8240295 8u backport Reviewed-by: kevinw, tschatzl ! src/share/vm/runtime/os.cpp Changeset: d961c6fee216 Author: andrew Date: 2020-07-24 13:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d961c6fee216 Merge ! .hgtags Changeset: d2ec2776ad0c Author: roland Date: 2020-03-09 17:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d2ec2776ad0c 8214862: assert(proj != __null) at compile.cpp:3251 Reviewed-by: kvn, thartmann ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/phaseX.cpp + test/compiler/inlining/StringConcatInfiniteLoop.java Changeset: 147bfde2dfd4 Author: andrew Date: 2020-07-24 13:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/147bfde2dfd4 Merge Changeset: ccdd791d3a6f Author: jbachorik Date: 2020-07-28 09:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ccdd791d3a6f 8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions Reviewed-by: jbachorik Contributed-by: Nikolay Martynov ! src/share/vm/jfr/periodic/jfrThreadCPULoadEvent.cpp Changeset: 8c3972a290c0 Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8c3972a290c0 Merge ! .hgtags Changeset: be13f53a2a55 Author: thartmann Date: 2019-12-03 08:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/be13f53a2a55 8234617: C1: Incorrect result of field load due to missing narrowing conversion Summary: Emit an explicit conversion to get the correct field value after the write. Reviewed-by: vlivanov, mdoerr, phh, andrew ! src/share/vm/c1/c1_GraphBuilder.cpp + test/compiler/conversions/Conversion.jasm + test/compiler/conversions/TestPrimitiveConversions.java Changeset: 85c9d74850ed Author: igerasim Date: 2019-09-10 09:08 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/85c9d74850ed 8230303: JDB hangs when running monitor command Reviewed-by: sspitsyn + test/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java + test/vmTestbase/nsk/jdb/monitor/monitor002/monitor002a.java Changeset: 014319f04f71 Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/014319f04f71 Merge jdk8u272-b01 ! .hgtags ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vm_version.cpp Changeset: 0a6f06133453 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0a6f06133453 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 014319f04f71 ! .hgtags Changeset: e06616a839d0 Author: andrew Date: 2020-08-06 06:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e06616a839d0 Merge Changeset: eeb2f76383f2 Author: fyang Date: 2019-04-08 14:40 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/eeb2f76383f2 8221658: aarch64: add necessary predicate for ubfx patterns Reviewed-by: aph ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/aarch64_ad.m4 Changeset: 7b0c9ad6dcbd Author: fyang Date: 2020-08-12 19:59 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7b0c9ad6dcbd 8203699: java/lang/invoke/SpecialInterfaceCall fails with SIGILL on aarch64 Summary: fastdebug build fails with SIGILL Reviewed-by: shade, drwhite, aph ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Changeset: 741cd0f77fac Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/741cd0f77fac Added tag jdk8u272-b01 for changeset 85c9d74850ed ! .hgtags Changeset: 45ec778a8e8d Author: shade Date: 2020-07-29 09:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/45ec778a8e8d 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: c39172598323 Author: poonam Date: 2020-03-23 17:57 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c39172598323 8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate Reviewed-by: dlong, tschatzl, pliden ! src/share/vm/memory/threadLocalAllocBuffer.cpp Changeset: baf9f57c9b46 Author: coleenp Date: 2014-05-05 19:53 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/baf9f57c9b46 8023697: failed class resolution reports different class name in detail message for the first and subsequent times Summary: Cache detail message when we cache exception for constant pool resolution. Reviewed-by: acorn, twisti, jrose ! src/share/vm/classfile/resolutionErrors.cpp ! src/share/vm/classfile/resolutionErrors.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/constantTag.hpp + test/runtime/ClassResolutionFail/Property.java + test/runtime/ClassResolutionFail/PropertySuper.java + test/runtime/ClassResolutionFail/TestClassResolutionFail.java Changeset: 7ada1402bda0 Author: ysuenaga Date: 2019-04-24 17:09 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7ada1402bda0 8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero Reviewed-by: egahlin, mgronlun, neugens, andrew ! src/share/vm/jfr/periodic/sampling/jfrCallTrace.cpp ! src/share/vm/jfr/recorder/service/jfrOptionSet.cpp ! src/share/vm/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp ! src/share/vm/jfr/utilities/jfrTypes.hpp Changeset: 9a8c9d2291bb Author: jcm Date: 2017-01-24 20:47 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9a8c9d2291bb 8173300: [TESTBUG]compiler/tiered/NonTieredLevelsTest.java fails with compiler.whitebox.SimpleTestCaseHelper(int) must be compiled Summary: Corrected available compilation levels for client builds. Reviewed-by: kvn ! test/compiler/tiered/NonTieredLevelsTest.java Changeset: 40f45911050f Author: zgu Date: 2016-08-25 09:23 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/40f45911050f 8148854: Class names "SomeClass" and "LSomeClass;" treated by JVM as an equivalent Summary: Added default format checking of class names loaded by the app class loader Reviewed-by: andrew ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/runtime/reflection.cpp + test/runtime/ClassFile/BadHelloWorld.jcod + test/runtime/ClassFile/FormatCheckingTest.java Changeset: f614bd5c9561 Author: coleenp Date: 2014-07-09 22:37 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f614bd5c9561 8048933: -XX:+TraceExceptions output should include the message Summary: Add the exception detail message to the tracing output Reviewed-by: minqi, dholmes ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/constantPool.cpp + test/runtime/CommandLine/TraceExceptionsTest.java Changeset: 414c1dcfc3f3 Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/414c1dcfc3f3 Merge Changeset: 182c3887f2e6 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/182c3887f2e6 Added tag jdk8u272-b02 for changeset 414c1dcfc3f3 ! .hgtags Changeset: 21931e4cd1dc Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/21931e4cd1dc Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/constantTag.hpp Changeset: cdd717f72101 Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cdd717f72101 Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 21931e4cd1dc ! .hgtags Changeset: 0db44af78de2 Author: andrew Date: 2020-08-18 06:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0db44af78de2 Merge Changeset: ed70d5208f5f Author: fyang Date: 2020-06-22 20:26 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ed70d5208f5f 8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg Reviewed-by: adinn Contributed-by: wangyadong4 at huawei.com ! src/cpu/aarch64/vm/aarch64.ad Changeset: a06d5e5fe5e0 Author: ddong Date: 2020-07-31 15:52 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a06d5e5fe5e0 8250875: Incorrect parameter type for update_number in JDK_Version::jdk_update Reviewed-by: phh, sgehwolf ! src/share/vm/runtime/java.hpp Changeset: b51d1dd00420 Author: andrew Date: 2020-08-13 06:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b51d1dd00420 Merge Changeset: 184f430ac1a2 Author: fyang Date: 2020-07-17 07:03 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/184f430ac1a2 8248851: CMS: Missing memory fences between free chunk check and klass read Reviewed-by: aph, kbarrett, dholmes Contributed-by: wangshuai94 at huawei.com ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Changeset: f415b5fea90d Author: egahlin Date: 2019-06-06 20:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f415b5fea90d 8216283: Allow shorter method sampling interval than 10 ms Reviewed-by: mgronlun ! src/share/vm/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: e649f2136368 Author: zmajo Date: 2016-03-21 09:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e649f2136368 8148754: C2 loop unrolling fails due to unexpected graph shape Summary: Check if graph shape is appropriate for optimization, bail out optimization if not. Reviewed-by: kvn, twisti, shade, dnsimon ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/superword.cpp Changeset: 0943ff57e154 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0943ff57e154 Added tag jdk8u272-b03 for changeset e649f2136368 ! .hgtags Changeset: f83192268a5a Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f83192268a5a Merge jdk8u272-b03 ! .hgtags ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/superword.cpp Changeset: f54a723c0d9a Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f54a723c0d9a Added tag aarch64-shenandoah-jdk8u272-b03 for changeset f83192268a5a ! .hgtags Changeset: 505a7ca3441b Author: andrew Date: 2020-08-18 06:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/505a7ca3441b Merge Changeset: 4c12f2401645 Author: andrew Date: 2020-08-20 15:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4c12f2401645 Merge Changeset: 9f2b95a3c80b Author: phh Date: 2014-11-03 11:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9f2b95a3c80b 8061616: HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double Reviewed-by: simonis, andrew ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! test/testlibrary_tests/whitebox/vm_flags/DoubleTest.java Changeset: cbabffce5685 Author: ebaron Date: 2020-08-17 13:56 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cbabffce5685 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Reviewed-by: andrew ! THIRD_PARTY_README Changeset: 636cc78f0f74 Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/636cc78f0f74 Added tag jdk8u272-b04 for changeset cbabffce5685 ! .hgtags Changeset: f9a4ff26a4bd Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f9a4ff26a4bd Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp Changeset: 0c4bb3e46471 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0c4bb3e46471 Added tag aarch64-shenandoah-jdk8u272-b04 for changeset f9a4ff26a4bd ! .hgtags Changeset: bbb544bc4e85 Author: andrew Date: 2020-08-20 15:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/bbb544bc4e85 Merge Changeset: 72053ed6f8d4 Author: tschatzl Date: 2016-11-24 11:27 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/72053ed6f8d4 8057003: Large reference arrays cause extremely long synchronization times Summary: Slice large object arrays into parts so that the synchronization of marking threads with an STW pause request does not take long. Reviewed-by: ehelin, pliden Contributed-by: maoliang.ml at alibaba-inc.com ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp + src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp + src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.hpp + src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 776722456213 Author: andrew Date: 2020-08-20 04:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/776722456213 Merge Changeset: 63dafc005680 Author: shade Date: 2020-08-21 09:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/63dafc005680 8252084: Minimal VM fails to bootcycle: undefined symbol: AgeTableTracer::is_tenuring_distribution_event_enabled Reviewed-by: sgehwolf ! make/excludeSrc.make Changeset: 8712be1ae49a Author: roland Date: 2020-06-30 18:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8712be1ae49a 8240676: Meet not symmetric failure when running lucene on jdk8 Reviewed-by: kvn, thartmann ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/types/TestArrayMeetNotSymmetrical.java Changeset: 85e682d8ab91 Author: jbachorik Date: 2020-07-17 11:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/85e682d8ab91 8249158: THREAD_START and THREAD_END event posted in primordial phase Reviewed-by: adinn ! src/share/vm/jfr/instrumentation/jfrJvmtiAgent.cpp ! src/share/vm/jfr/jfr.cpp ! src/share/vm/jfr/jfr.hpp ! src/share/vm/jfr/jni/jfrJavaSupport.cpp ! src/share/vm/jfr/jni/jfrJavaSupport.hpp ! src/share/vm/jfr/jni/jfrJniMethod.cpp ! src/share/vm/jfr/recorder/jfrRecorder.cpp ! src/share/vm/jfr/recorder/jfrRecorder.hpp ! src/share/vm/jfr/recorder/service/jfrOptionSet.cpp ! src/share/vm/jfr/recorder/service/jfrOptionSet.hpp ! src/share/vm/runtime/thread.cpp - test/runtime/8233197/T.java - test/runtime/8233197/Test8233197.sh - test/runtime/8233197/libJvmtiAgent.c Changeset: a025f6d9e6e8 Author: sgehwolf Date: 2020-07-24 14:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a025f6d9e6e8 8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics Reviewed-by: aph, dholmes, bobv, shade ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 1b2d99958c29 Author: ccheung Date: 2014-11-10 10:13 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1b2d99958c29 8060721: Test runtime/SharedArchiveFile/LimitSharedSizes.java fails in jdk 9 fcs new platforms/compiler Summary: replaced strcat() with jio_snprintf() Reviewed-by: dholmes, iklam, dlong, minqi ! src/share/vm/memory/metaspaceShared.cpp Changeset: 6898cbe6d575 Author: andrew Date: 2020-08-26 03:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6898cbe6d575 Added tag jdk8u272-b05 for changeset 1b2d99958c29 ! .hgtags Changeset: 0bb5fba5f9b2 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0bb5fba5f9b2 Merge jdk8u272-b05 ! .hgtags ! make/excludeSrc.make ! make/linux/makefiles/mapfile-vers-debug ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/utilities/taskqueue.hpp - test/runtime/8233197/T.java - test/runtime/8233197/Test8233197.sh - test/runtime/8233197/libJvmtiAgent.c Changeset: 72dbeabdf2d4 Author: andrew Date: 2020-08-27 06:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/72dbeabdf2d4 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 0bb5fba5f9b2 ! .hgtags Changeset: 04d10e4240b9 Author: shade Date: 2020-08-28 07:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/04d10e4240b9 8252096: Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR Reviewed-by: rkennke, andrew ! src/share/vm/utilities/globalDefinitions.hpp Changeset: e0a34665279f Author: shade Date: 2020-08-28 07:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e0a34665279f 8252366: Shenandoah: revert/cleanup changes in graphKit.cpp Reviewed-by: rkennke, roland, andrew, aph ! src/share/vm/opto/graphKit.cpp Changeset: 17a0382f0419 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/17a0382f0419 Merge ! src/share/vm/runtime/thread.cpp Changeset: 86494fda8cde Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/86494fda8cde Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 17a0382f0419 ! .hgtags From shade at redhat.com Fri Aug 28 05:51:46 2020 From: shade at redhat.com (shade at redhat.com) Date: Fri, 28 Aug 2020 05:51:46 +0000 Subject: hg: shenandoah/jdk8/jdk: 143 new changesets Message-ID: <202008280551.07S5ppHA005837@aojmv0008.oracle.com> Changeset: 95b21cdbf8b5 Author: rhalade Date: 2020-04-30 15:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/95b21cdbf8b5 8225068: Remove DocuSign root certificate that is expiring in May 2020 Reviewed-by: mullan - make/data/cacerts/keynectisrootca ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 235d2e871a2e Author: rhalade Date: 2020-05-01 11:09 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/235d2e871a2e 8225069: Remove Comodo root certificate that is expiring in May 2020 Reviewed-by: mullan - make/data/cacerts/addtrustclass1ca ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: a7d8aa26404d Author: andrew Date: 2020-06-22 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a7d8aa26404d Added tag jdk8u262-b08 for changeset 235d2e871a2e ! .hgtags Changeset: a11637189a6a Author: andrew Date: 2020-06-23 16:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a11637189a6a Merge jdk8u262-b08 ! .hgtags Changeset: ad1fc97b1fd1 Author: andrew Date: 2020-06-25 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ad1fc97b1fd1 Added tag aarch64-shenandoah-jdk8u262-b08 for changeset a11637189a6a ! .hgtags Changeset: e36dcb7d407e Author: andrew Date: 2020-06-26 17:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e36dcb7d407e 8248399: Build installs jfr binary when JFR is disabled Summary: Only build the jfr launcher when JFR is enabled. Reviewed-by: sgehwolf ! make/CompileLaunchers.gmk Changeset: 4687075d8ccf Author: andrew Date: 2020-06-27 23:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4687075d8ccf Added tag jdk8u262-b09 for changeset e36dcb7d407e ! .hgtags Changeset: d0a7c7363994 Author: andrew Date: 2020-06-28 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d0a7c7363994 Merge jdk8u262-b09 ! .hgtags ! make/CompileLaunchers.gmk Changeset: 436f11976b88 Author: andrew Date: 2020-06-28 21:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/436f11976b88 Added tag aarch64-shenandoah-jdk8u262-b09 for changeset d0a7c7363994 ! .hgtags Changeset: 1782667a5d81 Author: andrew Date: 2020-07-07 17:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1782667a5d81 Added tag aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03 for changeset 436f11976b88 ! .hgtags Changeset: dbe870438fc4 Author: andrew Date: 2020-07-11 01:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/dbe870438fc4 8248715: New JavaTimeSupplementary localisation for 'in' installed in wrong package Summary: Change package from sun.text.resources.ext to sun.text.resources.in Reviewed-by: sgehwolf ! src/share/classes/sun/text/resources/in/JavaTimeSupplementary_in.java Changeset: 0f8bfe982599 Author: aefimov Date: 2020-03-02 19:11 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0f8bfe982599 8230613: Better ASCII conversions Reviewed-by: dfuchs, naoto, mschoene, rhalade ! src/share/classes/sun/net/idn/Punycode.java Changeset: 52ecf982d6c0 Author: smarks Date: 2020-07-11 20:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/52ecf982d6c0 8231800: Better listing of arrays Reviewed-by: alanb, rhalade, ahgross, igerasim ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/concurrent/PriorityBlockingQueue.java Changeset: 4770c3fcd733 Author: serb Date: 2020-07-11 21:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4770c3fcd733 8233255: Better Swing Buttons Reviewed-by: alitvinov, prr, ahgross, rhalade ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/gtk3_interface.c ! src/solaris/native/sun/awt/gtk3_interface.h ! src/solaris/native/sun/awt/swing_GTKEngine.c Changeset: 207c035b5ff8 Author: mullan Date: 2020-02-11 16:28 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/207c035b5ff8 8234032: Improve basic calendar services Reviewed-by: weijun, rhalade, mschoene ! src/share/classes/sun/security/util/DerInputBuffer.java Changeset: 3054a00b5333 Author: mullan Date: 2020-01-17 08:04 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3054a00b5333 8234042: Better factory production of certificates Reviewed-by: weijun, rhalade, mschoene ! src/macosx/classes/apple/security/KeychainStore.java ! src/share/classes/java/security/PKCS12Attribute.java ! src/share/classes/sun/security/pkcs/ContentInfo.java ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/pkcs12/MacData.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java Changeset: e387a670536e Author: mullan Date: 2020-02-11 16:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e387a670536e 8234418: Better parsing with CertificateFactory Reviewed-by: weijun, mschoene, rhalade ! src/share/classes/sun/security/util/DerInputBuffer.java Changeset: 091e23df5148 Author: rriggs Date: 2020-04-16 10:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/091e23df5148 8234836: Improve serialization handling Reviewed-by: skoivu, rhalade, chegar ! src/share/classes/java/io/ObjectInputStream.java ! test/java/io/Serializable/serialFilter/SerialFilterTest.java Changeset: 089b5792f6cb Author: xuelei Date: 2020-04-10 11:46 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/089b5792f6cb 8236191: Enhance OID processing Reviewed-by: jnimeh, weijun, ahgross, rhalade ! src/share/classes/sun/security/util/ObjectIdentifier.java Changeset: f2610c95d0fe Author: phh Date: 2020-07-12 15:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f2610c95d0fe 8237117: Better ForkJoinPool behavior Reviewed-by: mbalao, andrew ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Changeset: ccf532a822df Author: yan Date: 2020-04-18 12:16 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ccf532a822df 8237592: Enhance certificate verification Reviewed-by: mbalao, andrew ! src/share/classes/sun/security/util/HostnameChecker.java Changeset: 29ec8fdd7b86 Author: prr Date: 2020-02-12 12:18 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/29ec8fdd7b86 8238002: Better matrix operations Reviewed-by: serb, erikj, mschoene, rhalade, mbalao, andrew ! make/lib/Awt2dLibraries.gmk ! src/share/native/sun/java2d/cmm/lcms/cmsps2.c Changeset: 26deba50fea8 Author: weijun Date: 2020-07-12 16:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/26deba50fea8 8238804: Enhance key handling process Reviewed-by: rriggs, mullan, ahgross, rhalade, mbalao, andrew ! src/share/classes/java/security/MessageDigest.java Changeset: e1ecf0b6069a Author: prr Date: 2020-03-25 16:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e1ecf0b6069a 8238843: Enhanced font handing Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/sun/font/TrueTypeFont.java Changeset: 368b6f0a21fc Author: bpb Date: 2020-03-18 16:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/368b6f0a21fc 8238920: Better Buffer support Reviewed-by: alanb, ahgross, rhalade, psandoz, mbalao, andrew ! src/share/classes/java/nio/Buffer.java Changeset: b1fbce0202a1 Author: serb Date: 2020-03-10 07:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b1fbce0202a1 8238925: Enhance WAV file playback Reviewed-by: prr, amenkov, rhalade, mschoene, mbalao, andrew ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/com/sun/media/sound/Toolkit.java Changeset: f33f869ca03f Author: prr Date: 2020-03-17 13:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f33f869ca03f 8240119: Less Affine Transformations Reviewed-by: serb, bpb, mschoene, rhalade ! src/share/native/sun/awt/medialib/mlib_ImageScanPoly.c Changeset: fb1ce619d341 Author: serb Date: 2020-03-23 19:57 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fb1ce619d341 8240482: Improved WAV file playback Reviewed-by: amenkov, rhalade, mschoene, prr ! src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_PCM.cpp Changeset: b627f5d90c2f Author: weijun Date: 2020-04-03 17:24 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b627f5d90c2f 8241379: Update JCEKS support Reviewed-by: ahgross, mullan, rhalade ! src/share/classes/com/sun/crypto/provider/JceKeyStore.java Changeset: 66699ff7f013 Author: amenkov Date: 2020-04-15 13:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/66699ff7f013 8241522: Manifest improved jar headers redux Reviewed-by: sspitsyn, jwilhelm, mschoene, rhalade, mbalao, andrew ! src/share/instrument/EncodingSupport.c ! src/share/instrument/InvocationAdapter.c Changeset: 833691f5d8b5 Author: andrew Date: 2020-07-12 17:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/833691f5d8b5 Added tag jdk8u262-b10 for changeset 66699ff7f013 ! .hgtags Changeset: ec1d4691567e Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ec1d4691567e Merge jdk8u262-b10 ! .hgtags ! make/lib/Awt2dLibraries.gmk ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/security/MessageDigest.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/security/util/HostnameChecker.java ! src/solaris/native/sun/awt/gtk2_interface.c Changeset: 5e4e301e53e2 Author: andrew Date: 2020-07-12 18:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5e4e301e53e2 Added tag aarch64-shenandoah-jdk8u262-b10 for changeset ec1d4691567e ! .hgtags Changeset: d6ba796b8c9f Author: andrew Date: 2020-07-14 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d6ba796b8c9f Added tag jdk8u262-ga for changeset 66699ff7f013 ! .hgtags Changeset: 1a6df78fe390 Author: andrew Date: 2020-07-24 16:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1a6df78fe390 8249677: Regression in 8u after JDK-8237117: Better ForkJoinPool behavior Summary: Avoid altering the behaviour of the protected ForkJoinWorkerThread(ForkJoinPool) constructor Reviewed-by: andrew, mbalao Contributed-by: Anton Kozlov ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java + test/java/util/concurrent/forkjoin/AccessControlContext.java + test/java/util/concurrent/forkjoin/AccessControlContext.policy Changeset: 323008dfe93e Author: andrew Date: 2020-07-24 22:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/323008dfe93e 8250546: Expect changed behaviour reported in JDK-8249846 Reviewed-by: mbalao ! test/java/util/concurrent/forkjoin/AccessControlContext.java Changeset: 9204e03217f7 Author: andrew Date: 2020-07-24 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9204e03217f7 Added tag jdk8u265-b00 for changeset 66699ff7f013 ! .hgtags Changeset: 656ef8101df7 Author: andrew Date: 2020-07-24 22:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/656ef8101df7 Added tag jdk8u265-b01 for changeset 9204e03217f7 ! .hgtags Changeset: 03a7cddeb256 Author: andrew Date: 2020-07-27 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/03a7cddeb256 Merge jdk8u265-b01 ! .hgtags ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 164cd43a1739 Author: andrew Date: 2020-07-27 01:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/164cd43a1739 Added tag aarch64-shenandoah-jdk8u265-b01 for changeset 03a7cddeb256 ! .hgtags Changeset: c60436725ce4 Author: andrew Date: 2020-07-27 17:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c60436725ce4 Added tag jdk8u265-ga for changeset 9204e03217f7 ! .hgtags Changeset: d5b5e17d92c1 Author: andrew Date: 2020-06-03 01:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d5b5e17d92c1 Added tag jdk8u272-b00 for changeset 4789a6a01301 ! .hgtags Changeset: d6d7043c8396 Author: andrew Date: 2020-06-09 06:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d6d7043c8396 Merge ! .hgtags Changeset: ca808481f63e Author: smarks Date: 2015-07-29 15:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ca808481f63e 8132206: move ScanTest.java into OpenJDK Reviewed-by: psandoz, sherman + test/java/util/Scanner/ScanTest.java + test/java/util/Scanner/input.txt Changeset: c8987a0ad95d Author: smarks Date: 2015-07-30 22:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c8987a0ad95d 8132745: minor cleanup of java/util/Scanner/ScanTest.java Reviewed-by: darcy, sherman ! test/java/util/Scanner/ScanTest.java Changeset: a20d3b459721 Author: igerasim Date: 2014-03-13 07:24 +0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a20d3b459721 8036088: Replace strtok() with its safe equivalent strtok_s() in DefaultProxySelector.c Reviewed-by: chegar ! src/windows/native/sun/net/spi/DefaultProxySelector.c Changeset: 308435351e73 Author: serb Date: 2020-04-08 02:53 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/308435351e73 8239819: XToolkit: Misread of screen information memory Reviewed-by: prr ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/native/sun/xawt/XToolkit.c Changeset: 0a6aba57af9a Author: vtewari Date: 2016-07-15 14:06 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0a6aba57af9a 8151788: NullPointerException from ntlm.Client.type3 Reviewed-by: chegar, prappo, weijun ! src/share/classes/com/sun/security/ntlm/NTLM.java + test/sun/net/www/protocol/http/NULLTargetInfoTest.java Changeset: 858321c03257 Author: martin Date: 2015-03-10 14:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/858321c03257 8075774: Small readability and performance improvements for zipfs Reviewed-by: sherman, alanb ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java Changeset: 9ba0e6797d21 Author: andrew Date: 2020-06-17 15:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9ba0e6797d21 Merge Changeset: a485b9589708 Author: afarley Date: 2020-06-17 19:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a485b9589708 8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow Summary: Check buffer overflow when the jdwp agent full dll name is built Reviewed-by: cjplummer, sspitsyn, andrew ! src/solaris/back/linker_md.c ! src/windows/back/linker_md.c Changeset: 6e0c3bc4b1cc Author: akasko Date: 2015-09-01 11:03 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6e0c3bc4b1cc 8132376: Add @requires os.family to the client tests with access to internal OS-specific API Reviewed-by: yan, alexsch, andrew, zgu Contributed-by: Renjith Alexander ! test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java + test/java/awt/EmbeddedFrame/DisplayChangedTest/DisplayChangedTest.java + test/java/awt/EmbeddedFrame/EmbeddedFrameGrabTest/EmbeddedFrameGrabTest.java ! test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java ! test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java Changeset: f24756eda3d6 Author: serb Date: 2020-06-16 09:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f24756eda3d6 8167615: Opensource unit/regression tests for JavaSound Reviewed-by: amenkov ! test/ProblemList.txt + test/javax/sound/midi/Devices/ClosedReceiver.java + test/javax/sound/midi/Devices/IOLoop.java + test/javax/sound/midi/Devices/MidiDeviceGetReceivers.java + test/javax/sound/midi/Devices/MidiIO.java + test/javax/sound/midi/Devices/MidiOutGetMicrosecondPositionBug.java + test/javax/sound/midi/Devices/OpenClose.java + test/javax/sound/midi/Devices/ReceiverTransmitterAvailable.java + test/javax/sound/midi/Devices/Reopen.java + test/javax/sound/midi/File/SMFCp037.java + test/javax/sound/midi/File/SMFParserBreak.java + test/javax/sound/midi/File/WriteRealTimeMessageNPE.java + test/javax/sound/midi/MetaMessage/MetaMessageClone.java + test/javax/sound/midi/MidiSystem/6411624/Test6411624.java + test/javax/sound/midi/MidiSystem/6411624/bug6411624.java + test/javax/sound/midi/MidiSystem/DefaultDevices.java + test/javax/sound/midi/MidiSystem/DefaultProperties.java + test/javax/sound/midi/MidiSystem/GetSequencer.java + test/javax/sound/midi/MidiSystem/MidiFileTypeUniqueness.java + test/javax/sound/midi/MidiSystem/ProviderCacheing.java + test/javax/sound/midi/MidiSystem/testdata/lib/conf/sound.properties + test/javax/sound/midi/Sequence/GetMicrosecondLength.java + test/javax/sound/midi/Sequence/MidiSMPTE.java + test/javax/sound/midi/Sequence/SMPTEDuration.java + test/javax/sound/midi/Sequencer/LoopIAE.java + test/javax/sound/midi/Sequencer/Looping.java + test/javax/sound/midi/Sequencer/MetaCallback.java + test/javax/sound/midi/Sequencer/Recording.java + test/javax/sound/midi/Sequencer/SeqRecordDoesNotCopy.java + test/javax/sound/midi/Sequencer/SeqRecordsRealTimeEvents.java + test/javax/sound/midi/Sequencer/SeqStartRecording.java + test/javax/sound/midi/Sequencer/SequencerCacheValues.java + test/javax/sound/midi/Sequencer/SequencerSetMuteSolo.java + test/javax/sound/midi/Sequencer/SequencerState.java + test/javax/sound/midi/Sequencer/SetTickPosition.java + test/javax/sound/midi/Sequencer/TickLength.java + test/javax/sound/midi/ShortMessage/FastShortMessage.java + test/javax/sound/midi/ShortMessage/FastShortMessage2.java + test/javax/sound/midi/Soundbanks/ExtraCharInSoundbank.java + test/javax/sound/midi/Soundbanks/GetSoundBankIOException.java + test/javax/sound/midi/Synthesizer/AsynchronousMidiChannel.java + test/javax/sound/midi/Synthesizer/Receiver/bug6186488.java + test/javax/sound/midi/Synthesizer/SynthesizerGetLatency.java + test/javax/sound/midi/Synthesizer/bug4685396.java + test/javax/sound/midi/Track/TrackAddSameTick.java + test/javax/sound/midi/Track/bug6416024.java + test/javax/sound/midi/Transmitter/bug6415669.java + test/javax/sound/sampled/AudioFileFormat/AudioFileFormatToString.java + test/javax/sound/sampled/AudioFileFormat/Properties.java + test/javax/sound/sampled/AudioFileFormat/TypeEquals.java + test/javax/sound/sampled/AudioFormat/AudioFormatBitSize.java + test/javax/sound/sampled/AudioFormat/EncodingEquals.java + test/javax/sound/sampled/AudioFormat/Properties.java + test/javax/sound/sampled/AudioInputStream/AISReadFraction.java + test/javax/sound/sampled/AudioInputStream/bug6188860.java + test/javax/sound/sampled/AudioSystem/AudioFileTypes/AudioFileTypeUniqueness.java + test/javax/sound/sampled/AudioSystem/AudioFileTypes/ShowAudioFileTypes.java + test/javax/sound/sampled/AudioSystem/DefaultMixers.java + test/javax/sound/sampled/AudioSystem/DefaultProperties.java + test/javax/sound/sampled/AudioSystem/ProviderCacheing.java + test/javax/sound/sampled/AudioSystem/testdata/lib/conf/sound.properties + test/javax/sound/sampled/Clip/ClipCloseLoss.java + test/javax/sound/sampled/Clip/ClipFlushCrash.java + test/javax/sound/sampled/Clip/Drain/ClipDrain.java + test/javax/sound/sampled/Clip/Duration/ClipDuration.java + test/javax/sound/sampled/Clip/Endpoint/ClipSetEndPoint.java + test/javax/sound/sampled/Clip/Open/ClipOpenBug.java + test/javax/sound/sampled/Clip/bug5070081.java + test/javax/sound/sampled/Clip/bug6251460.java + test/javax/sound/sampled/Controls/CompoundControl/ToString.java + test/javax/sound/sampled/Controls/FloatControl/FloatControlBug.java + test/javax/sound/sampled/DataLine/DataLineInfoNegBufferSize.java + test/javax/sound/sampled/DataLine/LineDefFormat.java + test/javax/sound/sampled/DataLine/LongFramePosition.java + test/javax/sound/sampled/DirectAudio/TickAtEndOfPlay.java + test/javax/sound/sampled/DirectAudio/bug6372428.java + test/javax/sound/sampled/FileTypeExtension/FileTypeExtensionTest.java + test/javax/sound/sampled/LineEvent/LineInfoNPE.java + test/javax/sound/sampled/Lines/16and32KHz/Has16and32KHz.java + test/javax/sound/sampled/Lines/BufferSizeCheck.java + test/javax/sound/sampled/Lines/ChangingBuffer.java + test/javax/sound/sampled/Lines/ClickInPlay/ClickInPlay.java + test/javax/sound/sampled/Lines/ClickInPlay/Test4218609.java + test/javax/sound/sampled/Lines/ClipOpenException.java + test/javax/sound/sampled/Lines/FrameSize/FrameSizeTest.java + test/javax/sound/sampled/Lines/GetLine.java + test/javax/sound/sampled/Lines/SDLwrite.java + test/javax/sound/sampled/Lines/SourceDataLineDefaultBufferSizeCrash.java + test/javax/sound/sampled/Lines/StopStart.java + test/javax/sound/sampled/LinuxBlock/PlaySine.java + test/javax/sound/sampled/LinuxCrash/ClipLinuxCrash.java + test/javax/sound/sampled/LinuxCrash/ClipLinuxCrash2.java + test/javax/sound/sampled/LinuxCrash/SDLLinuxCrash.java + test/javax/sound/sampled/Mixers/BogusMixers.java + test/javax/sound/sampled/Mixers/BothEndiansAndSigns.java + test/javax/sound/sampled/Mixers/DirectSoundRepeatingBuffer/DirectSoundRepeatingBuffer.java + test/javax/sound/sampled/Mixers/DirectSoundRepeatingBuffer/Test4997635.java + test/javax/sound/sampled/Mixers/DirectSoundUnderrunSilence/DirectSoundUnderrunSilence.java + test/javax/sound/sampled/Mixers/DirectSoundUnderrunSilence/Test5032020.java + test/javax/sound/sampled/Mixers/DisabledAssertionCrash.java + test/javax/sound/sampled/Mixers/NoSimpleInputDevice.java + test/javax/sound/sampled/Mixers/PhantomMixers.java + test/javax/sound/sampled/Mixers/PlugHwMonoAnd8bitAvailable.java + test/javax/sound/sampled/Mixers/UnexpectedIAE.java + test/javax/sound/sampled/Recording/TargetDataLineFlush.java + test/javax/sound/sampled/spi/AudioFileReader/AIFFCp037.java + test/javax/sound/sampled/spi/AudioFileReader/AIFFLargeHeader.java + test/javax/sound/sampled/spi/AudioFileReader/Aiff12bit.java + test/javax/sound/sampled/spi/AudioFileReader/AuNotSpecified.java + test/javax/sound/sampled/spi/AudioFileReader/AuZeroLength.java + test/javax/sound/sampled/spi/AudioFileReader/OpenWaveFile.java + test/javax/sound/sampled/spi/AudioFileWriter/AUwithULAW.java + test/javax/sound/sampled/spi/AudioFileWriter/AiffSampleRate.java + test/javax/sound/sampled/spi/AudioFileWriter/RIFFHeader.java + test/javax/sound/sampled/spi/AudioFileWriter/WaveBigEndian.java + test/javax/sound/sampled/spi/AudioFileWriter/WriteAuUnspecifiedLength.java + test/javax/sound/sampled/spi/FormatConversionProvider/AlawUlaw.java Changeset: f1e3ae7aa829 Author: mbaesken Date: 2020-06-22 13:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f1e3ae7aa829 8210147: adjust some WSAGetLastError usages in windows network coding Reviewed-by: clanger, stuefe ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/java/net/SocketInputStream.c Changeset: 4371aa83bd74 Author: aghaisas Date: 2020-06-22 17:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4371aa83bd74 8137087: [TEST_BUG] Cygwin failure of java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Reviewed-by: yan, arapte Contributed-by: rahul.d.singh at oracle.com ! test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Changeset: 4d0e0d140969 Author: alitvinov Date: 2020-04-20 19:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4d0e0d140969 8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash Reviewed-by: prr, serb ! src/windows/native/sun/windows/awt_Window.cpp Changeset: c6dec7c38c41 Author: serb Date: 2017-05-22 19:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c6dec7c38c41 8177628: Opensource unit/regression tests for ImageIO Reviewed-by: prr, pnarayanan + test/javax/imageio/AllowSearch.java + test/javax/imageio/AppContextTest.java + test/javax/imageio/AppletResourceTest.html + test/javax/imageio/AppletResourceTest.java + test/javax/imageio/GetNumImages.java + test/javax/imageio/GetReaderWriterInfo.java + test/javax/imageio/IIOImageConstructor.java + test/javax/imageio/ITSDataType.java + test/javax/imageio/ImageIOGetImageReaders.java + test/javax/imageio/ImageIOWriteFile.java + test/javax/imageio/ImageIOWriteNull.java + test/javax/imageio/ImageReadParamPasses.java + test/javax/imageio/ImageReaderGetDestination.java + test/javax/imageio/ImageReaderReadAll.java + test/javax/imageio/ImageStreamFromRAF.java + test/javax/imageio/ImageTypeSpecifierBitsPerBand.java + test/javax/imageio/ImageTypeSpecifierTest.java + test/javax/imageio/ImageWriteParamMisc.java + test/javax/imageio/NullInputOutput.java + test/javax/imageio/PNGSpiStreamMetadata.java + test/javax/imageio/PNGSuffixes.java + test/javax/imageio/ReadBitsTest.java + test/javax/imageio/SetOutput.java + test/javax/imageio/WriteNullImageTest.java + test/javax/imageio/event/WriteProgressListenerTest.java + test/javax/imageio/plugins/bmp/BMPCompressionTest.java + test/javax/imageio/plugins/bmp/BMPPluginTest.java + test/javax/imageio/plugins/bmp/BMPWriteParamTest.java + test/javax/imageio/plugins/bmp/BmpBigDestinationTest.java + test/javax/imageio/plugins/bmp/BmpDefaultImageMetadataTest.java + test/javax/imageio/plugins/bmp/CompressionModeTest.java + test/javax/imageio/plugins/bmp/EmbeddedFormatTest.java + test/javax/imageio/plugins/bmp/EmptyInputBmpMetadataTest.java + test/javax/imageio/plugins/bmp/NoExtraBytesTest.java + test/javax/imageio/plugins/bmp/RLECompressionTest.java + test/javax/imageio/plugins/bmp/ReaderListenersTest.java + test/javax/imageio/plugins/bmp/RleEncodingTest.java + test/javax/imageio/plugins/bmp/TestCompressionBI_BITFIELDS.java + test/javax/imageio/plugins/bmp/Write3ByteBgrTest.java + test/javax/imageio/plugins/bmp/WriteProgressListenerTest.java + test/javax/imageio/plugins/bmp/WritingColorChangeTest.java + test/javax/imageio/plugins/gif/AnimationTest.java + test/javax/imageio/plugins/gif/DisableCompressionTest.java + test/javax/imageio/plugins/gif/EndWriteSequenceTest.java + test/javax/imageio/plugins/gif/IndexingTest.java + test/javax/imageio/plugins/gif/LogicalScreenDimensionTest.java + test/javax/imageio/plugins/gif/OddPaletteTest.java + test/javax/imageio/plugins/gif/PrepareWriteSequenceTest.java + test/javax/imageio/plugins/gif/RGBAnimationTest.java + test/javax/imageio/plugins/gif/RGBImageTest.java + test/javax/imageio/plugins/gif/StreamMetadataTest.java + test/javax/imageio/plugins/gif/TransparencyTest.java + test/javax/imageio/plugins/gif/UshortOutOfMemoryTest.java + test/javax/imageio/plugins/gif/WriteMetadataTest.java + test/javax/imageio/plugins/gif/WriterResetTest.java + test/javax/imageio/plugins/gif/WriterReuseTest.java + test/javax/imageio/plugins/jpeg/ByteBinaryTest.java + test/javax/imageio/plugins/jpeg/CanEncodeIndexed.java + test/javax/imageio/plugins/jpeg/CompressionBug.java + test/javax/imageio/plugins/jpeg/CompressionVals.java + test/javax/imageio/plugins/jpeg/CrashAfterDispose.java + test/javax/imageio/plugins/jpeg/DestTypeTest.java + test/javax/imageio/plugins/jpeg/JPEGsNotAcceleratedTest.java + test/javax/imageio/plugins/jpeg/MergeTreeTest.java + test/javax/imageio/plugins/jpeg/RasterWithMinXTest.java + test/javax/imageio/plugins/jpeg/ResetOutOfMemory.java + test/javax/imageio/plugins/jpeg/UshortGrayTest.java + test/javax/imageio/plugins/png/CanEncodeShort.java + test/javax/imageio/plugins/png/ImageCompare.java + test/javax/imageio/plugins/png/PngPremultAlphaTest.java + test/javax/imageio/plugins/png/ShortPaletteTest.java + test/javax/imageio/plugins/png/WriteProgressive.java + test/javax/imageio/plugins/wbmp/EmptyInputWbmpMetadataTest.java + test/javax/imageio/plugins/wbmp/GetImageTypesTest.java + test/javax/imageio/plugins/wbmp/ValidWbmpTest.java + test/javax/imageio/plugins/wbmp/WBMPPluginTest.java + test/javax/imageio/plugins/wbmp/WbmpBigDestinationTest.java + test/javax/imageio/plugins/wbmp/WbmpDefaultImageMetadataTest.java + test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh + test/javax/imageio/spi/AppletContextTest/DummyReaderPluginSpi.java + test/javax/imageio/spi/AppletContextTest/IIOPluginTest.java + test/javax/imageio/spi/CreateMemoryCacheOutputStream.java + test/javax/imageio/spi/DeregisterAllSpiTest.java + test/javax/imageio/spi/DeregisterOrderedSpiTest.java + test/javax/imageio/spi/OrderingTest.java + test/javax/imageio/spi/PluginSpiTest.java + test/javax/imageio/spi/RegisterPluginTwiceTest.java + test/javax/imageio/spi/SpiTest.java + test/javax/imageio/spi/SpiVersionNumbers.java + test/javax/imageio/stream/BitPadding.java + test/javax/imageio/stream/DeleteOnExitTest.java + test/javax/imageio/stream/DeleteOnExitTest.sh + test/javax/imageio/stream/FileCacheImageInputStreamNullTest.java + test/javax/imageio/stream/FlushBefore.java + test/javax/imageio/stream/MemoryCacheImageOutputStreamTest.java + test/javax/imageio/stream/ReadBytesIIOByteBuffer.java + test/javax/imageio/stream/ReadFullyTest.java + test/javax/imageio/stream/ReadUnsignedIntTest.java + test/javax/imageio/stream/StreamFlush.java + test/javax/imageio/stream/WriteBitsTest.java Changeset: ab10d0c37c35 Author: aghaisas Date: 2017-07-24 11:54 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ab10d0c37c35 8183341: Better cleanup for javax/imageio/AllowSearch.java Reviewed-by: prr, jdv, pnarayanan Contributed-by: shashidhara.veerabhadraiah at oracle.com ! test/javax/imageio/AllowSearch.java Changeset: 7ad3f115fb0c Author: serb Date: 2016-05-18 20:40 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7ad3f115fb0c 8156169: Some sound tests rarely hangs because of incorrect synchronization Reviewed-by: prr, amenkov ! src/share/classes/com/sun/media/sound/AbstractDataLine.java ! src/share/classes/com/sun/media/sound/AbstractLine.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/MidiInDevice.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java ! src/share/classes/javax/sound/midi/Sequence.java + test/javax/sound/sampled/Clip/IsRunningHang.java Changeset: 8227975a4b16 Author: andrew Date: 2020-06-29 21:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8227975a4b16 Merge ! .hgtags - make/data/cacerts/addtrustclass1ca - make/data/cacerts/keynectisrootca Changeset: 89a822057fe5 Author: prr Date: 2015-12-24 09:07 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/89a822057fe5 8145808: java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java hangs on Win. 8 Reviewed-by: serb, flar ! test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java Changeset: 678016ab3219 Author: psadhukhan Date: 2017-01-18 11:35 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/678016ab3219 8172012: [TEST_BUG] delays needed in javax/swing/JTree/4633594/bug4633594.java Reviewed-by: yan, serb + test/javax/swing/JTree/4633594/JTreeFocusTest.java Changeset: 2666d08d66ee Author: prr Date: 2017-08-31 13:09 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2666d08d66ee 8183351: Better cleanup for jdk/test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh Reviewed-by: serb ! test/javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh Changeset: 5649e19e552e Author: jdv Date: 2018-02-23 12:30 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5649e19e552e 8198004: javax/swing/JFileChooser/6868611/bug6868611.java throws error Reviewed-by: serb, ssadetsky, kaddepalli ! test/javax/swing/JFileChooser/6868611/bug6868611.java Changeset: f14054bf7742 Author: prr Date: 2018-04-20 09:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f14054bf7742 8200313: java/awt/Gtk/GtkVersionTest/GtkVersionTest.java fails Reviewed-by: serb, kaddepalli ! test/java/awt/Gtk/GtkVersionTest/GtkVersionTest.java Changeset: f15b3ddc5024 Author: erikj Date: 2019-12-12 19:35 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f15b3ddc5024 8235687: Contents/MacOS/libjli.dylib cannot be a symlink Reviewed-by: tbell ! make/Bundles.gmk Changeset: db9fc4b93cfe Author: erikj Date: 2019-12-12 19:35 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/db9fc4b93cfe 8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary Reviewed-by: clanger, alanb, ihse ! src/macosx/bin/java_md_macosx.c + test/jdk/tools/launcher/JliLaunchTest.java + test/jdk/tools/launcher/JliLaunchTest.sh + test/jdk/tools/launcher/exeJliLaunchTest.c ! test/lib/jdk/test/lib/Platform.java Changeset: fc6f591fbd8a Author: prr Date: 2019-06-24 17:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fc6f591fbd8a 8226697: Several tests which need the @key headful keyword are missing it. Reviewed-by: serb, sgehwolf, andrew ! test/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java ! test/com/sun/java/swing/plaf/gtk/Test6635110.java ! test/com/sun/java/swing/plaf/gtk/Test6963870.java Changeset: 4a34bd2f8057 Author: zgu Date: 2020-07-16 15:21 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4a34bd2f8057 8249610: Make sun.security.krb5.Config.getBooleanObject(String... keys) method public Reviewed-by: andrew ! src/share/classes/sun/security/krb5/Config.java Changeset: 0955cfdaee9e Author: rsunderbabu Date: 2020-03-06 10:27 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0955cfdaee9e 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Summary: Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer Contributed-by: ramkumar.sunderbabu at oracle.com ! test/javax/management/loading/ParserInfiniteLoopTest.java Changeset: df1a10f8e36a Author: prappo Date: 2019-08-14 11:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/df1a10f8e36a 8217606: LdapContext#reconnect always opens a new connection Reviewed-by: lancea, vtewari, rriggs Contributed-by: Chris Yin ! src/share/classes/com/sun/jndi/ldap/LdapCtx.java + test/com/sun/jndi/ldap/LdapCtx/Reconnect.java + test/com/sun/jndi/ldap/lib/BaseLdapServer.java + test/com/sun/jndi/ldap/lib/LdapMessage.java Changeset: 90d5e3b5b19b Author: serb Date: 2018-08-24 16:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/90d5e3b5b19b 8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails Reviewed-by: prr - test/java/awt/dnd/BadSerializaionTest/BadSerializationTest.java - test/java/awt/dnd/BadSerializaionTest/badAction - test/java/awt/dnd/BadSerializaionTest/good - test/java/awt/dnd/BadSerializaionTest/noEvents - test/java/awt/dnd/BadSerializaionTest/nullComponent - test/java/awt/dnd/BadSerializaionTest/nullDragSource - test/java/awt/dnd/BadSerializaionTest/nullOrigin + test/java/awt/dnd/BadSerializationTest/BadSerializationTest.java + test/java/awt/dnd/BadSerializationTest/badAction + test/java/awt/dnd/BadSerializationTest/good + test/java/awt/dnd/BadSerializationTest/noEvents + test/java/awt/dnd/BadSerializationTest/nullComponent + test/java/awt/dnd/BadSerializationTest/nullDragSource + test/java/awt/dnd/BadSerializationTest/nullOrigin Changeset: 52e77a298786 Author: rhalade Date: 2016-04-14 14:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/52e77a298786 8151834: Test SmallPrimeExponentP.java times out intermittently Reviewed-by: weijun, andrew ! test/sun/security/mscapi/SmallPrimeExponentP.java Changeset: 6913155d9281 Author: andrew Date: 2020-07-24 13:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6913155d9281 Merge ! .hgtags Changeset: 5414b80b28cb Author: prr Date: 2020-06-22 13:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5414b80b28cb 8244818: Java2D Queue Flusher crash while moving application window to external monitor Reviewed-by: serb, jdv, kcr ! src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m Changeset: 971263b8cd56 Author: mbalao Date: 2020-03-28 19:41 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/971263b8cd56 8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD Reviewed-by: weijun ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/KrbAsReqBuilder.java ! src/share/classes/sun/security/krb5/KrbKdcRep.java ! test/sun/security/krb5/auto/ReferralsTest.java Changeset: d1cbe37a41a6 Author: stuefe Date: 2016-09-13 11:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d1cbe37a41a6 8165936: Potential Heap buffer overflow when seaching timezone info files Summary: readdir_r called with too small buffer Reviewed-by: clanger, rriggs, okutsu, naoto ! src/solaris/native/java/util/TimeZone_md.c Changeset: 12c817241a11 Author: rriggs Date: 2016-09-15 16:05 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/12c817241a11 8166148: Fix for JDK-8165936 broke solaris builds Reviewed-by: naoto ! src/solaris/native/java/util/TimeZone_md.c Changeset: 7b148fbba788 Author: andrew Date: 2020-07-24 13:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7b148fbba788 Merge Changeset: 4eca7c32a9c8 Author: andrew Date: 2020-07-24 16:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4eca7c32a9c8 8249677: Regression in 8u after JDK-8237117: Better ForkJoinPool behavior Summary: Avoid altering the behaviour of the protected ForkJoinWorkerThread(ForkJoinPool) constructor Reviewed-by: andrew, mbalao Contributed-by: Anton Kozlov ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java + test/java/util/concurrent/forkjoin/AccessControlContext.java + test/java/util/concurrent/forkjoin/AccessControlContext.policy Changeset: 3c1716a44d94 Author: sgehwolf Date: 2020-06-24 11:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3c1716a44d94 8194298: Add support for per Socket configuration of TCP keepalive Reviewed-by: vtewari, aph ! make/mapfiles/libnet/mapfile-vers ! src/share/classes/jdk/net/ExtendedSocketOptions.java ! src/share/classes/jdk/net/Sockets.java + src/share/classes/sun/net/ExtendedOptionsHelper.java ! src/share/classes/sun/net/ExtendedOptionsImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/solaris/classes/java/net/PlainSocketImpl.java ! src/solaris/native/java/net/ExtendedOptionsImpl.c ! src/windows/native/java/net/ExtendedOptionsImpl.c + test/java/net/SocketOption/TcpKeepAliveTest.java ! test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java Changeset: 160797b3c05b Author: andrew Date: 2020-07-29 05:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/160797b3c05b Merge ! .hgtags Changeset: 1affb3bb2b3c Author: mbalao Date: 2020-04-02 18:18 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1affb3bb2b3c 8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one Reviewed-by: mullan, andrew ! src/share/classes/sun/security/validator/PKIXValidator.java ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 2f117c583973 Author: igerasim Date: 2019-09-10 09:08 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2f117c583973 8230303: JDB hangs when running monitor command Reviewed-by: sspitsyn ! src/share/classes/com/sun/tools/example/debug/tty/TTY.java Changeset: 039b7fa799bb Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/039b7fa799bb Merge jdk8u272-b01 ! .hgtags ! make/Bundles.gmk ! src/share/classes/com/sun/jndi/ldap/LdapCtx.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/sun/security/krb5/Config.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/sun/windows/awt_Window.cpp ! test/ProblemList.txt ! test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh - test/java/awt/dnd/BadSerializaionTest/BadSerializationTest.java - test/java/awt/dnd/BadSerializaionTest/badAction - test/java/awt/dnd/BadSerializaionTest/good - test/java/awt/dnd/BadSerializaionTest/noEvents - test/java/awt/dnd/BadSerializaionTest/nullComponent - test/java/awt/dnd/BadSerializaionTest/nullDragSource - test/java/awt/dnd/BadSerializaionTest/nullOrigin Changeset: 6079bfd60d84 Author: andrew Date: 2020-08-01 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6079bfd60d84 Added tag aarch64-shenandoah-jdk8u272-b01 for changeset 039b7fa799bb ! .hgtags Changeset: 84c5676f140b Author: andrew Date: 2020-08-01 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/84c5676f140b Added tag jdk8u272-b01 for changeset 2f117c583973 ! .hgtags Changeset: 929db9f048e1 Author: shade Date: 2020-07-29 09:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/929db9f048e1 8046274: Removing dependency on jakarta-regexp Reviewed-by: lancea ! THIRD_PARTY_README Changeset: e350c3661d4a Author: valeriep Date: 2018-11-07 01:04 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e350c3661d4a 8211049: Second parameter of "initialize" method is not used Summary: Use the specified random object instead of system default Reviewed-by: weijun ! src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java + test/sun/security/rsa/TestKeyPairGeneratorInit.java Changeset: fdcd822abdcf Author: valeriep Date: 2020-04-14 22:12 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fdcd822abdcf 8242556: Cannot load RSASSA-PSS public key with non-null params from byte array Summary: Update AlgorithmId to use alg name before oid str when parsing DER bytes Reviewed-by: mullan ! src/share/classes/sun/security/x509/AlgorithmId.java ! test/sun/security/rsa/pss/PSSParametersTest.java ! test/sun/security/rsa/pss/TestPSSKeySupport.java Changeset: ba9b355d6057 Author: zgu Date: 2020-07-30 11:37 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ba9b355d6057 8183349: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java and WriteAfterAbort.java Reviewed-by: serb, pnarayanan ! test/javax/imageio/plugins/shared/CanWriteSequence.java ! test/javax/imageio/plugins/shared/WriteAfterAbort.java Changeset: 22d7558e7fe1 Author: serb Date: 2020-07-31 00:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/22d7558e7fe1 8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java Reviewed-by: jdv ! test/javax/imageio/plugins/shared/CanWriteSequence.java Changeset: 22eb5e7d689b Author: goetz Date: 2017-11-21 17:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/22eb5e7d689b 8191678: [TESTBUG] Add keyword headful in java/awt FocusTransitionTest test. Reviewed-by: serb, sgehwolf, andrew ! test/java/awt/Focus/FocusTransitionTest/FocusTransitionTest.java Changeset: 8151a0b310d9 Author: ascarpino Date: 2019-02-11 13:23 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8151a0b310d9 8201633: Problems with AES-GCM native acceleration Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java Changeset: ce745f7b37a9 Author: ascarpino Date: 2019-03-07 19:35 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ce745f7b37a9 8220165: Encryption using GCM results in RuntimeException- input length out of bound Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java + test/com/sun/crypto/provider/Cipher/AEAD/GCMLargeDataKAT.java Changeset: 006dc5ec67ea Author: igerasim Date: 2020-02-17 16:32 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/006dc5ec67ea 8163251: Hard coded loop limit prevents reading of smart card data greater than 8k Reviewed-by: valeriep, rriggs ! src/share/classes/sun/security/smartcardio/ChannelImpl.java Changeset: 0d51b3ba8061 Author: pchopra Date: 2015-04-10 11:35 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0d51b3ba8061 8076151: [TESTBUG] Test java/awt/FontClass/CreateFont/fileaccess/FontFile.java fails Reviewed-by: alexsch, azvegint ! test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java + test/java/awt/FontClass/CreateFont/fileaccess/TestFontFile.sh Changeset: 1ac38ddb865c Author: ysuenaga Date: 2019-03-16 21:27 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1ac38ddb865c 8220555: JFR tool shows potentially misleading message when it cannot access a file Reviewed-by: egahlin, mseledtsov ! src/share/classes/jdk/jfr/internal/tool/Command.java ! test/jdk/jfr/tool/TestPrint.java Changeset: 87091b543626 Author: egahlin Date: 2019-06-06 15:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/87091b543626 8224217: RecordingInfo should use textual representation of path Reviewed-by: mgronlun ! src/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/share/classes/jdk/jfr/internal/WriteableUserPath.java ! src/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/share/classes/jdk/management/jfr/RecordingInfo.java Changeset: a844d7f2ac12 Author: qpzhang Date: 2020-02-05 17:14 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a844d7f2ac12 8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 Summary: Fixed libsctp link errors caused by GCC10 default -fno-common Reviewed-by: chegar, sgehwolf Contributed-by: Leslie Zhai ! src/solaris/native/sun/nio/ch/sctp/Sctp.h ! src/solaris/native/sun/nio/ch/sctp/SctpNet.c Changeset: 41be6128f4c1 Author: qpzhang Date: 2020-02-04 21:27 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/41be6128f4c1 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 Reviewed-by: stuefe, clanger, rriggs, sgehwolf Contributed-by: Leslie Zhai ! src/solaris/native/java/lang/childproc.c ! src/solaris/native/java/lang/childproc.h Changeset: d5c69bd5f7ad Author: qpzhang Date: 2020-02-05 20:31 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d5c69bd5f7ad 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 Summary: Fixed libj2gss link errors caused by GCC10 default -fno-common Reviewed-by: weijun, sgehwolf Contributed-by: Leslie Zhai ! src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c ! src/solaris/native/sun/security/jgss/wrapper/NativeFunc.h Changeset: 655f1d059a8c Author: andrew Date: 2020-08-06 06:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/655f1d059a8c Merge Changeset: b9ec89d5d8fa Author: igerasim Date: 2014-01-20 19:23 +0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b9ec89d5d8fa 8025886: replace [[ and == bash extensions in regtest Reviewed-by: dsamersoff, sla ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Changeset: 2b92a111b4bd Author: andrew Date: 2020-08-06 21:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2b92a111b4bd Merge Changeset: aba0b4743822 Author: andrew Date: 2020-08-06 21:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/aba0b4743822 Added tag jdk8u272-b02 for changeset 2b92a111b4bd ! .hgtags Changeset: 051a8d2a65e3 Author: andrew Date: 2020-08-09 17:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/051a8d2a65e3 Merge jdk8u272-b02 ! .hgtags ! THIRD_PARTY_README ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java Changeset: 4809ecb1e0a1 Author: andrew Date: 2020-08-09 18:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4809ecb1e0a1 Added tag aarch64-shenandoah-jdk8u272-b02 for changeset 051a8d2a65e3 ! .hgtags Changeset: 67d5cb78784c Author: prr Date: 2019-12-05 13:24 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/67d5cb78784c 8209113: Use WeakReference for lastFontStrike for created Fonts Reviewed-by: serb, jdv ! src/share/classes/sun/font/Font2D.java ! src/share/classes/sun/font/FontStrikeDisposer.java ! src/share/classes/sun/font/SunFontManager.java Changeset: 221312efe8f6 Author: prr Date: 2019-11-04 10:01 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/221312efe8f6 8233097: Fontmetrics for large Fonts has zero width Reviewed-by: jdv, serb ! src/share/native/sun/font/freetypeScaler.c + test/java/awt/FontClass/MassiveMetricsTest.java Changeset: 628961078a91 Author: andrew Date: 2020-08-13 06:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/628961078a91 Merge Changeset: d9bdec02b548 Author: cito Date: 2019-05-10 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d9bdec02b548 8221569: JFR tool produces incorrect output when both --categories and --events are specified Reviewed-by: mgronlun Contributed-by: chihiro.ito at oracle.com, erik.gahlin at oracle.com ! src/share/classes/jdk/jfr/internal/tool/Print.java Changeset: 846d273beb26 Author: egahlin Date: 2019-06-06 20:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/846d273beb26 8216283: Allow shorter method sampling interval than 10 ms Reviewed-by: mgronlun ! src/share/classes/jdk/jfr/conf/default.jfc ! src/share/classes/jdk/jfr/conf/profile.jfc Changeset: 8310f9fb8d93 Author: sgehwolf Date: 2020-08-13 07:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8310f9fb8d93 8203357: Container Metrics Reviewed-by: andrew ! make/CompileJavaClasses.gmk + src/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java + src/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java + src/share/classes/jdk/internal/platform/Container.java + src/share/classes/jdk/internal/platform/Metrics.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties + test/jdk/internal/platform/cgroup/TestCgroupMetrics.java + test/jdk/internal/platform/docker/Dockerfile-BasicTest + test/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 + test/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le + test/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x + test/jdk/internal/platform/docker/MetricsCpuTester.java + test/jdk/internal/platform/docker/MetricsMemoryTester.java + test/jdk/internal/platform/docker/TestDockerCpuMetrics.java + test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java + test/jdk/internal/platform/docker/TestSystemMetrics.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java ! test/tools/launcher/Settings.java Changeset: 3e0c4e45bd5f Author: hb Date: 2018-06-28 09:40 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3e0c4e45bd5f 8192953: sun/management/jmxremote/bootstrap/*.sh tests fail with error : revokeall.exe: Permission denied Reviewed-by: cjplummer ! test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Changeset: fb9d9cfd0523 Author: serb Date: 2017-03-23 17:50 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fb9d9cfd0523 6574989: TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes Reviewed-by: prr ! test/javax/sound/sampled/Clip/bug5070081.java Changeset: 9a21ba120101 Author: andrew Date: 2020-08-13 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9a21ba120101 Added tag jdk8u272-b03 for changeset fb9d9cfd0523 ! .hgtags Changeset: 8ff15320ff03 Author: andrew Date: 2020-08-16 20:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8ff15320ff03 Merge jdk8u272-b03 ! .hgtags ! make/CompileJavaClasses.gmk ! src/share/classes/sun/font/SunFontManager.java ! src/share/native/sun/font/freetypeScaler.c ! test/tools/launcher/Settings.java Changeset: dde5ac0be7e8 Author: andrew Date: 2020-08-16 20:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/dde5ac0be7e8 Added tag aarch64-shenandoah-jdk8u272-b03 for changeset 8ff15320ff03 ! .hgtags Changeset: c19e5d127e6c Author: xyin Date: 2020-04-23 16:36 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c19e5d127e6c 8243138: Enhance BaseLdapServer to support starttls extended request Reviewed-by: aefimov, dfuchs ! test/com/sun/jndi/ldap/lib/BaseLdapServer.java Changeset: 2bb5f6ae380f Author: andrew Date: 2020-08-17 15:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2bb5f6ae380f Merge Changeset: ccb54d552a3b Author: phh Date: 2014-11-03 11:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ccb54d552a3b 8061616: HotspotDiagnosticMXBean.getVMOption() throws IllegalArgumentException for flags of type double Reviewed-by: simonis, andrew ! src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java ! src/share/classes/sun/management/Flag.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/javavm/export/jmm.h ! src/share/native/sun/management/Flag.c + test/com/sun/management/HotSpotDiagnosticMXBean/GetDoubleVMOption.java ! test/com/sun/management/HotSpotDiagnosticMXBean/GetVMOption.java ! test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java Changeset: 807a5fd65674 Author: ebaron Date: 2018-06-19 08:06 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/807a5fd65674 8177334: Update xmldsig implementation to Apache Santuario 2.1.1 Summary: Includes DOMSignatureMethod.getSignature from JDK-8042967 Reviewed-by: andrew ! THIRD_PARTY_README ! src/share/classes/com/sun/org/apache/xml/internal/security/Init.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java + src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/ECDSAUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java - src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizationException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java + src/share/classes/com/sun/org/apache/xml/internal/security/c14n/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/InvalidCanonicalizerException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/C14nHelper.java - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerPhysical.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper.java + src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/XmlAttrStack.java - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/DocumentSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/AlgorithmAlreadyRegisteredException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/Base64DecodingException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityRuntimeException.java - src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/ContentHandlerAlreadyRegisteredException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/DEREncodedKeyValue.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoContent.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoReference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyName.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/SPKIData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/X509Data.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/RSAKeyValue.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509DataContent.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Digest.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html + src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/InvalidKeyResolverException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DEREncodedKeyValueResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DSAKeyValueResolver.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/KeyInfoReferenceResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/PrivateKeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SecretKeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/SingleKeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509DigestResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509IssuerSerialResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/CertsInFilesystemDirectoryResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml - src/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidDigestValueException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidSignatureValueException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/MissingResourceFailureException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/ReferenceNotInitializedException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java - src/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/InvalidTransformException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformationException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11_WithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusive.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusiveWithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NWithComments.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformEnvelopedSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPointer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer04.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathFilterCHGPContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/Constants.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/DOMNamespaceContext.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionConstants.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/IgnoreAllErrorHandler.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/JDKXPathAPI.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/Signature11ElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/SignatureElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java + src/share/classes/com/sun/org/apache/xml/internal/security/utils/WeakObjectPool.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFactory.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XalanXPathAPI.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html + src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverException.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverAnonymous.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html + src/share/classes/com/sun/org/slf4j/internal/Logger.java + src/share/classes/com/sun/org/slf4j/internal/LoggerFactory.java ! src/share/classes/javax/xml/crypto/dsig/DigestMethod.java ! src/share/classes/javax/xml/crypto/dsig/SignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java ! src/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java ! src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java + src/share/classes/org/jcp/xml/dsig/internal/dom/BaseStructure.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java - src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java + src/share/classes/org/jcp/xml/dsig/internal/dom/Marshaller.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java + src/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriter.java + src/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriterToTree.java ! test/javax/xml/crypto/dsig/GenerationTests.java ! test/javax/xml/crypto/dsig/KeySelectors.java Changeset: 4d586f39fed3 Author: mullan Date: 2019-03-05 08:24 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4d586f39fed3 8217878: ENVELOPING XML signature no longer works in JDK 11 8218629: XML Digital Signature throws NAMESPACE_ERR exception on OpenJDK 11, works 8/9/10 Summary: Backout and restore previous XML signature marshalling implementation Reviewed-by: weijun ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java - src/share/classes/org/jcp/xml/dsig/internal/dom/BaseStructure.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java + src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java - src/share/classes/org/jcp/xml/dsig/internal/dom/Marshaller.java - src/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriter.java - src/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriterToTree.java ! test/javax/xml/crypto/dsig/GenerationTests.java + test/javax/xml/crypto/dsig/data/envelope2.xml Changeset: ce1f37506608 Author: andrew Date: 2020-08-18 03:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ce1f37506608 Added tag jdk8u272-b04 for changeset 4d586f39fed3 ! .hgtags Changeset: 3463f5a842d5 Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3463f5a842d5 Merge jdk8u272-b04 ! .hgtags ! THIRD_PARTY_README ! src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java - src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/DocumentSerializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java - src/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SKI.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java - src/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html - src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java ! src/share/classes/sun/management/HotSpotDiagnostic.java ! src/share/javavm/export/jmm.h Changeset: 1974288e281a Author: andrew Date: 2020-08-18 07:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1974288e281a Added tag aarch64-shenandoah-jdk8u272-b04 for changeset 3463f5a842d5 ! .hgtags Changeset: 22020b4f05ff Author: darcy Date: 2015-04-29 08:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/22020b4f05ff 8078880: Mark a few more intermittently failuring security-libs Reviewed-by: xuelei ! test/sun/security/mscapi/SignUsingSHA2withRSA.sh ! test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java Changeset: 6371d3f50ab1 Author: okutsu Date: 2016-03-29 18:04 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6371d3f50ab1 8152077: (cal) Calendar.roll does not always roll the hours during daylight savings Reviewed-by: peytoia ! src/share/classes/java/util/GregorianCalendar.java + test/java/util/Calendar/Bug8152077.java Changeset: 1ade858bf205 Author: rhalade Date: 2020-07-29 09:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1ade858bf205 8243321: Add Entrust root CA - G4 to Oracle Root CA program Reviewed-by: mullan + make/data/cacerts/entrustrootcag4 ! test/security/infra/java/security/cert/CertPathValidator/certification/EntrustCA.java ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 0add2bae941f Author: aph Date: 2018-10-03 17:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0add2bae941f 8211163: UNIX version of Java_java_io_Console_echo does not return a clean boolean Reviewed-by: shade, alanb ! src/solaris/native/java/io/Console_md.c Changeset: d1be65f43918 Author: yzhou Date: 2019-10-10 14:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d1be65f43918 8231213: Migrate SimpleDateFormatConstTest to JDK Repo Reviewed-by: naoto + test/java/text/Format/DateFormat/SimpleDateFormatPatternTest.java Changeset: ff66a4d1f04a Author: bpb Date: 2014-05-07 11:45 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ff66a4d1f04a 8026236: Add PrimeTest for BigInteger Summary: Test primality verification methods in BigInteger Reviewed-by: psandoz Contributed-by: Brian Burkhalter , Peter Levart , Paul Sandoz , Aleksey Shipilev , Florian Weimer + test/java/math/BigInteger/PrimeTest.java Changeset: a6c6f4426961 Author: rriggs Date: 2016-10-31 13:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a6c6f4426961 8168517: java/lang/ProcessBuilder/Basic.java failed Reviewed-by: dholmes ! test/java/lang/ProcessBuilder/Basic.java Changeset: ea6dfe281859 Author: ebaron Date: 2020-08-19 14:42 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ea6dfe281859 8236645: JDK 8u231 introduces a regression with incompatible handling of XML messages Reviewed-by: sgehwolf ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java + test/javax/xml/crypto/dsig/LineFeedOnlyTest.java Changeset: 5370bb093690 Author: andrew Date: 2020-08-21 19:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5370bb093690 8078334: Mark regression tests using randomness Reviewed-by: mbalao ! test/com/sun/crypto/provider/Cipher/AES/CICO.java ! test/com/sun/crypto/provider/Cipher/AES/CTR.java ! test/com/sun/crypto/provider/Cipher/AES/Padding.java ! test/com/sun/crypto/provider/Cipher/AES/Test4513830.java ! test/com/sun/crypto/provider/Cipher/AES/Test4517355.java ! test/com/sun/crypto/provider/Cipher/AES/TestAESCipher.java ! test/com/sun/crypto/provider/Cipher/AES/TestCICOWithGCM.java ! test/com/sun/crypto/provider/Cipher/AES/TestCICOWithGCMAndAAD.java ! test/com/sun/crypto/provider/Cipher/AES/TestISO10126Padding.java ! test/com/sun/crypto/provider/Cipher/AES/TestNonexpanding.java ! test/com/sun/crypto/provider/Cipher/AES/TestSameBuffer.java ! test/com/sun/crypto/provider/Cipher/DES/FlushBug.java ! test/com/sun/crypto/provider/Cipher/PBE/PBESealedObject.java ! test/com/sun/crypto/provider/Cipher/PBE/PBKDF2Translate.java ! test/com/sun/crypto/provider/Cipher/PBE/PKCS12Cipher.java ! test/com/sun/crypto/provider/Cipher/PBE/TestCipherKeyWrapperPBEKey.java ! test/com/sun/crypto/provider/Cipher/RSA/TestOAEP.java ! test/com/sun/crypto/provider/Cipher/RSA/TestRSA.java ! test/com/sun/crypto/provider/Mac/HmacSaltLengths.java ! test/com/sun/crypto/provider/Mac/MacSameTest.java ! test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java ! test/java/io/DataInputStream/ReadUTF.java ! test/java/io/File/GetXSpace.java ! test/java/io/PrintStream/OversynchronizedTest.java ! test/java/io/Serializable/corruptedUTFConsumption/CorruptedUTFConsumption.java ! test/java/io/Serializable/longString/LongString.java ! test/java/io/Serializable/proxy/Basic.java ! test/java/io/Serializable/sanityCheck/SanityCheck.java ! test/java/lang/Boolean/MakeBooleanComparable.java ! test/java/lang/ClassLoader/Assert.java ! test/java/lang/Compare.java ! test/java/lang/Double/ParseHexFloatingPoint.java ! test/java/lang/Enum/ValueOf.java ! test/java/lang/HashCode.java ! test/java/lang/Integer/BitTwiddle.java ! test/java/lang/Long/BitTwiddle.java ! test/java/lang/Math/CubeRootTests.java ! test/java/lang/Math/HypotTests.java ! test/java/lang/Math/IeeeRecommendedTests.java ! test/java/lang/Math/Log1pTests.java ! test/java/lang/Runtime/exec/WinCommand.java ! test/java/lang/String/ContentEquals.java ! test/java/lang/String/ICCBasher.java ! test/java/lang/String/SBConstructor.java ! test/java/lang/String/Split.java ! test/java/lang/StringBuffer/AppendCharSequence.java ! test/java/lang/StringBuffer/AppendSB.java ! test/java/lang/StringBuffer/AppendStringBuilder.java ! test/java/lang/StringBuffer/Capacity.java ! test/java/lang/StringBuffer/IndexOf.java ! test/java/lang/StringBuffer/SBBasher.java ! test/java/lang/StringBuffer/Trim.java ! test/java/lang/StringBuilder/AppendStringBuffer.java ! test/java/lang/ToString.java ! test/java/lang/instrument/SingleTransformerTest.java ! test/java/lang/instrument/TransformMethodTest.java ! test/java/lang/invoke/MethodHandles/CatchExceptionTest.java ! test/java/lang/management/BufferPoolMXBean/Basic.java ! test/java/math/BigDecimal/StringConstructor.java ! test/java/math/BigInteger/BigIntegerTest.java ! test/java/math/BigInteger/ModPow65537.java ! test/java/math/BigInteger/PrimeTest.java ! test/java/math/BigInteger/SymmetricRangeTests.java ! test/java/net/InetAddress/HashSpread.java ! test/java/nio/Buffer/Chars.java ! test/java/nio/MappedByteBuffer/Force.java ! test/java/nio/MappedByteBuffer/ZeroMap.java ! test/java/nio/channels/AsynchronousChannelGroup/Basic.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousChannelGroup/Restart.java ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java ! test/java/nio/channels/AsynchronousFileChannel/LotsOfWrites.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java ! test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/Channels/ShortWrite.java ! test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java ! test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/java/nio/channels/DatagramChannel/Promiscuous.java ! test/java/nio/channels/FileChannel/AtomicAppend.java ! test/java/nio/channels/FileChannel/ClosedByInterrupt.java ! test/java/nio/channels/FileChannel/MapTest.java ! test/java/nio/channels/FileChannel/Position.java ! test/java/nio/channels/FileChannel/Pread.java ! test/java/nio/channels/FileChannel/Pwrite.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/channels/FileChannel/Truncate.java ! test/java/nio/channels/Pipe/PipeChannel.java ! test/java/nio/channels/Pipe/ScatteringRead.java ! test/java/nio/channels/Pipe/SelectPipe.java ! test/java/nio/channels/Selector/SelectorTest.java ! test/java/nio/channels/ServerSocketChannel/NonBlockingAccept.java ! test/java/nio/channels/SocketChannel/CloseDuringWrite.java ! test/java/nio/channels/SocketChannel/OutOfBand.java ! test/java/nio/channels/SocketChannel/ShortWrite.java ! test/java/nio/channels/SocketChannel/VectorIO.java ! test/java/nio/channels/etc/AdaptorCloseAndInterrupt.java ! test/java/nio/charset/coders/BashCache.java ! test/java/nio/charset/coders/BashStreams.java ! test/java/nio/file/Files/BytesAndLines.java ! test/java/nio/file/Files/CopyAndMove.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java ! test/java/nio/file/Files/walkFileTree/SkipSubtree.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java ! test/java/nio/file/WatchService/LotsOfEvents.java ! test/java/nio/file/WatchService/MayFlies.java ! test/java/nio/file/WatchService/SensitivityModifier.java ! test/java/nio/file/attribute/AclFileAttributeView/Basic.java ! test/java/nio/file/attribute/FileTime/Basic.java ! test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java ! test/java/security/MessageDigest/ByteBuffers.java ! test/java/security/MessageDigest/TestDigestIOStream.java ! test/java/security/MessageDigest/TestSameLength.java ! test/java/security/MessageDigest/TestSameValue.java ! test/java/security/Signature/ByteBuffers.java ! test/java/security/Signature/NONEwithRSA.java ! test/java/security/spec/EllipticCurveMatch.java ! test/java/sql/JavatimeTest.java ! test/java/text/Format/MessageFormat/Bug7003643.java ! test/java/util/Arrays/ArrayObjectMethods.java ! test/java/util/Arrays/CopyMethods.java ! test/java/util/Arrays/Correct.java ! test/java/util/Base64/TestBase64.java ! test/java/util/BitSet/BSMethods.java ! test/java/util/BitSet/ImportExport.java ! test/java/util/BitSet/PreviousBits.java ! test/java/util/Calendar/JavatimeTest.java ! test/java/util/Collection/MOAT.java ! test/java/util/Collections/AddAll.java ! test/java/util/Collections/CheckedListBash.java ! test/java/util/Collections/CheckedMapBash.java ! test/java/util/Collections/CheckedSetBash.java ! test/java/util/Collections/Disjoint.java ! test/java/util/Collections/Rotate.java ! test/java/util/EnumSet/EnumSetBash.java ! test/java/util/HashSet/Serialization.java ! test/java/util/IdentityHashMap/Capacity.java ! test/java/util/List/LockStep.java ! test/java/util/Map/LockStep.java ! test/java/util/NavigableMap/LockStep.java ! test/java/util/Properties/ConcurrentLoadAndStoreXML.java ! test/java/util/Random/DistinctSeeds.java ! test/java/util/Random/RandomStreamTest.java ! test/java/util/Random/RandomTest.java ! test/java/util/ResourceBundle/Control/StressTest.java ! test/java/util/SplittableRandom/SplittableRandomTest.java ! test/java/util/Timer/DelayOverflow.java ! test/java/util/Timer/Purge.java ! test/java/util/UUID/Serial.java ! test/java/util/UUID/UUIDTest.java ! test/java/util/WeakHashMap/GCDuringIteration.java ! test/java/util/logging/CheckZombieLockTest.java ! test/java/util/logging/DrainFindDeadlockTest.java ! test/java/util/logging/FileHandlerPath.java ! test/java/util/logging/LoggingDeadlock.java ! test/java/util/logging/LoggingDeadlock2.java ! test/java/util/logging/TestLogConfigurationDeadLockWithConf.java ! test/java/util/regex/RegExTest.java ! test/java/util/zip/3GBZipFiles.sh ! test/java/util/zip/DeflateIn_InflateOut.java ! test/java/util/zip/FlaterTest.java ! test/java/util/zip/GZIP/Accordion.java ! test/java/util/zip/GZIP/GZIPInputStreamRead.java ! test/java/util/zip/InflateIn_DeflateOut.java ! test/java/util/zip/InflaterBufferSize.java ! test/java/util/zip/TimeChecksum.java ! test/java/util/zip/TotalInOut.java ! test/java/util/zip/ZipFile/Assortment.java ! test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java ! test/java/util/zip/ZipFile/FinalizeZipFile.java ! test/java/util/zip/ZipFile/MultiThreadedReadTest.java ! test/java/util/zip/ZipFile/ReadZip.java ! test/javax/crypto/Cipher/ByteBuffers.java ! test/javax/crypto/CipherSpi/DirectBBRemaining.java ! test/javax/crypto/CryptoPermission/AllPermCheck.java ! test/javax/crypto/CryptoPermission/RC2PermCheck.java ! test/javax/crypto/JceSecurity/SunJCE_BC_LoadOrdering.java ! test/javax/crypto/KeyGenerator/TestKGParity.java ! test/javax/crypto/Mac/ByteBuffers.java ! test/javax/crypto/NullCipher/TestNPE.java ! test/javax/management/monitor/MultiMonitorTest.java ! test/javax/management/mxbean/ThreadMXBeanTest.java ! test/javax/management/remote/mandatory/loading/MissingClassTest.java ! test/javax/management/timer/MissingNotificationTest.java ! test/javax/smartcardio/TestCommandAPDU.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java ! test/sun/misc/CopyMemory.java ! test/sun/misc/FloatingDecimal/TestFloatingDecimal.java ! test/sun/net/www/ParseUtil_4922813.java ! test/sun/nio/cs/FindDecoderBugs.java ! test/sun/nio/cs/FindEncoderBugs.java ! test/sun/nio/cs/TestStringCoding.java ! test/sun/nio/cs/TestStringCodingUTF8.java ! test/sun/security/mscapi/PrngSlow.java ! test/sun/security/pkcs11/Cipher/ReinitCipher.java ! test/sun/security/pkcs11/Cipher/TestRSACipher.java ! test/sun/security/pkcs11/Cipher/TestRawRSACipher.java ! test/sun/security/pkcs11/Cipher/TestSymmCiphers.java ! test/sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java ! test/sun/security/pkcs11/KeyGenerator/DESParity.java ! test/sun/security/pkcs11/Mac/MacSameTest.java ! test/sun/security/pkcs11/Mac/ReinitMac.java ! test/sun/security/pkcs11/MessageDigest/ByteBuffers.java ! test/sun/security/pkcs11/MessageDigest/ReinitDigest.java ! test/sun/security/pkcs11/MessageDigest/TestCloning.java ! test/sun/security/pkcs11/Secmod/AddPrivateKey.java ! test/sun/security/pkcs11/Secmod/Crypto.java ! test/sun/security/pkcs11/Secmod/GetPrivateKey.java ! test/sun/security/pkcs11/SecureRandom/Basic.java ! test/sun/security/pkcs11/Signature/ByteBuffers.java ! test/sun/security/pkcs11/Signature/ReinitSignature.java ! test/sun/security/pkcs11/Signature/TestDSA.java ! test/sun/security/pkcs11/Signature/TestDSAKeyLength.java ! test/sun/security/pkcs11/ec/ReadPKCS12.java ! test/sun/security/pkcs11/ec/TestCurves.java ! test/sun/security/pkcs11/ec/TestECDSA.java ! test/sun/security/pkcs11/rsa/KeyWrap.java ! test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java ! test/sun/security/pkcs11/rsa/TestSignatures.java ! test/sun/security/provider/DSA/TestDSA.java ! test/sun/security/provider/DSA/TestDSA2.java ! test/sun/security/provider/SeedGenerator/Priority_Inversion.java ! test/sun/security/rsa/TestKeyPairGenerator.java ! test/sun/security/rsa/TestSignatures.java Changeset: 3f6ca2dd1b23 Author: bobv Date: 2019-03-21 14:40 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3f6ca2dd1b23 8220674: [TESTBUG] MetricsMemoryTester failcount test in docker container only works with debug JVMs Reviewed-by: sspitsyn, sgehwolf ! test/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java Changeset: 8a367e717840 Author: sgehwolf Date: 2020-08-19 18:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8a367e717840 8251546: 8u backport of JDK-8194298 breaks AIX and Solaris builds Reviewed-by: shade ! src/solaris/native/java/net/ExtendedOptionsImpl.c Changeset: edb84bd2f10f Author: sgehwolf Date: 2020-07-24 14:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/edb84bd2f10f 8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics Reviewed-by: aph, dholmes, bobv, shade ! make/lib/CoreLibraries.gmk ! make/mapfiles/libjava/mapfile-vers ! src/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java + src/linux/native/jdk/internal/platform/cgroupv1/Metrics.c ! src/share/javavm/export/jvm.h + test/jdk/internal/platform/docker/CheckUseContainerSupport.java + test/jdk/internal/platform/docker/TestUseContainerSupport.java Changeset: 45506343cb65 Author: andrew Date: 2020-08-27 06:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/45506343cb65 Added tag jdk8u272-b05 for changeset edb84bd2f10f ! .hgtags Changeset: 1a644698f5b4 Author: andrew Date: 2020-08-27 06:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1a644698f5b4 Merge jdk8u272-b05 ! .hgtags ! make/lib/CoreLibraries.gmk ! make/mapfiles/libjava/mapfile-vers ! src/share/classes/java/util/GregorianCalendar.java ! src/share/javavm/export/jvm.h ! test/java/lang/String/Split.java ! test/java/nio/channels/SocketChannel/ShortWrite.java ! test/java/nio/file/Files/BytesAndLines.java ! test/java/util/Base64/TestBase64.java ! test/java/util/Calendar/JavatimeTest.java ! test/java/util/Collection/MOAT.java ! test/java/util/regex/RegExTest.java ! test/java/util/zip/TotalInOut.java ! test/javax/management/remote/mandatory/loading/MissingClassTest.java ! test/sun/nio/cs/TestStringCoding.java Changeset: 915301ef4f83 Author: andrew Date: 2020-08-27 06:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/915301ef4f83 Added tag aarch64-shenandoah-jdk8u272-b05 for changeset 1a644698f5b4 ! .hgtags Changeset: 7c53cafafb39 Author: shade Date: 2020-08-28 07:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7c53cafafb39 Added tag aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28 for changeset 915301ef4f83 ! .hgtags From holger at applied-asynchrony.com Fri Aug 28 10:41:32 2020 From: holger at applied-asynchrony.com (=?UTF-8?Q?Holger_Hoffst=c3=a4tte?=) Date: Fri, 28 Aug 2020 12:41:32 +0200 Subject: Support for SoftMaxHeapSize? Message-ID: <32bc3e88-39e2-774c-4ae5-da932feeb08b@applied-asynchrony.com> Hi, I've been playing with setting SoftMaxHeapSize for ZGC in order to limit its somewhat eager hunger for heap, and it does a really great job while still allowing heap expansion for bursty LDS. Would this make sense for Shenandoah as well? Compact mode does a great job already, but IMHO some conceptual feature parity wouldn't hurt. Only if it's possible and not too much work, obviously. :) cheers Holger From fweimer at redhat.com Fri Aug 28 10:57:41 2020 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 28 Aug 2020 12:57:41 +0200 Subject: Support for SoftMaxHeapSize? In-Reply-To: <32bc3e88-39e2-774c-4ae5-da932feeb08b@applied-asynchrony.com> ("Holger \=\?utf-8\?Q\?Hoffst\=C3\=A4tte\=22's\?\= message of "Fri, 28 Aug 2020 12:41:32 +0200") References: <32bc3e88-39e2-774c-4ae5-da932feeb08b@applied-asynchrony.com> Message-ID: <87k0xjrqai.fsf@oldenburg2.str.redhat.com> * Holger Hoffst?tte: > I've been playing with setting SoftMaxHeapSize for ZGC in order to > limit its somewhat eager hunger for heap, and it does a really great > job while still allowing heap expansion for bursty LDS. Would this > make sense for Shenandoah as well? Compact mode does a great job > already, but IMHO some conceptual feature parity wouldn't hurt. Only > if it's possible and not too much work, obviously. :) I think you can get a similar effect by aggressively increasing -XX:ShenandoahMinFreeThreshold. It's measured in percent of the heap size, and it's kind of reversed for this purpose, but in my little experiments, it did work. Thanks, Florian From zgu at redhat.com Fri Aug 28 12:36:26 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 28 Aug 2020 08:36:26 -0400 Subject: [8] RFR: Shenandoah: JNI weak roots are always cleared before Full GC mark In-Reply-To: <6a7ced31-4d50-8611-c46c-ff8d8a766503@gmail.com> References: <63cc4c75-929d-dccf-f5ed-cc69c19455be@redhat.com> <6a7ced31-4d50-8611-c46c-ff8d8a766503@gmail.com> Message-ID: <377ad052-c58c-9348-493c-2d20525b4c8a@redhat.com> Hi Kornel, Yes, I will RFR to backout this workaround. Thanks, -Zhengyu On 8/28/20 12:52 AM, Kornel Pal wrote: > Hi Aleksey, > > Thank you very much for all the dedicated work on Shenandoah GC, it > really is useful. > > I wonder whether this workaround could safely be removed, now that > JDK-8248041 was backported to 8u. > > Thank you, > Kornel > > On 2020-06-22 19:39, Aleksey Shipilev wrote: >> Amir found the crash with Cassandra that started to happen recently >> with Shenandoah 8u. It >> reproduces more or less reliably with starting Cassandra 3.11.4 with >> fastdebug build and >> -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC. >> >> This is a symptom of a larger problem (see JDK-8248041), but 8u it is >> catastrophic due to clearing >> of the weak roots. >> >> Fix: >> >> https://cr.openjdk.java.net/~shade/shenandoah/8u-fullgc-jni-weak/webrev.01/ >> >> >> Testing: hotspot_gc_shenandoah; Cassandra tests >> > From zgu at redhat.com Fri Aug 28 13:38:18 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 28 Aug 2020 09:38:18 -0400 Subject: [sh/8u] RFR Shenandoah: Backed out weak roots cleaning during full gc Message-ID: This patch backout the workaround [1] for Cassandra failure. The root cause was fixed by JDK-8248041 [2] and backported in sh/jdk8u, therefore, this workaround is no longer needed. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh-8u-backout-weak-roots-cleaning-fullgc/webrev.00/ Test: hotspot_gc_shenandoah. Thanks, -Zhengyu [1] https://cr.openjdk.java.net/~shade/shenandoah/8u-fullgc-jni-weak/webrev.01/ [2] https://bugs.openjdk.java.net/browse/JDK-8248041 From maoliang.ml at alibaba-inc.com Mon Aug 31 04:31:32 2020 From: maoliang.ml at alibaba-inc.com (Liang Mao) Date: Mon, 31 Aug 2020 12:31:32 +0800 Subject: =?UTF-8?B?TG9uZyBwYXVzZSB0aW1lIG9mIEZpbmFsIE1hcmsgaW4gbGF0ZXN0IDExdSBzaGVuYW5kb2Fo?= Message-ID: <36499a2e-8566-4801-a44e-1d9e1453d0f8.maoliang.ml@alibaba-inc.com> Hi Roman, Thanks very much for your quick reply! I tried the flush interval but it didn't work. And then I looked into the code and reduced the number of ShenandoahSATBBufferSize which resolved the problem. But now I don't have the testing environment and cannot do more verificatoins. Will let you know once I have a double check. BTW, do you have any experience of performance impact if we reduce the default value of ShenandoahSATBBufferSize? I guess is it possible that the "snapshots" in Shenandoah would be more than G1 because G1 satb only handles old objects? Thanks, Liang ---------------------------------------------------------------------- Hello Liang, It sticks out that this is a really short concurrent-mark phase (69ms) but a really long final-mark phase (680ms). It seems likely that most of the reachable graph gets 'hidden' in SATB queues, which are only processed at final-mark. Also, the SATB flush interval is 100ms, so we don't get to flush the SATB queues at all, before hitting final-mark. It may be worth experimenting with lower ShenandoahSATBBufferFlushInterval, e.g. -XX:ShenandoahSATBBufferFlushInterval=30 or so. We are considering to add machinery to force-flush SATB queues during conc-mark, before hitting final-mark, so that we decrease the likelyhood of unmarked subgraphs hiding in SATB buffers. Let me know if decreasing the SATB flush interval helps! Thanks for the report! Cheers, Roman ------------------------------------------------------------------ From:MAO, Liang Send Time:2020 Aug. 27 (Thu.) 14:56 To:shenandoah-dev at openjdk.java.net Subject:Long pause time of Final Mark in latest 11u shenandoah Hi Shenandoah developers, We are investigating the product version of Shenandoah GC in 11u and it showed a good result except an unexpected behavior of long pause time in final mark (finish queues actually). I didn't find any open discussions of this issue yet and cannot see any suspicious points in code. Could you please help? Below is the problematic GC information in log. Usually the final mark only took ~2 ms. The long pause time of final mark happened in a rate of ~1% in this application. The java option is "-Xmx24g -Xms24g -XX:+UseShenandoahGC". [2020-08-27T13:42:26.940+0800][gc ] Trigger: Free (2451M) is below minimum threshold (2457M) [2020-08-27T13:42:26.940+0800][gc,ergo ] Free: 2451M, Max: 8192K regular, 1288M humongous, Frag: 47% external, 0% internal; Reserve: 1232M, Max: 8192K [2020-08-27T13:42:26.940+0800][gc,start ] GC(2167) Concurrent reset [2020-08-27T13:42:26.940+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent reset [2020-08-27T13:42:26.940+0800][gc,ergo ] GC(2167) Pacer for Reset. Non-Taxable: 24576M [2020-08-27T13:42:26.946+0800][gc ] GC(2167) Concurrent reset 5.489ms [2020-08-27T13:42:26.947+0800][gc,start ] GC(2167) Pause Init Mark [2020-08-27T13:42:26.947+0800][gc,task ] GC(2167) Using 8 of 8 workers for init marking [2020-08-27T13:42:26.948+0800][gc,ergo ] GC(2167) Pacer for Mark. Expected Live: 3577M, Free: 2451M, Non-Taxable: 245M, Alloc Tax Rate: 1.8x [2020-08-27T13:42:26.948+0800][gc ] GC(2167) Pause Init Mark 1.093ms [2020-08-27T13:42:26.948+0800][gc,start ] GC(2167) Concurrent marking [2020-08-27T13:42:26.948+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent marking [2020-08-27T13:42:27.018+0800][gc ] GC(2167) Concurrent marking 69.710ms [2020-08-27T13:42:27.019+0800][gc,start ] GC(2167) Pause Final Mark [2020-08-27T13:42:27.019+0800][gc,task ] GC(2167) Using 8 of 8 workers for final marking [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Adaptive CSet Selection. Target Free: 3481M, Actual Free: 15270M, Max CSet: 1024M, Min Garbage: 0B [2020-08-27T13:42:27.698+0800][gc,ergo ] GC(2167) Collectable Garbage: 16415M (96%), Immediate: 11966M (70%), CSet: 4448M (26%) [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Pacer for Evacuation. Used CSet: 5469M, Free: 14101M, Non-Taxable: 1410M, Alloc Tax Rate: 1.1x [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Pause Final Mark 679.962ms [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent cleanup [2020-08-27T13:42:27.699+0800][gc ] GC(2167) Concurrent cleanup 20942M->8984M(24576M) 0.288ms [2020-08-27T13:42:27.699+0800][gc,ergo ] GC(2167) Free: 14100M, Max: 8192K regular, 1288M humongous, Frag: 91% external, 0% internal; Reserve: 1231M, Max: 8192K [2020-08-27T13:42:27.699+0800][gc,start ] GC(2167) Concurrent evacuation [2020-08-27T13:42:27.699+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent evacuation [2020-08-27T13:42:27.879+0800][gc ] GC(2167) Concurrent evacuation 180.091ms [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Pause Init Update Refs [2020-08-27T13:42:27.881+0800][gc,ergo ] GC(2167) Pacer for Update Refs. Used: 10377M, Free: 13756M, Non-Taxable: 1375M, Alloc Tax Rate: 1.1x [2020-08-27T13:42:27.881+0800][gc ] GC(2167) Pause Init Update Refs 0.154ms [2020-08-27T13:42:27.881+0800][gc,start ] GC(2167) Concurrent update references [2020-08-27T13:42:27.881+0800][gc,task ] GC(2167) Using 4 of 8 workers for concurrent reference update [2020-08-27T13:42:28.570+0800][gc ] GC(2167) Concurrent update references 688.702ms[2020-08-27T13:42:28.571+0800][gc,start ] GC(2167) Pause Final Update Refs [2020-08-27T13:42:28.571+0800][gc,task ] GC(2167) Using 8 of 8 workers for final reference update [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Pause Final Update Refs 0.402ms [2020-08-27T13:42:28.571+0800][gc,start ] GC(2167) Concurrent cleanup [2020-08-27T13:42:28.571+0800][gc ] GC(2167) Concurrent cleanup 10886M->5416M(24576M) 0.156ms [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark (G) 681245 us [2020-08-27T13:42:28.572+0800][gc,stats ] Pause Final Mark (N) 679951 us [2020-08-27T13:42:28.572+0800][gc,stats ] Finish Queues 678515 us [2020-08-27T13:42:28.572+0800][gc,stats ] System Purge 130 us [2020-08-27T13:42:28.572+0800][gc,stats ] Weak Roots 129 us [2020-08-27T13:42:28.572+0800][gc,stats ] Update Region States 30 us [2020-08-27T13:42:28.572+0800][gc,stats ] Retire TLABs 102 us [2020-08-27T13:42:28.572+0800][gc,stats ] Choose Collection Set 197 us [2020-08-27T13:42:28.572+0800][gc,stats ] Rebuild Free Set 26 us [2020-08-27T13:42:28.572+0800][gc,stats ] Initial Evacuation 893 us, parallelism: 5.36x Thanks, Liang From shade at redhat.com Mon Aug 31 17:00:29 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 31 Aug 2020 19:00:29 +0200 Subject: Long pause time of Final Mark in latest 11u shenandoah In-Reply-To: <36499a2e-8566-4801-a44e-1d9e1453d0f8.maoliang.ml@alibaba-inc.com> References: <36499a2e-8566-4801-a44e-1d9e1453d0f8.maoliang.ml@alibaba-inc.com> Message-ID: On 8/31/20 6:31 AM, Liang Mao wrote: > Thanks very much for your quick reply! I tried the flush interval but it > didn't work. And then I looked into the code and reduced the number of > ShenandoahSATBBufferSize which resolved the problem. But now I don't have > the testing environment and cannot do more verificatoins. Will let you > know once I have a double check. Ah. Here is the thing: current FlushInterval only works when application comes with a full SATB buffer to the filtering code, which can then decide to flush if the period had expired. If mutator thread has something in the buffer, but _not_ anything else -- that would make the thread sit on the hidden elements until Final Mark. If you reduce ShenandoahSATBBufferSize, that probably makes those low-occupancy buffers submitted to filtering code, where flush deals with them. > BTW, do you have any experience of performance impact if we reduce the > default value of ShenandoahSATBBufferSize? I guess is it possible that > the "snapshots" in Shenandoah would be more than G1 because G1 satb > only handles old objects? SATB handles all reference stores, and it records "previous" values in the fields. So it is largely irrelevant if there are "old" or "young" objects. I'd expect the same kind of throughput loss as you would do with G1. Really, the proper way to solve this is to "handshake" the mutator threads before finalizing the concurrent mark, and by doing so force them to flush however small SATB buffers they sit on. -- Thanks, -Aleksey