From thartmann at openjdk.java.net Tue Jun 1 07:11:21 2021 From: thartmann at openjdk.java.net (Tobias Hartmann) Date: Tue, 1 Jun 2021 07:11:21 GMT Subject: RFR: 8267726: ZGC: array_copy_requires_gc_barriers too strict In-Reply-To: References: Message-ID: <-2SR08yJbdDn67HPzq0ZDMta8kk0JBPP2qe6Vb_wHpA=.aff3e875-9474-4de1-8de8-dba9a67b5e0b@github.com> On Thu, 27 May 2021 19:59:59 GMT, Nils Eliasson wrote: > I found some cases where an arraycopy clone is eliminated with G1 but not with ZGC. This is probably something that wasn't updated fully after the transition to late gc barrier insertion. > > During parse and optimizaton phases array_copy_requires_gc_barriers should return false for clones of oop-arrays. Clone of oop-arrays should be treated the same way as clones of primitive-arrays. During optimization phase - only clones of instances should return true - and that's because they can't be reduced to a raw bulk copy, Clones of instances must either become deconstructed into field copies, or be handled in a special call. > > During expansion array_copy_requires_gc_barriers must return true - because we must use a copy with barriers. > > To fix this I had to add an extra field to array_copy_requires_gc_barriers to be able to handle instance clones separately. I will follow up with a cleanup. The intersection of arraycopy-kinds and array_copy_requires_gc_barriers-method is the source of much unnecessary complexity. > > Please review, > Best regards, > Nils Eliasson Looks good to me. Please file a cleanup RFE and link it to this bug. Also, this might be a good candidate for adding a regression test once the IR verification framework is there. ------------- Marked as reviewed by thartmann (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4230 From neliasso at openjdk.java.net Tue Jun 1 09:01:19 2021 From: neliasso at openjdk.java.net (Nils Eliasson) Date: Tue, 1 Jun 2021 09:01:19 GMT Subject: RFR: 8267726: ZGC: array_copy_requires_gc_barriers too strict In-Reply-To: References: Message-ID: On Thu, 27 May 2021 19:59:59 GMT, Nils Eliasson wrote: > I found some cases where an arraycopy clone is eliminated with G1 but not with ZGC. This is probably something that wasn't updated fully after the transition to late gc barrier insertion. > > During parse and optimizaton phases array_copy_requires_gc_barriers should return false for clones of oop-arrays. Clone of oop-arrays should be treated the same way as clones of primitive-arrays. During optimization phase - only clones of instances should return true - and that's because they can't be reduced to a raw bulk copy, Clones of instances must either become deconstructed into field copies, or be handled in a special call. > > During expansion array_copy_requires_gc_barriers must return true - because we must use a copy with barriers. > > To fix this I had to add an extra field to array_copy_requires_gc_barriers to be able to handle instance clones separately. I will follow up with a cleanup. The intersection of arraycopy-kinds and array_copy_requires_gc_barriers-method is the source of much unnecessary complexity. > > Please review, > Best regards, > Nils Eliasson I filed RFE https://bugs.openjdk.java.net/browse/JDK-8268020 Yes - all the arraycopy and clone tests should be ported to IR verification. I might do that as a part of the RFE. Thanks for the review Tobias! ------------- PR: https://git.openjdk.java.net/jdk/pull/4230 From zgu at redhat.com Tue Jun 1 13:12:50 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 1 Jun 2021 09:12:50 -0400 Subject: [sh/jdk8u] Bulk backports to sh/jdk8 In-Reply-To: References: Message-ID: <670314dc-a2f2-9428-121b-228d25c58262@redhat.com> On 5/31/21 5:29 AM, Aleksey Shipilev wrote: > Hi, > > I would like to backport these simple things to reduce the difference > between codebases: > ? [backport] 8261413: Shenandoah: Disable class-unloading in I-U mode > ? [backport] 8261251: Shenandoah: Use object size for full GC humongous > ? [backport] 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp > ? [backport] 8259580: Shenandoah: uninitialized label in > VerifyThreadGCState > > Webrev: > > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20210531/webrev.01/ > > > Testing: hotspot_gc_shenandoah {fastdebug,release} > shenandoahVerifier.cpp class VerifyThreadGCState : public ThreadClosure { private: - const char* _label; - char _expected; + const char* const _label; + char const _expected; Indent. Otherwise, looks good to me. Thanks, -Zhengyu From shade at redhat.com Tue Jun 1 14:35:11 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 1 Jun 2021 16:35:11 +0200 Subject: [sh/jdk8u] Bulk backports to sh/jdk8 In-Reply-To: <670314dc-a2f2-9428-121b-228d25c58262@redhat.com> References: <670314dc-a2f2-9428-121b-228d25c58262@redhat.com> Message-ID: On 6/1/21 3:12 PM, Zhengyu Gu wrote: > > > On 5/31/21 5:29 AM, Aleksey Shipilev wrote: >> Hi, >> >> I would like to backport these simple things to reduce the difference >> between codebases: >> ? [backport] 8261413: Shenandoah: Disable class-unloading in I-U mode >> ? [backport] 8261251: Shenandoah: Use object size for full GC humongous >> ? [backport] 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp >> ? [backport] 8259580: Shenandoah: uninitialized label in >> VerifyThreadGCState >> >> Webrev: >> >> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20210531/webrev.01/ >> >> >> Testing: hotspot_gc_shenandoah {fastdebug,release} >> > > shenandoahVerifier.cpp > > class VerifyThreadGCState : public ThreadClosure { > private: > - const char* _label; > - char _expected; > + const char* const _label; > + char const _expected; > > Indent. This matches upstream: https://github.com/openjdk/jdk/blob/master/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp#L601-L602 OK to go in? -- Thanks, -Aleksey From zgu at redhat.com Tue Jun 1 14:44:54 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 1 Jun 2021 10:44:54 -0400 Subject: [sh/jdk8u] Bulk backports to sh/jdk8 In-Reply-To: References: <670314dc-a2f2-9428-121b-228d25c58262@redhat.com> Message-ID: <3c7a3123-100c-151f-76e2-8e8d5bf57223@redhat.com> > OK to go in? > Okay. -Zhengyu From shade at redhat.com Tue Jun 1 14:48:45 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 1 Jun 2021 16:48:45 +0200 Subject: [sh/jdk8u] Bulk backports to sh/jdk8 In-Reply-To: <3c7a3123-100c-151f-76e2-8e8d5bf57223@redhat.com> References: <670314dc-a2f2-9428-121b-228d25c58262@redhat.com> <3c7a3123-100c-151f-76e2-8e8d5bf57223@redhat.com> Message-ID: On 6/1/21 4:44 PM, Zhengyu Gu wrote: >> OK to go in? >> > > Okay. Thanks, pushed. -- -Aleksey From shade at redhat.com Tue Jun 1 14:48:39 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 01 Jun 2021 14:48:39 +0000 Subject: hg: shenandoah/jdk8/hotspot: 4 new changesets Message-ID: <202106011448.151EmdGv028550@aojmv0008.oracle.com> Changeset: d3290351b6ae Author: rkennke Date: 2021-02-16 08:17 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d3290351b6ae [backport] 8261413: Shenandoah: Disable class-unloading in I-U mode Reviewed-by: shade, zgu ! src/share/vm/gc_implementation/shenandoah/mode/shenandoahIUMode.cpp Changeset: c079dda2e42b Author: rkennke Date: 2021-02-08 08:01 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c079dda2e42b [backport] 8261251: Shenandoah: Use object size for full GC humongous Reviewed-by: aph, shade ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: 3e3d3eb947ab Author: shade Date: 2021-03-02 08:07 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3e3d3eb947ab [backport] 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp ! test/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/gc/shenandoah/mxbeans/TestPauseNotifications.java Changeset: c23d5d935237 Author: shade Date: 2021-01-13 11:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c23d5d935237 [backport] 8259580: Shenandoah: uninitialized label in VerifyThreadGCState Reviewed-by: zgu, rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp From gnu.andrew at redhat.com Wed Jun 2 02:14:41 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 2 Jun 2021 03:14:41 +0100 Subject: [RFR] [8u] 8u302-b02 Upstream Sync In-Reply-To: <4b71ccc8-a0f3-a040-e742-8a3351246a11@redhat.com> References: <20210527160205.GB1788663@rincewind> <4b71ccc8-a0f3-a040-e742-8a3351246a11@redhat.com> Message-ID: <20210602021441.GA2060454@rincewind> On 18:48 Thu 27 May , Aleksey Shipilev wrote: > On 5/27/21 6:02 PM, Andrew Hughes wrote: > > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/ > > > > Merge changesets: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/corba/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/jaxp/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/jaxws/merge.changeset > > Look trivially fine. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/jdk/merge.changeset > > Looks fine. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/hotspot/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/langtools/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/nashorn/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b02/root/merge.changeset > > Look trivially fine. > > > 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 vlivanov at openjdk.java.net Wed Jun 2 08:18:37 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Wed, 2 Jun 2021 08:18:37 GMT Subject: RFR: 8267726: ZGC: array_copy_requires_gc_barriers too strict In-Reply-To: References: Message-ID: On Thu, 27 May 2021 19:59:59 GMT, Nils Eliasson wrote: > I found some cases where an arraycopy clone is eliminated with G1 but not with ZGC. This is probably something that wasn't updated fully after the transition to late gc barrier insertion. > > During parse and optimizaton phases array_copy_requires_gc_barriers should return false for clones of oop-arrays. Clone of oop-arrays should be treated the same way as clones of primitive-arrays. During optimization phase - only clones of instances should return true - and that's because they can't be reduced to a raw bulk copy, Clones of instances must either become deconstructed into field copies, or be handled in a special call. > > During expansion array_copy_requires_gc_barriers must return true - because we must use a copy with barriers. > > To fix this I had to add an extra field to array_copy_requires_gc_barriers to be able to handle instance clones separately. I will follow up with a cleanup. The intersection of arraycopy-kinds and array_copy_requires_gc_barriers-method is the source of much unnecessary complexity. > > Please review, > Best regards, > Nils Eliasson Looks good. ------------- Marked as reviewed by vlivanov (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4230 From neliasso at openjdk.java.net Wed Jun 2 09:06:33 2021 From: neliasso at openjdk.java.net (Nils Eliasson) Date: Wed, 2 Jun 2021 09:06:33 GMT Subject: RFR: 8267726: ZGC: array_copy_requires_gc_barriers too strict In-Reply-To: References: Message-ID: On Thu, 27 May 2021 19:59:59 GMT, Nils Eliasson wrote: > I found some cases where an arraycopy clone is eliminated with G1 but not with ZGC. This is probably something that wasn't updated fully after the transition to late gc barrier insertion. > > During parse and optimizaton phases array_copy_requires_gc_barriers should return false for clones of oop-arrays. Clone of oop-arrays should be treated the same way as clones of primitive-arrays. During optimization phase - only clones of instances should return true - and that's because they can't be reduced to a raw bulk copy, Clones of instances must either become deconstructed into field copies, or be handled in a special call. > > During expansion array_copy_requires_gc_barriers must return true - because we must use a copy with barriers. > > To fix this I had to add an extra field to array_copy_requires_gc_barriers to be able to handle instance clones separately. I will follow up with a cleanup. The intersection of arraycopy-kinds and array_copy_requires_gc_barriers-method is the source of much unnecessary complexity. > > Please review, > Best regards, > Nils Eliasson Thanks for the reviews, Tobias and Vladimir. Thanks for the reviews, Tobias and Vladimir. ------------- PR: https://git.openjdk.java.net/jdk/pull/4230 From neliasso at openjdk.java.net Wed Jun 2 09:06:34 2021 From: neliasso at openjdk.java.net (Nils Eliasson) Date: Wed, 2 Jun 2021 09:06:34 GMT Subject: Integrated: 8267726: ZGC: array_copy_requires_gc_barriers too strict In-Reply-To: References: Message-ID: On Thu, 27 May 2021 19:59:59 GMT, Nils Eliasson wrote: > I found some cases where an arraycopy clone is eliminated with G1 but not with ZGC. This is probably something that wasn't updated fully after the transition to late gc barrier insertion. > > During parse and optimizaton phases array_copy_requires_gc_barriers should return false for clones of oop-arrays. Clone of oop-arrays should be treated the same way as clones of primitive-arrays. During optimization phase - only clones of instances should return true - and that's because they can't be reduced to a raw bulk copy, Clones of instances must either become deconstructed into field copies, or be handled in a special call. > > During expansion array_copy_requires_gc_barriers must return true - because we must use a copy with barriers. > > To fix this I had to add an extra field to array_copy_requires_gc_barriers to be able to handle instance clones separately. I will follow up with a cleanup. The intersection of arraycopy-kinds and array_copy_requires_gc_barriers-method is the source of much unnecessary complexity. > > Please review, > Best regards, > Nils Eliasson This pull request has now been integrated. Changeset: bba3728e Author: Nils Eliasson URL: https://git.openjdk.java.net/jdk/commit/bba3728e238855d509b38a021691b677fb904241 Stats: 21 lines in 10 files changed: 9 ins; 0 del; 12 mod 8267726: ZGC: array_copy_requires_gc_barriers too strict Reviewed-by: thartmann, vlivanov ------------- PR: https://git.openjdk.java.net/jdk/pull/4230 From zgu at openjdk.java.net Wed Jun 2 20:55:52 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 2 Jun 2021 20:55:52 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size Message-ID: TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. This is *not* AArch64 specific, just none of our regular test machines has large page setup. I purpose two invariants: 1) Heap size always aligns up to page size that is requested. 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. This partially reverts JDK-8266802. Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. Test: hotspot_gc_shenandoah ------------- Commit messages: - v2 - v1 Changes: https://git.openjdk.java.net/jdk/pull/4320/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268127 Stats: 32 lines in 4 files changed: 19 ins; 1 del; 12 mod Patch: https://git.openjdk.java.net/jdk/pull/4320.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320 PR: https://git.openjdk.java.net/jdk/pull/4320 From zgu at openjdk.java.net Wed Jun 2 21:57:56 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Wed, 2 Jun 2021 21:57:56 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v2] In-Reply-To: References: Message-ID: > TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. > > This is *not* AArch64 specific, just none of our regular test machines has large page setup. > > I purpose two invariants: > 1) Heap size always aligns up to page size that is requested. > 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. > > This partially reverts JDK-8266802. > > Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. > > Test: > hotspot_gc_shenandoah Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: Fix compilation error ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4320/files - new: https://git.openjdk.java.net/jdk/pull/4320/files/892d07be..1e0e8320 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=00-01 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/4320.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320 PR: https://git.openjdk.java.net/jdk/pull/4320 From zgu at openjdk.java.net Thu Jun 3 00:12:02 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Thu, 3 Jun 2021 00:12:02 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v3] In-Reply-To: References: Message-ID: > TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. > > This is *not* AArch64 specific, just none of our regular test machines has large page setup. > > I purpose two invariants: > 1) Heap size always aligns up to page size that is requested. > 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. > > This partially reverts JDK-8266802. > > Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. > > Test: > hotspot_gc_shenandoah Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: Window build ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4320/files - new: https://git.openjdk.java.net/jdk/pull/4320/files/1e0e8320..b5e0137c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/4320.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320 PR: https://git.openjdk.java.net/jdk/pull/4320 From gnu.andrew at redhat.com Fri Jun 4 04:42:05 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 4 Jun 2021 05:42:05 +0100 Subject: [RFR] [8u] 8u302-b03 Upstream Sync Message-ID: <20210604044205.GC2154500@rincewind> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/root/merge.changeset Changes in aarch64-shenandoah-jdk8u302-b03: - JDK-8019470: Changes needed to compile JDK 8 on MacOS with clang compiler - JDK-8138820: JDK Hotspot build fails with Xcode 7.0.1 - JDK-8241829: Cleanup the code for PrinterJob on windows - JDK-8252883: AccessDeniedException caused by delayed file deletion on Windows - JDK-8256818: SSLSocket that is never bound or connected leaks socket resources - JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks - JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test - JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 - JDK-8264640: CMS ParScanClosure misses a barrier Main issues of note: None, clean merge (only minor HotSpot changes). diffstat for root b/.hgtags | 1 b/common/autoconf/flags.m4 | 39 ++++++++++++++++++ b/common/autoconf/generated-configure.sh | 65 +++++++++++++++++++++++++++++-- b/common/autoconf/toolchain.m4 | 23 ++++++++++ 4 files changed, 123 insertions(+), 5 deletions(-) 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/src/share/classes/java/util/logging/FileHandler.java | 19 ++ b/src/share/classes/sun/security/ssl/SSLSocketImpl.java | 37 ++-- b/src/windows/classes/sun/print/PrintServiceLookupProvider.java | 38 ---- b/src/windows/native/sun/windows/WPrinterJob.cpp | 71 +++---- b/test/java/awt/print/PrintServicesSecurityManager.java | 48 +++++ b/test/java/util/logging/FileHandlerAccessTest.java | 55 ++++++ b/test/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java | 89 ++++++++++ b/test/sun/security/ssl/SSLSocketImpl/libFileUtils.c | 40 ++++ 9 files changed, 306 insertions(+), 92 deletions(-) diffstat for hotspot b/.hgtags | 1 + b/make/bsd/makefiles/gcc.make | 8 ++++---- b/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp | 2 ++ 3 files changed, 7 insertions(+), 4 deletions(-) Successfully built on x86, x86_64, s390 (Zero), s390x (Zero), ppc (Zero), ppc64, ppc64le & aarch64. Ok to push? Once this is pushed, we can do the sync from sh8->aarch64-port/shenandoah-jdk8u. 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 Fri Jun 4 08:46:28 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 4 Jun 2021 10:46:28 +0200 Subject: [RFR] [8u] 8u302-b03 Upstream Sync In-Reply-To: <20210604044205.GC2154500@rincewind> References: <20210604044205.GC2154500@rincewind> Message-ID: On 6/4/21 6:42 AM, Andrew Hughes wrote: > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/ > > Merge changesets: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxws/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/hotspot/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/nashorn/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/root/merge.changeset Looks good. > Ok to push? Yes. -- Thanks, -Aleksey From xliu at openjdk.java.net Sat Jun 5 00:00:09 2021 From: xliu at openjdk.java.net (Xin Liu) Date: Sat, 5 Jun 2021 00:00:09 GMT Subject: RFR: 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone Message-ID: LibraryLookup::lookup has been refactored in JDK-8268129. Replace it with SymbolLookup.loaderLookup. ------------- Commit messages: - 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone Changes: https://git.openjdk.java.net/jdk/pull/4370/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4370&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268279 Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/4370.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4370/head:pull/4370 PR: https://git.openjdk.java.net/jdk/pull/4370 From zgu at openjdk.java.net Sat Jun 5 13:43:57 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Sat, 5 Jun 2021 13:43:57 GMT Subject: RFR: 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone In-Reply-To: References: Message-ID: On Fri, 4 Jun 2021 23:52:31 GMT, Xin Liu wrote: > LibraryLookup::lookup has been refactored in JDK-8268129. Replace it with SymbolLookup.loaderLookup. Looks good. Thanks. ------------- Marked as reviewed by zgu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4370 From xliu at openjdk.java.net Mon Jun 7 05:31:00 2021 From: xliu at openjdk.java.net (Xin Liu) Date: Mon, 7 Jun 2021 05:31:00 GMT Subject: RFR: 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone In-Reply-To: References: Message-ID: On Fri, 4 Jun 2021 23:52:31 GMT, Xin Liu wrote: > LibraryLookup::lookup has been refactored in JDK-8268129. Replace it with SymbolLookup.loaderLookup. By rules, we need another reviewer/sponsor for this change. This patch can restore hotspot-tier1 tests. Thanks. ------------- PR: https://git.openjdk.java.net/jdk/pull/4370 From jiefu at openjdk.java.net Mon Jun 7 06:12:00 2021 From: jiefu at openjdk.java.net (Jie Fu) Date: Mon, 7 Jun 2021 06:12:00 GMT Subject: RFR: 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone In-Reply-To: References: Message-ID: On Fri, 4 Jun 2021 23:52:31 GMT, Xin Liu wrote: > LibraryLookup::lookup has been refactored in JDK-8268129. Replace it with SymbolLookup.loaderLookup. Looks good to me. Thanks for fixing it. ------------- Marked as reviewed by jiefu (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4370 From xliu at openjdk.java.net Mon Jun 7 06:16:02 2021 From: xliu at openjdk.java.net (Xin Liu) Date: Mon, 7 Jun 2021 06:16:02 GMT Subject: Integrated: 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone In-Reply-To: References: Message-ID: On Fri, 4 Jun 2021 23:52:31 GMT, Xin Liu wrote: > LibraryLookup::lookup has been refactored in JDK-8268129. Replace it with SymbolLookup.loaderLookup. This pull request has now been integrated. Changeset: 2aeeeb40 Author: Xin Liu Committer: Jie Fu URL: https://git.openjdk.java.net/jdk/commit/2aeeeb40a06c0c71537ce7de2e00bab9faf817a9 Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 mod 8268279: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails after LibraryLookup is gone Reviewed-by: zgu, jiefu ------------- PR: https://git.openjdk.java.net/jdk/pull/4370 From rkennke at openjdk.java.net Mon Jun 7 11:40:28 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 7 Jun 2021 11:40:28 GMT Subject: RFR: Young refproc test In-Reply-To: References: Message-ID: On Thu, 20 May 2021 20:31:38 GMT, wadehenn wrote: > Young refproc test Marked as reviewed by rkennke (Lead). ------------- PR: https://git.openjdk.java.net/shenandoah/pull/42 From rkennke at openjdk.java.net Mon Jun 7 12:22:59 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 7 Jun 2021 12:22:59 GMT Subject: RFR: 8267875: Shenandoah: Duplicated code in ShenandoahBarrierSetC2::ideal_node() In-Reply-To: References: Message-ID: On Thu, 27 May 2021 18:29:40 GMT, Zhengyu Gu wrote: > Node::set_req_X definition as: > void Node::set_req_X(uint i, Node *n, PhaseGVN *gvn) { > PhaseIterGVN* igvn = gvn->is_IterGVN(); > if (igvn == NULL) { > set_req(i, n); > return; > } > set_req_X(i, n, igvn); > } > > ShenandoahBarrierSetC2::ideal_node() duplicates above logic. > > > Test: > hotspot_gc_shenandoah LGTM. Please wait for @rwestrel approval. ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4229 From rkennke at openjdk.java.net Mon Jun 7 12:27:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 7 Jun 2021 12:27:02 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v3] In-Reply-To: References: Message-ID: On Thu, 3 Jun 2021 00:12:02 GMT, Zhengyu Gu wrote: >> TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. >> >> This is *not* AArch64 specific, just none of our regular test machines has large page setup. >> >> I purpose two invariants: >> 1) Heap size always aligns up to page size that is requested. >> 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. >> >> This partially reverts JDK-8266802. >> >> Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. >> >> Test: >> hotspot_gc_shenandoah > > Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision: > > Window build Please check what is up with pre-submit tests. src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 470: > 468: } > 469: > 470: void ShenandoahHeapRegion::setup_sizes(size_t& max_heap_size) { I wonder if it would be clearer to return the adjusted max_heap_size instead? ------------- PR: https://git.openjdk.java.net/jdk/pull/4320 From zgu at openjdk.java.net Mon Jun 7 13:04:41 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 7 Jun 2021 13:04:41 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v4] In-Reply-To: References: Message-ID: > TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. > > This is *not* AArch64 specific, just none of our regular test machines has large page setup. > > I purpose two invariants: > 1) Heap size always aligns up to page size that is requested. > 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. > > This partially reverts JDK-8266802. > > Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. > > Test: > hotspot_gc_shenandoah Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: - rkennke's comment - Merge branch 'master' into JDK-8268127-large-page-small-heap - Window build - Fix compilation error - v2 - v1 ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4320/files - new: https://git.openjdk.java.net/jdk/pull/4320/files/b5e0137c..e2c6a99e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=02-03 Stats: 528241 lines in 2987 files changed: 463720 ins; 56426 del; 8095 mod Patch: https://git.openjdk.java.net/jdk/pull/4320.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320 PR: https://git.openjdk.java.net/jdk/pull/4320 From gnu.andrew at redhat.com Mon Jun 7 13:23:36 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 7 Jun 2021 14:23:36 +0100 Subject: [RFR] [8u] 8u302-b03 Upstream Sync In-Reply-To: References: <20210604044205.GC2154500@rincewind> Message-ID: <20210607132336.GA2272992@rincewind> On 10:46 Fri 04 Jun , Aleksey Shipilev wrote: > On 6/4/21 6:42 AM, Andrew Hughes wrote: > > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/ > > > > Merge changesets: > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/corba/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxp/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jaxws/merge.changeset > > Looks trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/jdk/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/hotspot/merge.changeset > > Looks good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/langtools/merge.changeset > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/nashorn/merge.changeset > > Looks trivially good. > > > http://cr.openjdk.java.net/~andrew/shenandoah-8/u302-b03/root/merge.changeset > > Looks good. > > > Ok to push? > > Yes. > > > -- > Thanks, > -Aleksey > Pushed. 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 roland at openjdk.java.net Mon Jun 7 13:48:20 2021 From: roland at openjdk.java.net (Roland Westrelin) Date: Mon, 7 Jun 2021 13:48:20 GMT Subject: RFR: 8267875: Shenandoah: Duplicated code in ShenandoahBarrierSetC2::ideal_node() In-Reply-To: References: Message-ID: On Thu, 27 May 2021 18:29:40 GMT, Zhengyu Gu wrote: > Node::set_req_X definition as: > void Node::set_req_X(uint i, Node *n, PhaseGVN *gvn) { > PhaseIterGVN* igvn = gvn->is_IterGVN(); > if (igvn == NULL) { > set_req(i, n); > return; > } > set_req_X(i, n, igvn); > } > > ShenandoahBarrierSetC2::ideal_node() duplicates above logic. > > > Test: > hotspot_gc_shenandoah Looks good to me. ------------- Marked as reviewed by roland (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4229 From zgu at openjdk.java.net Mon Jun 7 14:03:25 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 7 Jun 2021 14:03:25 GMT Subject: Integrated: 8267875: Shenandoah: Duplicated code in ShenandoahBarrierSetC2::ideal_node() In-Reply-To: References: Message-ID: On Thu, 27 May 2021 18:29:40 GMT, Zhengyu Gu wrote: > Node::set_req_X definition as: > void Node::set_req_X(uint i, Node *n, PhaseGVN *gvn) { > PhaseIterGVN* igvn = gvn->is_IterGVN(); > if (igvn == NULL) { > set_req(i, n); > return; > } > set_req_X(i, n, igvn); > } > > ShenandoahBarrierSetC2::ideal_node() duplicates above logic. > > > Test: > hotspot_gc_shenandoah This pull request has now been integrated. Changeset: ea8274fb Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/ea8274fbf07d7308bcef5aacbe553dc7b37887e3 Stats: 11 lines in 1 file changed: 0 ins; 9 del; 2 mod 8267875: Shenandoah: Duplicated code in ShenandoahBarrierSetC2::ideal_node() Reviewed-by: rkennke, roland ------------- PR: https://git.openjdk.java.net/jdk/pull/4229 From shade at openjdk.java.net Tue Jun 8 14:09:26 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 8 Jun 2021 14:09:26 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v4] In-Reply-To: References: Message-ID: On Mon, 7 Jun 2021 13:04:41 GMT, Zhengyu Gu wrote: >> TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. >> >> This is *not* AArch64 specific, just none of our regular test machines has large page setup. >> >> I purpose two invariants: >> 1) Heap size always aligns up to page size that is requested. >> 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. >> >> This partially reverts JDK-8266802. >> >> Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. >> >> Test: >> hotspot_gc_shenandoah > > Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: > > - rkennke's comment > - Merge branch 'master' into JDK-8268127-large-page-small-heap > - Window build > - Fix compilation error > - v2 > - v1 This looks fine to me, modulo nits below. Consider adding new test cases in `gc/shenandoah/TestLargePages.java`. This fails for me on Linux x86_64 (2M large pages by default): `build/linux-x86_64-server-fastdebug/images/jdk/bin/java -XX:+UseShenandoahGC -Xmx16m -XX:+UseLargePages Test` src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 183: > 181: > 182: log_info(gc)("Setup heap, size: " SIZE_FORMAT "K, region size: " SIZE_FORMAT "K and region count: " SIZE_FORMAT, > 183: max_byte_size / K, reg_size_bytes / K, _num_regions); This seems redundant. I think `gc+init` already prints this? src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 559: > 557: } else { > 558: // Should have been checked during argument initialization > 559: assert(!ShenandoahUncommit, "Uncommit requires region size aligns to underline page size"); Assert message: "Uncommit requires region size aligned to large page size"? ------------- Marked as reviewed by shade (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4320 From rkennke at openjdk.java.net Tue Jun 8 16:42:25 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Tue, 8 Jun 2021 16:42:25 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v4] In-Reply-To: References: Message-ID: On Mon, 7 Jun 2021 13:04:41 GMT, Zhengyu Gu wrote: >> TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. >> >> This is *not* AArch64 specific, just none of our regular test machines has large page setup. >> >> I purpose two invariants: >> 1) Heap size always aligns up to page size that is requested. >> 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. >> >> This partially reverts JDK-8266802. >> >> Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. >> >> Test: >> hotspot_gc_shenandoah > > Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: > > - rkennke's comment > - Merge branch 'master' into JDK-8268127-large-page-small-heap > - Window build > - Fix compilation error > - v2 > - v1 Marked as reviewed by rkennke (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/4320 From zgu at openjdk.java.net Tue Jun 8 19:56:42 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 8 Jun 2021 19:56:42 GMT Subject: RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v5] In-Reply-To: References: Message-ID: <4XfVbNH8EShwPdnaOv1cIY6iFsGFQdma-uiMWwAaVDw=.56c35222-8fba-4e30-8a3b-911111d2d5f7@github.com> > TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. > > This is *not* AArch64 specific, just none of our regular test machines has large page setup. > > I purpose two invariants: > 1) Heap size always aligns up to page size that is requested. > 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. > > This partially reverts JDK-8266802. > > Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. > > Test: > hotspot_gc_shenandoah Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains ten additional commits since the last revision: - Added extra line - Merge branch 'master' into JDK-8268127-large-page-small-heap - Aleksey's comment - rkennke's comment - Merge branch 'master' into JDK-8268127-large-page-small-heap - Window build - Fix compilation error - v2 - v1 ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4320/files - new: https://git.openjdk.java.net/jdk/pull/4320/files/e2c6a99e..d490e06e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=03-04 Stats: 19081 lines in 183 files changed: 16773 ins; 1080 del; 1228 mod Patch: https://git.openjdk.java.net/jdk/pull/4320.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320 PR: https://git.openjdk.java.net/jdk/pull/4320 From zgu at openjdk.java.net Tue Jun 8 20:34:27 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 8 Jun 2021 20:34:27 GMT Subject: Integrated: 8268127: Shenandoah: Heap size may be too small for region to align to large page size In-Reply-To: References: Message-ID: On Wed, 2 Jun 2021 20:47:32 GMT, Zhengyu Gu wrote: > TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M. > > This is *not* AArch64 specific, just none of our regular test machines has large page setup. > > I purpose two invariants: > 1) Heap size always aligns up to page size that is requested. > 2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size. > > This partially reverts JDK-8266802. > > Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS. > > Test: > hotspot_gc_shenandoah This pull request has now been integrated. Changeset: 5ad4a91c Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/5ad4a91c3d89f7118a99e5bd56fc86a9a6d57abf Stats: 33 lines in 3 files changed: 20 ins; 0 del; 13 mod 8268127: Shenandoah: Heap size may be too small for region to align to large page size Reviewed-by: rkennke, shade ------------- PR: https://git.openjdk.java.net/jdk/pull/4320 From shade at openjdk.java.net Mon Jun 14 08:08:39 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 14 Jun 2021 08:08:39 GMT Subject: RFR: Fix 32-bit builds Message-ID: Currently fails with: ------------- Commit messages: - Fix 32-bit builds Changes: https://git.openjdk.java.net/shenandoah/pull/49/files Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=49&range=00 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/shenandoah/pull/49.diff Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/49/head:pull/49 PR: https://git.openjdk.java.net/shenandoah/pull/49 From rkennke at openjdk.java.net Mon Jun 14 10:58:21 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 14 Jun 2021 10:58:21 GMT Subject: RFR: Fix 32-bit builds In-Reply-To: References: Message-ID: On Mon, 14 Jun 2021 08:02:45 GMT, Aleksey Shipilev wrote: > Currently fails with: Good! ------------- Marked as reviewed by rkennke (Lead). PR: https://git.openjdk.java.net/shenandoah/pull/49 From shade at openjdk.java.net Mon Jun 14 11:06:23 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 14 Jun 2021 11:06:23 GMT Subject: RFR: Fix 32-bit builds In-Reply-To: References: Message-ID: On Mon, 14 Jun 2021 08:02:45 GMT, Aleksey Shipilev wrote: > Currently fails with: Thanks! ------------- PR: https://git.openjdk.java.net/shenandoah/pull/49 From shade at openjdk.java.net Mon Jun 14 11:06:25 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 14 Jun 2021 11:06:25 GMT Subject: Integrated: Fix 32-bit builds In-Reply-To: References: Message-ID: On Mon, 14 Jun 2021 08:02:45 GMT, Aleksey Shipilev wrote: > Currently fails with: This pull request has now been integrated. Changeset: 0b3dc74b Author: Aleksey Shipilev URL: https://git.openjdk.java.net/shenandoah/commit/0b3dc74b973c48817f5e280abf8102530bdb7a4f Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Fix 32-bit builds Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/shenandoah/pull/49 From zgu at openjdk.java.net Mon Jun 14 14:54:14 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 14 Jun 2021 14:54:14 GMT Subject: RFR: 8268699: Shenandoah: Add test for JDK-8268127 Message-ID: Large pages on x86 is 2m and Shenandoah expects >= 10 minimal regions, so heap size has to be < 20m to verify JDK-8268127. Test: - [x] Passed new test on Linux x86_64 ------------- Commit messages: - v0 Changes: https://git.openjdk.java.net/jdk/pull/4486/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4486&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268699 Stats: 71 lines in 1 file changed: 71 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/4486.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4486/head:pull/4486 PR: https://git.openjdk.java.net/jdk/pull/4486 From rkennke at openjdk.java.net Mon Jun 14 16:14:50 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 14 Jun 2021 16:14:50 GMT Subject: RFR: 8268699: Shenandoah: Add test for JDK-8268127 In-Reply-To: References: Message-ID: On Mon, 14 Jun 2021 14:46:00 GMT, Zhengyu Gu wrote: > Large pages on x86 is 2m and Shenandoah expects >= 10 minimal regions, so heap size has to be < 20m to verify JDK-8268127. > > Test: > > - [x] Passed new test on Linux x86_64 Marked as reviewed by rkennke (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/4486 From zgu at openjdk.java.net Mon Jun 14 18:11:00 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Mon, 14 Jun 2021 18:11:00 GMT Subject: Integrated: 8268699: Shenandoah: Add test for JDK-8268127 In-Reply-To: References: Message-ID: On Mon, 14 Jun 2021 14:46:00 GMT, Zhengyu Gu wrote: > Large pages on x86 is 2m and Shenandoah expects >= 10 minimal regions, so heap size has to be < 20m to verify JDK-8268127. > > Test: > > - [x] Passed new test on Linux x86_64 This pull request has now been integrated. Changeset: e59acd98 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk/commit/e59acd9860ca9e50c91472f8215f73c17d2099b6 Stats: 71 lines in 1 file changed: 71 ins; 0 del; 0 mod 8268699: Shenandoah: Add test for JDK-8268127 Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/4486 From zgu at redhat.com Wed Jun 16 16:15:59 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 16 Jun 2021 12:15:59 -0400 Subject: [sh/jdk8] Backport Shenandoah with large pages and small heap and test Message-ID: <7dee3514-9156-92c3-3abd-6a1d7dff0767@redhat.com> I would like to backport following 2 patches to Shenandoah/jdk8u. 8268127: Shenandoah: Heap size may be too small for region to align to large page size 8268699: Shenandoah: Add test for JDK-8268127 JDK-8268127 also fixed minimum region count requirement. Both patches don't apply cleanly. JDK-8268127: Context is quite different, resolved manually. JDK-8268699: Removed "@requires vm.gc.Shenandoah" annotations, that is not recognizable in 8u Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/largepage_smallheap/webrev.00/ Test: hotspot_gc_shenandoah with new test. Thanks, -Zhengyu From shade at redhat.com Wed Jun 16 16:26:33 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 16 Jun 2021 18:26:33 +0200 Subject: [sh/jdk8] Backport Shenandoah with large pages and small heap and test In-Reply-To: <7dee3514-9156-92c3-3abd-6a1d7dff0767@redhat.com> References: <7dee3514-9156-92c3-3abd-6a1d7dff0767@redhat.com> Message-ID: On 6/16/21 6:15 PM, Zhengyu Gu wrote: > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/largepage_smallheap/webrev.00/ Indenting is a bit off here: 523 // Make sure region size and heap size are page aligned. 524 // If large pages are used, we ensure that region size is aligned to large page size if 525 // heap size is large enough to accommodate minimal number of regions. Otherwise, we align 526 // region size to regular page size. Otherwise looks good! -- Thanks, -Aleksey From zgu at redhat.com Wed Jun 16 17:53:26 2021 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 16 Jun 2021 17:53:26 +0000 Subject: hg: shenandoah/jdk8/hotspot: [backport] 8268127: Shenandoah: Heap size may be too small for region to align to large page size Message-ID: <202106161753.15GHrQ9U001485@aojmv0008.oracle.com> Changeset: c56d83ca4d45 Author: zgu Date: 2021-06-08 20:31 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c56d83ca4d45 [backport] 8268127: Shenandoah: Heap size may be too small for region to align to large page size Reviewed-by: rkennke, shade ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp From zgu at redhat.com Wed Jun 16 17:53:41 2021 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 16 Jun 2021 17:53:41 +0000 Subject: hg: shenandoah/jdk8/hotspot: [backport] 8268699: Shenandoah: Add test for JDK-8268127 Message-ID: <202106161753.15GHrgm6001590@aojmv0008.oracle.com> Changeset: 9d93faee7688 Author: zgu Date: 2021-06-14 18:07 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9d93faee7688 [backport] 8268699: Shenandoah: Add test for JDK-8268127 Reviewed-by: rkennke + test/gc/shenandoah/options/TestLargePagesWithSmallHeap.java From jwilhelm at openjdk.java.net Thu Jun 17 00:57:15 2021 From: jwilhelm at openjdk.java.net (Jesper Wilhelmsson) Date: Thu, 17 Jun 2021 00:57:15 GMT Subject: RFR: Merge jdk17 Message-ID: Forwardport JDK 17 -> JDK 18 ------------- Commit messages: - Merge - 8260194: Update the documentation for -Xcheck:jni - 8268863: ProblemList serviceability/sa/TestJmapCoreMetaspace.java on linux-x64 with ZGC - 8268909: ProblemList jdk/jfr/api/consumer/streaming/TestLatestEvent.java on win-x64 - 8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test - 8268774: Residual logging output written to STDOUT, not STDERR - 8268714: [macos-aarch64] 7 java/net/httpclient/websocket tests failed - 8268901: JDK-8268768 missed removing two files - 8256934: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit - 8268861: Disable Windows-Aarch64 build in GitHub Actions - ... and 4 more: https://git.openjdk.java.net/jdk/compare/02c9bf08...c47ba95e The merge commit only contains trivial merges, so no merge-specific webrevs have been generated. Changes: https://git.openjdk.java.net/jdk/pull/4514/files Stats: 659 lines in 33 files changed: 450 ins; 121 del; 88 mod Patch: https://git.openjdk.java.net/jdk/pull/4514.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4514/head:pull/4514 PR: https://git.openjdk.java.net/jdk/pull/4514 From jwilhelm at openjdk.java.net Thu Jun 17 01:11:25 2021 From: jwilhelm at openjdk.java.net (Jesper Wilhelmsson) Date: Thu, 17 Jun 2021 01:11:25 GMT Subject: RFR: Merge jdk17 [v2] In-Reply-To: References: Message-ID: > Forwardport JDK 17 -> JDK 18 Jesper Wilhelmsson has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 35 additional commits since the last revision: - Merge - 8268852: AsyncLogWriter should not overide is_Named_thread() Reviewed-by: dholmes, ysuenaga - 8259338: Add expiry exception for identrustdstx3 alias to VerifyCACerts.java test Reviewed-by: xuelei - 8259066: Obsolete -XX:+AlwaysLockClassLoader Reviewed-by: hseigel - 8268778: CDS check_excluded_classes needs DumpTimeTable_lock Reviewed-by: ccheung, minqi - 8267752: KVHashtable doesn't deallocate entries Reviewed-by: iklam, stuefe - 8267870: Remove unnecessary char_converter during class loading Reviewed-by: dholmes, iklam - 8268078: ClassListParser::_interfaces should be freed Reviewed-by: minqi, iklam, coleenp - 8268780: Use 'print_cr' instead of 'print' for the message 'eliminated ' Reviewed-by: cjplummer, zgu, dcubed - Merge - ... and 25 more: https://git.openjdk.java.net/jdk/compare/fdaabfed...c47ba95e ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4514/files - new: https://git.openjdk.java.net/jdk/pull/4514/files/c47ba95e..c47ba95e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4514&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4514&range=00-01 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/4514.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4514/head:pull/4514 PR: https://git.openjdk.java.net/jdk/pull/4514 From jwilhelm at openjdk.java.net Thu Jun 17 01:11:26 2021 From: jwilhelm at openjdk.java.net (Jesper Wilhelmsson) Date: Thu, 17 Jun 2021 01:11:26 GMT Subject: Integrated: Merge jdk17 In-Reply-To: References: Message-ID: On Thu, 17 Jun 2021 00:49:27 GMT, Jesper Wilhelmsson wrote: > Forwardport JDK 17 -> JDK 18 This pull request has now been integrated. Changeset: 3637e50b Author: Jesper Wilhelmsson URL: https://git.openjdk.java.net/jdk/commit/3637e50b30e92538510c1a8e8893cedc3bd4ccd5 Stats: 659 lines in 33 files changed: 450 ins; 121 del; 88 mod Merge ------------- PR: https://git.openjdk.java.net/jdk/pull/4514 From gli at openjdk.java.net Tue Jun 22 01:22:46 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 01:22:46 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions Message-ID: Hi all, Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. Test: tier1 passed locally. Thanks for taking the time to review. Best Regards, -- Guoxiong ------------- Commit messages: - 8268368: Adopt cast notation for JavaThread conversions Changes: https://git.openjdk.java.net/jdk/pull/4546/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268368 Stats: 159 lines in 64 files changed: 13 ins; 19 del; 127 mod Patch: https://git.openjdk.java.net/jdk/pull/4546.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4546/head:pull/4546 PR: https://git.openjdk.java.net/jdk/pull/4546 From dholmes at openjdk.java.net Tue Jun 22 02:02:28 2021 From: dholmes at openjdk.java.net (David Holmes) Date: Tue, 22 Jun 2021 02:02:28 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions In-Reply-To: References: Message-ID: <3jEWcoPqG9EMr-wmTMV66lnEqEZBbwR45E5gmwZhbOk=.0cbbc64d-07ac-4667-9037-b136c279188c@github.com> On Tue, 22 Jun 2021 01:11:30 GMT, Guoxiong Li wrote: > Hi all, > > Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. > > This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. > > Test: > tier1 passed locally. > > Thanks for taking the time to review. > > Best Regards, > -- Guoxiong Hi Guoxiong, Thanks for picking up this enhancement request. I wasn't sure if this would be worth the churn/disruption to the source code, but I think it is ok and preferable to use the cast notation. The changes look good except for one mistake flagged below. Note you need at least two reviewers before integrating this. Thanks, David src/hotspot/share/gc/z/zFuture.inline.hpp line 49: > 47: // Wait for notification > 48: Thread* const thread = Thread::current(); > 49: if (JavaThread::cast(thread)) { This is wrong - we still need the is_Java_thread() query; and cast is not a boolean operator. ------------- Changes requested by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 07:17:00 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 07:17:00 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: References: Message-ID: <7Q4mj03cn9mF86H_Cr44sWib8Za6dZyindyQUaVAl40=.c2422fbd-4ba8-46e3-818a-c3139d930d0f@github.com> > Hi all, > > Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. > > This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. > > Test: > tier1 passed locally. > > Thanks for taking the time to review. > > Best Regards, > -- Guoxiong Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: Fix incorrect use of the method cast ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4546/files - new: https://git.openjdk.java.net/jdk/pull/4546/files/3c9f6dbe..259730be Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/4546.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4546/head:pull/4546 PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 07:24:29 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 07:24:29 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: <3jEWcoPqG9EMr-wmTMV66lnEqEZBbwR45E5gmwZhbOk=.0cbbc64d-07ac-4667-9037-b136c279188c@github.com> References: <3jEWcoPqG9EMr-wmTMV66lnEqEZBbwR45E5gmwZhbOk=.0cbbc64d-07ac-4667-9037-b136c279188c@github.com> Message-ID: On Tue, 22 Jun 2021 01:59:17 GMT, David Holmes wrote: >> Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix incorrect use of the method cast > > Hi Guoxiong, > > Thanks for picking up this enhancement request. > > I wasn't sure if this would be worth the churn/disruption to the source code, but I think it is ok and preferable to use the cast notation. > > The changes look good except for one mistake flagged below. > > Note you need at least two reviewers before integrating this. > > Thanks, > David @dholmes-ora Thanks for your review. I updated the code just now. I am surprised that the `tier1` (locally and the `Pre-submit tests`) can't find the mistake you pointed out. Maybe we can improve the `tier1` or the `Pre-submit tests` in the future. > src/hotspot/share/gc/z/zFuture.inline.hpp line 49: > >> 47: // Wait for notification >> 48: Thread* const thread = Thread::current(); >> 49: if (JavaThread::cast(thread)) { > > This is wrong - we still need the is_Java_thread() query; and cast is not a boolean operator. Fixed. It's a wrong use of the method `cast`. Thanks for finding it. I re-read my patch to avoid the similar mistake. ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 10:13:27 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 10:13:27 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: References: <3jEWcoPqG9EMr-wmTMV66lnEqEZBbwR45E5gmwZhbOk=.0cbbc64d-07ac-4667-9037-b136c279188c@github.com> Message-ID: On Tue, 22 Jun 2021 07:21:29 GMT, Guoxiong Li wrote: > Maybe we can improve the tier1 or the Pre-submit tests in the future. I meant to improve the test coverage. ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From stefank at openjdk.java.net Tue Jun 22 10:24:31 2021 From: stefank at openjdk.java.net (Stefan Karlsson) Date: Tue, 22 Jun 2021 10:24:31 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: <7Q4mj03cn9mF86H_Cr44sWib8Za6dZyindyQUaVAl40=.c2422fbd-4ba8-46e3-818a-c3139d930d0f@github.com> References: <7Q4mj03cn9mF86H_Cr44sWib8Za6dZyindyQUaVAl40=.c2422fbd-4ba8-46e3-818a-c3139d930d0f@github.com> Message-ID: On Tue, 22 Jun 2021 07:17:00 GMT, Guoxiong Li wrote: >> Hi all, >> >> Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. >> >> This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. >> >> Test: >> tier1 passed locally. >> >> Thanks for taking the time to review. >> >> Best Regards, >> -- Guoxiong > > Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: > > Fix incorrect use of the method cast Marked as reviewed by stefank (Reviewer). src/hotspot/share/runtime/thread.hpp line 1432: > 1430: assert(t->is_Java_thread(), "incorrect cast to const JavaThread"); > 1431: return static_cast(t); > 1432: } Now that you've written the code in-place, you could remove the `inline` specifier. ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 10:53:06 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 10:53:06 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v3] In-Reply-To: References: Message-ID: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> > Hi all, > > Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. > > This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. > > Test: > tier1 passed locally. > > Thanks for taking the time to review. > > Best Regards, > -- Guoxiong Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: Remove inline specifier ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4546/files - new: https://git.openjdk.java.net/jdk/pull/4546/files/259730be..c0347b6c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4546&range=01-02 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/4546.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4546/head:pull/4546 PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 10:56:25 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 10:56:25 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: References: <7Q4mj03cn9mF86H_Cr44sWib8Za6dZyindyQUaVAl40=.c2422fbd-4ba8-46e3-818a-c3139d930d0f@github.com> Message-ID: On Tue, 22 Jun 2021 10:21:45 GMT, Stefan Karlsson wrote: >> Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix incorrect use of the method cast > > src/hotspot/share/runtime/thread.hpp line 1432: > >> 1430: assert(t->is_Java_thread(), "incorrect cast to const JavaThread"); >> 1431: return static_cast(t); >> 1432: } > > Now that you've written the code in-place, you could remove the `inline` specifier. Fixed. Thanks @stefank for your review. ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From shade at redhat.com Tue Jun 22 11:10:46 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Jun 2021 13:10:46 +0200 Subject: RFC: Pull aarch64-port/jdk8u-shenandoah to sh/jdk8 Message-ID: <6789f445-a57c-2f82-cec0-ef79cf6d6ea1@redhat.com> Hi, I would like to pull stabilizing aarch64-port/jdk8u-shenandoah to sh/jdk8. The merge is fully automatic. No problems detected in tests. Thoughts? -- Thanks, -Aleksey From rkennke at redhat.com Tue Jun 22 11:13:48 2021 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 22 Jun 2021 13:13:48 +0200 Subject: RFC: Pull aarch64-port/jdk8u-shenandoah to sh/jdk8 In-Reply-To: <6789f445-a57c-2f82-cec0-ef79cf6d6ea1@redhat.com> References: <6789f445-a57c-2f82-cec0-ef79cf6d6ea1@redhat.com> Message-ID: <9de064f1-20e1-e65d-ec68-88c622a96840@redhat.com> > I would like to pull stabilizing aarch64-port/jdk8u-shenandoah to sh/jdk8. > The merge is fully automatic. No problems detected in tests. > > Thoughts? Go for it! Thanks, Roman From david.holmes at oracle.com Tue Jun 22 11:33:57 2021 From: david.holmes at oracle.com (David Holmes) Date: Tue, 22 Jun 2021 21:33:57 +1000 Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v2] In-Reply-To: References: <3jEWcoPqG9EMr-wmTMV66lnEqEZBbwR45E5gmwZhbOk=.0cbbc64d-07ac-4667-9037-b136c279188c@github.com> Message-ID: <77ae4ca8-47eb-12b2-96e4-743adb0d3987@oracle.com> On 22/06/2021 5:24 pm, Guoxiong Li wrote: > On Tue, 22 Jun 2021 01:59:17 GMT, David Holmes wrote: > >>> Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: >>> >>> Fix incorrect use of the method cast >> >> Hi Guoxiong, >> >> Thanks for picking up this enhancement request. >> >> I wasn't sure if this would be worth the churn/disruption to the source code, but I think it is ok and preferable to use the cast notation. >> >> The changes look good except for one mistake flagged below. >> >> Note you need at least two reviewers before integrating this. >> >> Thanks, >> David > > @dholmes-ora Thanks for your review. I updated the code just now. > > I am surprised that the `tier1` (locally and the `Pre-submit tests`) can't find the mistake you pointed out. > Maybe we can improve the `tier1` or the `Pre-submit tests` in the future. The error is in ZGC code and ZGC is not tested in tier-1 or pre-submit. Cheers, David >> src/hotspot/share/gc/z/zFuture.inline.hpp line 49: >> >>> 47: // Wait for notification >>> 48: Thread* const thread = Thread::current(); >>> 49: if (JavaThread::cast(thread)) { >> >> This is wrong - we still need the is_Java_thread() query; and cast is not a boolean operator. > > Fixed. It's a wrong use of the method `cast`. Thanks for finding it. I re-read my patch to avoid the similar mistake. > > ------------- > > PR: https://git.openjdk.java.net/jdk/pull/4546 > From dholmes at openjdk.java.net Tue Jun 22 11:37:28 2021 From: dholmes at openjdk.java.net (David Holmes) Date: Tue, 22 Jun 2021 11:37:28 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v3] In-Reply-To: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> References: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> Message-ID: On Tue, 22 Jun 2021 10:53:06 GMT, Guoxiong Li wrote: >> Hi all, >> >> Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. >> >> This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. >> >> Test: >> tier1 passed locally. >> >> Thanks for taking the time to review. >> >> Best Regards, >> -- Guoxiong > > Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: > > Remove inline specifier Updates look fine. Thanks, David ------------- Marked as reviewed by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 12:10:30 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 12:10:30 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v3] In-Reply-To: References: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> Message-ID: On Tue, 22 Jun 2021 11:34:58 GMT, David Holmes wrote: >> Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: >> >> Remove inline specifier > > Updates look fine. > > Thanks, > David @dholmes-ora @stefank Thanks for your reviews. Could I get your help to sponsor this patch? ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 12:10:30 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 12:10:30 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions In-Reply-To: <77ae4ca8-47eb-12b2-96e4-743adb0d3987@oracle.com> References: <77ae4ca8-47eb-12b2-96e4-743adb0d3987@oracle.com> Message-ID: On Tue, 22 Jun 2021 11:36:02 GMT, David Holmes wrote: > The error is in ZGC code and ZGC is not tested in tier-1 or pre-submit. Got it. Thanks. ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From dholmes at openjdk.java.net Tue Jun 22 12:59:35 2021 From: dholmes at openjdk.java.net (David Holmes) Date: Tue, 22 Jun 2021 12:59:35 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v3] In-Reply-To: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> References: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> Message-ID: On Tue, 22 Jun 2021 10:53:06 GMT, Guoxiong Li wrote: >> Hi all, >> >> Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. >> >> This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. >> >> Test: >> tier1 passed locally. >> >> Thanks for taking the time to review. >> >> Best Regards, >> -- Guoxiong > > Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision: > > Remove inline specifier I can sponsor, but as per hotspot integration guidelines we should wait at least 24 hours to give people in different timezones a chance to comment. Thanks, David ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From gli at openjdk.java.net Tue Jun 22 13:03:32 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Tue, 22 Jun 2021 13:03:32 GMT Subject: RFR: 8268368: Adopt cast notation for JavaThread conversions [v3] In-Reply-To: References: <6cHOFbz1wh819kKFRB-yKKniSrwGL-oNF4iiJqZrh1s=.0974ec65-e8ee-4609-b999-c44acadb58cb@github.com> Message-ID: On Tue, 22 Jun 2021 12:56:27 GMT, David Holmes wrote: > I can sponsor, but as per hotspot integration guidelines we should wait at least 24 hours to give people in different timezones a chance to comment. Got it. Thanks a lot! ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From shade at redhat.com Tue Jun 22 13:56:04 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:56:04 +0000 Subject: hg: shenandoah/jdk8: 17 new changesets Message-ID: <202106221356.15MDu4vk000673@aojmv0008.oracle.com> Changeset: 917f78b422ee Author: andrew Date: 2021-04-20 19:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/917f78b422ee Added tag jdk8u292-ga for changeset 1bdaa25d5eeb ! .hgtags Changeset: af65dfd2bea4 Author: aleonard Date: 2021-03-08 06:02 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/af65dfd2bea4 8262730: Enable jdk8u MacOS external debug symbols Reviewed-by: phh, andrew ! make/common/NativeCompilation.gmk Changeset: e696d2f31c25 Author: andrew Date: 2021-03-17 20:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/e696d2f31c25 Merge Changeset: dd18dcfb07ba Author: aleonard Date: 2021-04-08 15:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/dd18dcfb07ba 8264509: jdk8u MacOS zipped debug symbols won't build Summary: Copy diz file Reviewed-by: phh ! make/common/NativeCompilation.gmk Changeset: 7232d978fc5c Author: andrew Date: 2021-04-20 19:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7232d978fc5c Merge Changeset: c6b8dec8a676 Author: andrew Date: 2021-04-23 01:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/c6b8dec8a676 Merge Changeset: f0e279d45d49 Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/f0e279d45d49 Added tag jdk8u302-b00 for changeset 120809c21ad7 ! .hgtags Changeset: 156403f25b04 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/156403f25b04 Added tag jdk8u302-b01 for changeset f0e279d45d49 ! .hgtags Changeset: 5fa467039a34 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/5fa467039a34 Merge jdk8u302-b01 ! .hgtags Changeset: 8a1907cf53d9 Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8a1907cf53d9 Added tag aarch64-shenandoah-jdk8u302-b01 for changeset 5fa467039a34 ! .hgtags Changeset: 0cbb3874da07 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/0cbb3874da07 Added tag jdk8u302-b02 for changeset 156403f25b04 ! .hgtags Changeset: 9b841ea587ea Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/9b841ea587ea Merge jdk8u302-b02 ! .hgtags Changeset: 513fcfd5dceb Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/513fcfd5dceb Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 9b841ea587ea ! .hgtags Changeset: 82610be662bc Author: henryjen Date: 2014-02-25 23:38 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/82610be662bc 8019470: Changes needed to compile JDK 8 on MacOS with clang compiler Reviewed-by: erikj, ihse ! common/autoconf/flags.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: 978958987e3b Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/978958987e3b Added tag jdk8u302-b03 for changeset 82610be662bc ! .hgtags Changeset: 9d9db35b4585 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/9d9db35b4585 Merge jdk8u302-b03 ! .hgtags ! common/autoconf/flags.m4 ! common/autoconf/generated-configure.sh Changeset: a32e2d38548e Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/a32e2d38548e Added tag aarch64-shenandoah-jdk8u302-b03 for changeset 9d9db35b4585 ! .hgtags From shade at redhat.com Tue Jun 22 13:55:59 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:55:59 +0000 Subject: hg: shenandoah/jdk8/nashorn: 11 new changesets Message-ID: <202106221355.15MDtx18000570@aojmv0008.oracle.com> Changeset: 6da35b923c70 Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/6da35b923c70 Added tag jdk8u292-ga for changeset ecf358a276e9 ! .hgtags Changeset: 018538b21eee Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/018538b21eee Added tag jdk8u302-b00 for changeset 5ee81f2d75ed ! .hgtags Changeset: e34f57517f19 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/e34f57517f19 Added tag jdk8u302-b01 for changeset 018538b21eee ! .hgtags Changeset: 21c2a0bd9924 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/21c2a0bd9924 Merge jdk8u302-b01 ! .hgtags Changeset: 7ab95badf30d Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/7ab95badf30d Added tag aarch64-shenandoah-jdk8u302-b01 for changeset 21c2a0bd9924 ! .hgtags Changeset: 4785cae18065 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/4785cae18065 Added tag jdk8u302-b02 for changeset e34f57517f19 ! .hgtags Changeset: 282c4db4e7b5 Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/282c4db4e7b5 Merge jdk8u302-b02 ! .hgtags Changeset: fc739a644c0f Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/fc739a644c0f Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 282c4db4e7b5 ! .hgtags Changeset: 059c39ec74bf Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/059c39ec74bf Added tag jdk8u302-b03 for changeset 4785cae18065 ! .hgtags Changeset: 5e66c1029201 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/5e66c1029201 Merge jdk8u302-b03 ! .hgtags Changeset: 5a46bdc6b447 Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/5a46bdc6b447 Added tag aarch64-shenandoah-jdk8u302-b03 for changeset 5e66c1029201 ! .hgtags From shade at redhat.com Tue Jun 22 13:55:59 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:55:59 +0000 Subject: hg: shenandoah/jdk8/jaxp: 11 new changesets Message-ID: <202106221355.15MDtx1B000582@aojmv0008.oracle.com> Changeset: c4c9164af0da Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/c4c9164af0da Added tag jdk8u292-ga for changeset 8246436d1c3b ! .hgtags Changeset: f40783aba272 Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/f40783aba272 Added tag jdk8u302-b00 for changeset 031481db1646 ! .hgtags Changeset: ea75b85dec8d Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/ea75b85dec8d Added tag jdk8u302-b01 for changeset f40783aba272 ! .hgtags Changeset: f9aa369eac85 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/f9aa369eac85 Merge jdk8u302-b01 ! .hgtags Changeset: 5948c0c902b5 Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/5948c0c902b5 Added tag aarch64-shenandoah-jdk8u302-b01 for changeset f9aa369eac85 ! .hgtags Changeset: 46a04b4c7174 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/46a04b4c7174 Added tag jdk8u302-b02 for changeset ea75b85dec8d ! .hgtags Changeset: 5bf60ef0ffa0 Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/5bf60ef0ffa0 Merge jdk8u302-b02 ! .hgtags Changeset: 94a506f2753d Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/94a506f2753d Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 5bf60ef0ffa0 ! .hgtags Changeset: dd6914b1b116 Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/dd6914b1b116 Added tag jdk8u302-b03 for changeset 46a04b4c7174 ! .hgtags Changeset: 3837edc3dfc9 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/3837edc3dfc9 Merge jdk8u302-b03 ! .hgtags Changeset: 7a2ae4650175 Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/7a2ae4650175 Added tag aarch64-shenandoah-jdk8u302-b03 for changeset 3837edc3dfc9 ! .hgtags From shade at redhat.com Tue Jun 22 13:55:58 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:55:58 +0000 Subject: hg: shenandoah/jdk8/langtools: 17 new changesets Message-ID: <202106221355.15MDtxLQ000543@aojmv0008.oracle.com> Changeset: b57498c29611 Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b57498c29611 Added tag jdk8u292-ga for changeset e096ebc661e8 ! .hgtags Changeset: 6e44be19a4f8 Author: bsrbnd Date: 2021-03-11 11:04 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6e44be19a4f8 8214345: infinite recursion while checking super class Reviewed-by: vromero ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/ClassBoundCheckingOverflow.java + test/tools/javac/generics/ClassBoundCheckingOverflow.out Changeset: 2dfc2246f52d Author: andrew Date: 2021-03-17 20:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/2dfc2246f52d Merge Changeset: 64aff9f20736 Author: shade Date: 2021-04-20 15:06 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/64aff9f20736 8260484: CheckExamples.java / NoJavaLangTest.java fail with jtreg 4.2 Reviewed-by: sgehwolf ! test/tools/javac/diags/examples/NoJavaLang.java ! test/tools/javac/fatalErrors/NoJavaLangTest.java Changeset: a4662967ff21 Author: jjg Date: 2014-12-11 18:20 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a4662967ff21 8066807: langtools/test/Makefile should use -agentvm not -samevm Reviewed-by: mcimadamore ! test/Makefile Changeset: 3e1dd745bcb1 Author: andrew Date: 2021-04-22 01:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/3e1dd745bcb1 Merge Changeset: b55815589fee Author: andrew Date: 2021-04-23 01:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b55815589fee Merge Changeset: 55148c63b3e8 Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/55148c63b3e8 Added tag jdk8u302-b00 for changeset cd6eb36db1bb ! .hgtags Changeset: c94d325a2467 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/c94d325a2467 Added tag jdk8u302-b01 for changeset 55148c63b3e8 ! .hgtags Changeset: 0bf772539751 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/0bf772539751 Merge jdk8u302-b01 ! .hgtags Changeset: 182c8d7ba86b Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/182c8d7ba86b Added tag aarch64-shenandoah-jdk8u302-b01 for changeset 0bf772539751 ! .hgtags Changeset: a6ea99c01d68 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a6ea99c01d68 Added tag jdk8u302-b02 for changeset c94d325a2467 ! .hgtags Changeset: 156c2b702471 Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/156c2b702471 Merge jdk8u302-b02 ! .hgtags Changeset: 4ccf20aaf68c Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4ccf20aaf68c Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 156c2b702471 ! .hgtags Changeset: a6ea4245dc14 Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/a6ea4245dc14 Added tag jdk8u302-b03 for changeset a6ea99c01d68 ! .hgtags Changeset: 3c0ba1616cee Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/3c0ba1616cee Merge jdk8u302-b03 ! .hgtags Changeset: 815d07930e17 Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/815d07930e17 Added tag aarch64-shenandoah-jdk8u302-b03 for changeset 3c0ba1616cee ! .hgtags From shade at redhat.com Tue Jun 22 13:55:59 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:55:59 +0000 Subject: hg: shenandoah/jdk8/jaxws: 11 new changesets Message-ID: <202106221355.15MDtxx8000542@aojmv0008.oracle.com> Changeset: 45ad13f53e64 Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/45ad13f53e64 Added tag jdk8u292-ga for changeset ecdec3784f9f ! .hgtags Changeset: 8f52ab99922e Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/8f52ab99922e Added tag jdk8u302-b00 for changeset 53e36820cf90 ! .hgtags Changeset: fe47621ed0b1 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/fe47621ed0b1 Added tag jdk8u302-b01 for changeset 8f52ab99922e ! .hgtags Changeset: dbde4465ebca Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/dbde4465ebca Merge jdk8u302-b01 ! .hgtags Changeset: ee3920fac0df Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/ee3920fac0df Added tag aarch64-shenandoah-jdk8u302-b01 for changeset dbde4465ebca ! .hgtags Changeset: bea49c9fc6a7 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/bea49c9fc6a7 Added tag jdk8u302-b02 for changeset fe47621ed0b1 ! .hgtags Changeset: 8686028cd90e Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/8686028cd90e Merge jdk8u302-b02 ! .hgtags Changeset: c7a376d655b1 Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c7a376d655b1 Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 8686028cd90e ! .hgtags Changeset: a3ee7e77cb8e Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/a3ee7e77cb8e Added tag jdk8u302-b03 for changeset bea49c9fc6a7 ! .hgtags Changeset: ae0fb43b5a7d Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/ae0fb43b5a7d Merge jdk8u302-b03 ! .hgtags Changeset: cdf7f1dfbc4d Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/cdf7f1dfbc4d Added tag aarch64-shenandoah-jdk8u302-b03 for changeset ae0fb43b5a7d ! .hgtags From shade at redhat.com Tue Jun 22 13:56:03 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:56:03 +0000 Subject: hg: shenandoah/jdk8/hotspot: 57 new changesets Message-ID: <202106221356.15MDu40S000670@aojmv0008.oracle.com> Changeset: b6054610c065 Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b6054610c065 Added tag jdk8u292-ga for changeset 2a6952bb3909 ! .hgtags Changeset: 7a2656f7eddd Author: shade Date: 2021-03-03 15:25 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7a2656f7eddd 8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect Reviewed-by: chagedorn, kvn ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp Changeset: e0edc959a433 Author: ngasson Date: 2021-03-02 20:59 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e0edc959a433 8262726: AArch64: C1 StubAssembler::call_RT can corrupt stack Reviewed-by: aph ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Changeset: dca20d25a2f5 Author: roland Date: 2015-12-02 15:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/dca20d25a2f5 8134883: C1 hard crash in range check elimination in Nashorn test262parallel Summary: C1's range check elimination breaks with a non-natural loop that has an exception handler as one entry Reviewed-by: iveresov ! src/share/vm/c1/c1_IR.cpp + test/compiler/rangechecks/TestRangeCheckExceptionHandlerLoop.jasm + test/compiler/rangechecks/TestRangeCheckExceptionHandlerLoopMain.java Changeset: 08e60f55c416 Author: thartmann Date: 2018-05-22 09:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/08e60f55c416 8203196: C1 emits incorrect code due to integer overflow in _tableswitch keys Summary: Avoid integer overflow in TableSwitch(). Reviewed-by: goetz, mdoerr, vlivanov ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: 6f024d171932 Author: kbarrett Date: 2020-12-17 14:18 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6f024d171932 8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region Reviewed-by: sjohanss, tschatzl ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Changeset: bc32046eef89 Author: kbarrett Date: 2021-01-22 11:20 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/bc32046eef89 8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" Summary: Use load_acquire to order reads of top and end. Reviewed-by: tschatzl, iwalulya, eosterlund ! src/share/vm/gc_implementation/shared/mutableSpace.cpp Changeset: a4312636c0f7 Author: kbarrett Date: 2021-02-02 19:20 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a4312636c0f7 8260704: ParallelGC: oldgen expansion needs release-store for _end Summary: Move JDK-8257999 barrier to correct location. Reviewed-by: tschatzl, sjohanss ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp Changeset: 39bed844f69e Author: jwilhelm Date: 2015-08-18 17:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/39bed844f69e 8130308: Too low memory usage in TestPromotionFromSurvivorToTenuredAfterMinorGC.java Reviewed-by: dfazunen, brutisso ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java Changeset: b0825e3772d3 Author: stefank Date: 2015-04-20 13:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b0825e3772d3 8042891: Format issues embedded in macros for two g1 source files Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp Changeset: 9d362a0bae2c Author: njian Date: 2021-03-11 16:59 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9d362a0bae2c 8191955: AArch64: incorrect prefetch distance causes an internal error Summary: Fixed incorrect prefetch distance on AArch64. Reviewed-by: aph, phh ! src/cpu/aarch64/vm/vm_version_aarch64.cpp Changeset: d21a3fc77eca Author: andrew Date: 2021-03-17 20:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d21a3fc77eca Merge Changeset: 705e62002289 Author: mbaesken Date: 2021-01-27 07:57 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/705e62002289 8260236: better init AnnotationCollector _contended_group Reviewed-by: coleenp, shade ! src/share/vm/classfile/classFileParser.hpp Changeset: e578f653a10d Author: sla Date: 2015-04-15 09:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e578f653a10d 8077364: "if( !this )" construct prevents build on Xcode 6.3 Reviewed-by: stefank, simonis ! src/share/vm/adlc/formssel.cpp ! src/share/vm/libadt/set.cpp ! src/share/vm/opto/chaitin.cpp Changeset: f3c619e4afb1 Author: kbarrett Date: 2018-04-09 20:36 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f3c619e4afb1 8200550: Xcode 9.3 produce warning -Wexpansion-to-defined Summary: Removed problem macros. Reviewed-by: tschatzl, dholmes, coleenp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp Changeset: fd78b4574c4a Author: sla Date: 2014-08-22 08:13 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fd78b4574c4a 8055754: filemap.cpp does not compile with clang Reviewed-by: kvn, iklam, coleenp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp Changeset: 7785c3ba2985 Author: henryjen Date: 2014-02-05 21:24 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7785c3ba2985 8033289: clang: clean up unused function warning Reviewed-by: coleenp, dholmes, mgerdin ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/runtime/mutex.cpp Changeset: caca9fa8d833 Author: thartmann Date: 2019-09-03 10:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/caca9fa8d833 8230428: Cleanup dead CastIP node code in formssel.cpp Summary: Removed dead code. Reviewed-by: roland ! src/share/vm/adlc/formssel.cpp Changeset: 3b1ad311bf91 Author: fyang Date: 2020-12-18 15:41 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3b1ad311bf91 8258669: fastdebug jvm crashes when do event based tracing for monitor inflation Reviewed-by: phh ! src/share/vm/jfr/recorder/checkpoint/types/jfrType.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp Changeset: 32086319a1c6 Author: fyang Date: 2021-04-01 11:29 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/32086319a1c6 8264562: assert(verify_field_bit(1)) failed: Attempting to write an uninitialized event field: type Reviewed-by: phh ! src/share/vm/gc_implementation/g1/g1HeapRegionEventSender.cpp Changeset: ea21223a1e4a Author: thartmann Date: 2020-03-25 16:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ea21223a1e4a 8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types() Summary: Remove dead node from C2 IR. Reviewed-by: roland, neliasso ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp Changeset: af24dfd69254 Author: ecaspole Date: 2015-07-24 10:32 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/af24dfd69254 8132148: G1 hs_err region dump legend out of sync with region values Summary: Use E for Eden, S for Survivor, O for Old Reviewed-by: tschatzl, tbenson ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 00cfc1d8196b Author: smonteith Date: 2021-04-09 09:32 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/00cfc1d8196b 8231841: AArch64: debug.cpp help() is missing an AArch64 line for pns Summary: Adds missing line for aarch64 to debug.cpp help() for pns Reviewed-by: adinn Contributed-by: alan.hayward at arm.com ! src/share/vm/utilities/debug.cpp Changeset: e5a0eb0db9e1 Author: kvn Date: 2020-06-12 14:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e5a0eb0db9e1 8247350: [aarch64] assert(false) failed: wrong size of mach node Summary: use movptr() to load address of string Reviewed-by: adinn, azeemj, aph ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/share/vm/opto/output.cpp Changeset: 7ab0ec535776 Author: mdoerr Date: 2019-10-24 16:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7ab0ec535776 8231949: [PPC64, s390]: Make async profiling more reliable Summary: Better checks if method from interpreter frame is valid. Reviewed-by: rrich, ghaug, goetz ! src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp Changeset: 2d0ba7271ce2 Author: andrew Date: 2021-04-20 19:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2d0ba7271ce2 Merge Changeset: 6b0109a8a153 Author: fyang Date: 2021-01-21 11:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6b0109a8a153 8260029: aarch64: fix typo in verify_oop_array Reviewed-by: shade, aph Contributed-by: Fei Yang , Zhuxuan Ni ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 72c0dded42ed Author: shade Date: 2021-03-15 06:25 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/72c0dded42ed 8263504: Some OutputMachOpcodes fields are uninitialized Reviewed-by: kvn ! src/share/vm/adlc/output_h.cpp Changeset: 4aba9ac9c194 Author: ghaug Date: 2018-08-28 14:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4aba9ac9c194 8209996: [PPC64] Fix JFR profiling Reviewed-by: mdoerr, simonis ! src/cpu/ppc/vm/frame_ppc.cpp Changeset: 8ad102abaa48 Author: cjplummer Date: 2014-12-05 15:41 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8ad102abaa48 8066508: JTReg tests timeout on slow devices when run using JPRT Summary: Fixed by increasing timeoutFactor from 1 to 4 as is done already in jdk/test/Makefile. Reviewed-by: dholmes, dcubed ! test/Makefile Changeset: db2a6d782f4b Author: iignatyev Date: 2014-12-10 13:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/db2a6d782f4b 8064909: FragmentMetaspace.java got OutOfMemoryError Summary: Increased heap size to prevent "java.lang.OutOfMemoryError: Java heap space" exception Reviewed-by: jmasa, dfazunen, jwilhelm Contributed-by: Michail Chernov ! test/runtime/Metaspace/FragmentMetaspace.java Changeset: 3c9174cba47b Author: sjohanss Date: 2018-05-16 10:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3c9174cba47b 8183910: gc/arguments/TestAggressiveHeap.java fails intermittently Reviewed-by: tschatzl, kbarrett ! test/gc/arguments/TestAggressiveHeap.java Changeset: a72255eaef65 Author: andrew Date: 2021-04-22 01:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a72255eaef65 Merge Changeset: be4334c66da8 Author: andrew Date: 2021-04-23 01:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/be4334c66da8 Merge Changeset: a020263526c9 Author: shade Date: 2021-04-26 09:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a020263526c9 8265832: runtime/StackGap/testme.sh fails to compile in 8u Reviewed-by: sgehwolf ! test/runtime/StackGap/testme.sh Changeset: 52ef318dba48 Author: dtitov Date: 2019-06-17 14:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/52ef318dba48 8217348: assert(thread->is_Java_thread()) failed: just checking Reviewed-by: sspitsyn, dholmes, amenkov, jcbeyler, zgu ! src/share/vm/prims/jvmtiEnvBase.cpp Changeset: 85f20f6ec580 Author: ddong Date: 2021-04-07 15:36 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/85f20f6ec580 8264816: Weak handles leak causes GC to take longer Reviewed-by: zgu, shade ! src/share/vm/prims/methodHandles.cpp Changeset: f8c527c9467f Author: dfazunen Date: 2015-09-07 21:30 +0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f8c527c9467f 8132709: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java might fail on embedded Reviewed-by: tschatzl, jwilhelm ! test/gc/g1/TestHumongousShrinkHeap.java Changeset: 52488f6a3c4a Author: lmesnik Date: 2016-10-19 10:06 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/52488f6a3c4a 8166724: gc/g1/TestHumongousShrinkHeap.java fails with OOME Reviewed-by: dfazunen, jwilhelm ! test/gc/g1/TestHumongousShrinkHeap.java Changeset: 5e836586bcc2 Author: rbackman Date: 2021-04-15 07:48 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/5e836586bcc2 8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized Reviewed-by: neliasso, thartmann ! src/share/vm/c1/c1_ValueMap.cpp Changeset: fd59802f1961 Author: stuefe Date: 2020-11-02 12:45 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fd59802f1961 8255734: VM should ignore SIGXFSZ on ppc64, s390 too Reviewed-by: mdoerr, lucy ! src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp ! src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp Changeset: 0356ee98c814 Author: thartmann Date: 2016-09-21 08:14 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0356ee98c814 8166046: [TESTBUG] compiler/stringopts/TestStringObjectInitialization.java fails with OOME Summary: Reduced heap memory consumption of test. Reviewed-by: kvn ! test/compiler/stringopts/TestStringObjectInitialization.java Changeset: 2c95a7981541 Author: vlivanov Date: 2015-12-18 20:23 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2c95a7981541 8071374: -XX:+PrintAssembly -XX:+PrintSignatureHandlers crash fastdebug VM with assert(limit == __null || limit <= nm->code_end()) in RelocIterator::initialize Reviewed-by: kvn, iklam, shade ! src/share/tools/hsdis/hsdis.c ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/utilities/debug.cpp Changeset: c42cb799628c Author: vlivanov Date: 2021-04-28 15:21 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c42cb799628c 8266191: Missing aarch64 parts of JDK-8181872(C1: possible overflow when strength reducing integer multiply by constant) Reviewed-by: kvn, aph ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp Changeset: d24969e49a6a Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d24969e49a6a Added tag jdk8u302-b00 for changeset a435c913c8ce ! .hgtags Changeset: 8a152c8e9f14 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8a152c8e9f14 Added tag jdk8u302-b01 for changeset d24969e49a6a ! .hgtags Changeset: 2e28d0d177b8 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2e28d0d177b8 Merge jdk8u302-b01 ! .hgtags ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/aarch64/vm/vm_version_aarch64.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java Changeset: b5ee9e92516a Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b5ee9e92516a Added tag aarch64-shenandoah-jdk8u302-b01 for changeset 2e28d0d177b8 ! .hgtags Changeset: 2c2654af0243 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2c2654af0243 Added tag jdk8u302-b02 for changeset 8a152c8e9f14 ! .hgtags Changeset: 0b81e87646c9 Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0b81e87646c9 Merge jdk8u302-b02 ! .hgtags Changeset: 546287552341 Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/546287552341 Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 0b81e87646c9 ! .hgtags Changeset: eeae3b9acc91 Author: akozlov Date: 2021-04-09 12:30 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/eeae3b9acc91 8264640: CMS ParScanClosure misses a barrier Reviewed-by: yan, johnc ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Changeset: 99e4a82f17e8 Author: twisti Date: 2015-10-09 09:09 -1000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/99e4a82f17e8 8138820: JDK Hotspot build fails with Xcode 7.0.1 Reviewed-by: iveresov Contributed-by: stooke at redhat.com ! make/bsd/makefiles/gcc.make Changeset: 77083cca26dd Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/77083cca26dd Added tag jdk8u302-b03 for changeset 99e4a82f17e8 ! .hgtags Changeset: c1a041612196 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c1a041612196 Merge jdk8u302-b03 ! .hgtags ! make/bsd/makefiles/gcc.make ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Changeset: 623dd724562c Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/623dd724562c Added tag aarch64-shenandoah-jdk8u302-b03 for changeset c1a041612196 ! .hgtags Changeset: 7f48d1e4d261 Author: shade Date: 2021-06-22 13:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7f48d1e4d261 Merge From shade at redhat.com Tue Jun 22 13:56:05 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 13:56:05 +0000 Subject: hg: shenandoah/jdk8/jdk: 59 new changesets Message-ID: <202106221356.15MDu72J000677@aojmv0008.oracle.com> Changeset: bbffc81f10de Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/bbffc81f10de Added tag jdk8u292-ga for changeset 4eae74c62a51 ! .hgtags Changeset: 389dd8689b82 Author: dongbohe Date: 2021-02-02 09:45 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/389dd8689b82 6878250: (so) IllegalBlockingModeException thrown when reading from a closed SocketChannel's InputStream Reviewed-by: alanb, andrew Contributed-by: songyaofei2 at huawei.com ! src/share/classes/sun/nio/ch/SocketAdaptor.java + test/java/nio/channels/SocketChannel/AdaptSocketReadAfterClose.java Changeset: c5e2385ff43d Author: andrew Date: 2021-03-02 19:12 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c5e2385ff43d Merge Changeset: e4f39f4e0d3a Author: sgehwolf Date: 2021-03-03 10:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e4f39f4e0d3a 8180478: tools/launcher/MultipleJRE.sh fails on Windows because of extra-'' Reviewed-by: sgehwolf Contributed-by: Masanori Yano ! test/tools/launcher/MultipleJRE.sh Changeset: 8b0939dc1d12 Author: sgehwolf Date: 2021-03-08 06:06 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8b0939dc1d12 8255086: Update the root locale display names Reviewed-by: phh, andrew ! src/share/classes/sun/util/resources/LocaleNames.properties ! test/java/util/Locale/LocaleEnhanceTest.java ! test/java/util/Locale/LocaleTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 0270a999297f Author: redestad Date: 2020-03-26 10:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0270a999297f 8241649: Optimize Character.toString Reviewed-by: redestad, rriggs Contributed-by: sergei.tsypanov at yandex.ru ! src/share/classes/java/lang/Character.java Changeset: ab84f55eb881 Author: hshi Date: 2021-03-06 18:32 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ab84f55eb881 8263061: copy wrong unpack200 debuginfo to bin directory after 8252395 Reviewed-by: sgehwolf ! make/CompileLaunchers.gmk Changeset: cc35f5cd75e0 Author: dfuchs Date: 2019-10-31 19:31 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/cc35f5cd75e0 8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE Summary: sun/net/www/ftptest/FtpCommandHandler.java is modified to handle EOF properly Reviewed-by: chegar, vtewari ! test/sun/net/www/ftptest/FtpCommandHandler.java Changeset: d55e3a03248a Author: rhalade Date: 2021-02-04 19:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d55e3a03248a 8256421: Add 2 HARICA roots to cacerts truststore Reviewed-by: mullan + make/data/cacerts/haricaeccrootca2015 + make/data/cacerts/haricarootca2015 + test/jdk/security/infra/java/security/cert/CertPathValidator/certification/HaricaCA.java ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 48ed9b5e1d9b Author: andrew Date: 2021-03-17 20:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/48ed9b5e1d9b Merge Changeset: b959bffd74b8 Author: jdv Date: 2017-11-20 11:02 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b959bffd74b8 8190332: PngReader throws NegativeArraySizeException/OOM error when IHDR width is very large Reviewed-by: prr, pnarayanan ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java + test/javax/imageio/plugins/png/PngLargeIHDRDimensionTest.java Changeset: 094057298322 Author: mullan Date: 2020-11-24 18:14 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/094057298322 8243559: Remove root certificates with 1024-bit keys Reviewed-by: weijun - make/data/cacerts/thawtepremiumserverca - make/data/cacerts/verisignclass2g2ca - make/data/cacerts/verisignclass3ca - make/data/cacerts/verisignclass3g2ca - make/data/cacerts/verisigntsaca ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 9083e800a153 Author: smarks Date: 2014-02-26 18:22 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9083e800a153 8263600: change rmidRunning to a simple lookup Reviewed-by: darcy ! test/java/rmi/testlibrary/ActivationLibrary.java ! test/java/rmi/testlibrary/RMID.java Changeset: d12ed5888034 Author: smarks Date: 2014-03-06 14:26 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d12ed5888034 8036095: RMI tests using testlibrary.RMID and testlibrary.JavaVM do not pass through vmoptions Reviewed-by: alanb ! test/java/rmi/activation/Activatable/checkActivateRef/security.policy ! test/java/rmi/activation/Activatable/checkAnnotations/security.policy ! test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy ! test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy ! test/java/rmi/activation/Activatable/createPrivateActivable/security.policy ! test/java/rmi/activation/Activatable/downloadParameterClass/security.policy ! test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy ! test/java/rmi/activation/Activatable/extLoadedImpl/security.policy ! test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy ! test/java/rmi/activation/Activatable/inactiveGroup/security.policy ! test/java/rmi/activation/Activatable/nestedActivate/security.policy ! test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy ! test/java/rmi/activation/Activatable/restartCrashedService/security.policy ! test/java/rmi/activation/Activatable/restartLatecomer/security.policy ! test/java/rmi/activation/Activatable/restartService/security.policy ! test/java/rmi/activation/Activatable/shutdownGracefully/security.policy ! test/java/rmi/activation/Activatable/unregisterInactive/security.policy ! test/java/rmi/activation/ActivateFailedException/activateFails/security.policy ! test/java/rmi/activation/ActivationSystem/activeGroup/security.policy ! test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy ! test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy ! test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy ! test/java/rmi/activation/CommandEnvironment/security.policy ! test/java/rmi/dgc/VMID/security.policy ! test/java/rmi/registry/classPathCodebase/security.policy ! test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy ! test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy ! test/java/rmi/server/RMIClassLoader/getClassLoader/security.policy ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy ! test/java/rmi/server/RMIClassLoader/spi/security.policy ! test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy ! test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy ! test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy ! test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy ! test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy ! test/java/rmi/server/useCustomRef/security.policy ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/RMID.java ! test/java/rmi/testlibrary/TestLibrary.java ! test/java/rmi/testlibrary/TestParams.java ! test/java/rmi/transport/checkLeaseInfoLeak/security.policy ! test/java/rmi/transport/dgcDeadLock/security.policy ! test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy Changeset: e28d44c42d62 Author: lpriima Date: 2015-03-24 03:46 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e28d44c42d62 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction Reviewed-by: dholmes Contributed-by: Adam Farley ! test/java/util/Arrays/TimSortStackSize2.java Changeset: 205520491a85 Author: iignatyev Date: 2018-02-27 21:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/205520491a85 8190679: java/util/Arrays/TimSortStackSize2.java fails with "Initial heap size set to a larger value than the maximum heap size" Reviewed-by: dholmes ! test/java/util/Arrays/TimSortStackSize2.java Changeset: 11268469d375 Author: iignatyev Date: 2018-06-27 13:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/11268469d375 8199265: java/util/Arrays/TimSortStackSize2.java fails with OOM Reviewed-by: dholmes Contributed-by: Adam Farley ! test/java/util/Arrays/TimSortStackSize2.java Changeset: ce0fb3b3283a Author: aleonard Date: 2021-03-02 15:40 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ce0fb3b3283a 8262864: No debug symbols in image for Windows --with-native-debug-symbols=external Summary: Fix Images.gmk to keep debuginfo files Reviewed-by: sgehwolf, stooke ! make/Images.gmk Changeset: 1e0a8a4669bc Author: yan Date: 2015-10-20 12:42 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1e0a8a4669bc 8136592: [TEST_BUG] Fix 2 platform-specific closed regtests for jigsaw Reviewed-by: serb, yan Contributed-by: Renjith Alexander + test/java/awt/EmbeddedFrame/GraphicsConfigTest/GraphicsConfigTest.java + test/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html + test/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.java Changeset: 5e357683237b Author: andrew Date: 2021-03-31 22:03 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5e357683237b 8261867: Backport relevant test changes & additions from JDK-8130125 Summary: Backport changes to bug6980209.java, JSplitPaneOverlapping.java, TestXEmbedServer.java, plus 3 new tests. Reviewed-by: phh, serb ! test/java/awt/EventQueue/6980209/bug6980209.java + test/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html + test/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.java ! test/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java + test/java/awt/font/GlyphVector/TestLayoutFlags.java + test/java/awt/font/Underline/UnderlineTest.java ! test/java/awt/xembed/server/TestXEmbedServer.java Changeset: a364726474e6 Author: simonis Date: 2019-11-15 20:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a364726474e6 8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater() Reviewed-by: clanger, lancea ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java + test/demo/zipfs/ReleaseDeflater.java Changeset: 093828a3a3ce Author: xuelei Date: 2021-04-02 17:51 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/093828a3a3ce 8259886: Improve SSL session cache performance and scalability Reviewed-by: erikj, xuelei, aph, mbalao Contributed-by: djelinski ! src/share/classes/sun/security/util/Cache.java Changeset: 8f6f14c0c9ce Author: mbalao Date: 2021-04-12 20:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8f6f14c0c9ce 8261355: No data buffering in SunPKCS11 Cipher encryption when the underlying mechanism has no padding Reviewed-by: valeriep, phh ! src/share/classes/sun/security/pkcs11/P11Cipher.java + test/sun/security/pkcs11/Cipher/EncryptionPadding.java Changeset: 4424a1214fee Author: alexsch Date: 2015-04-22 15:00 +0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4424a1214fee 8030123: java/beans/Introspector/Test8027648.java fails Reviewed-by: serb, alexsch Contributed-by: Nicholas Cull ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/PropertyDescriptor.java Changeset: cb3a5b83571c Author: arapte Date: 2020-07-16 06:35 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/cb3a5b83571c 8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList Reviewed-by: prr, serb ! src/share/classes/javax/swing/JList.java ! src/windows/classes/com/sun/java/accessibility/AccessBridge.java Changeset: 1bb0d5a206fe Author: naoto Date: 2021-03-26 17:13 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1bb0d5a206fe 8262110: DST starts from incorrect time in 2038 8073446: TimeZone getOffset API does not return a dst offset between years 2038-2137 Reviewed-by: rriggs ! src/share/classes/sun/util/calendar/ZoneInfo.java + test/sun/util/calendar/zi/Beyond2037.java Changeset: 3df509b41e51 Author: andrew Date: 2021-04-23 01:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3df509b41e51 Merge Changeset: 06dcb7564c86 Author: bpb Date: 2017-05-18 12:53 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/06dcb7564c86 8177809: File.lastModified() is losing milliseconds (always ends in 000) Summary: Use higher precision time values where available. Reviewed-by: bchristi, rriggs ! src/solaris/native/java/io/UnixFileSystem_md.c ! test/java/io/File/SetLastModified.java Changeset: 4a65e6e3116a Author: xuelei Date: 2021-03-25 03:35 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4a65e6e3116a 8258753: StartTlsResponse.close() hangs due to synchronization issues Reviewed-by: xuelei Contributed-by: Prajwal Kumaraswamy ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: c703b68365fb Author: rhalade Date: 2021-02-09 17:56 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c703b68365fb 8225081: Remove Telia Company CA certificate expiring in April 2021 Reviewed-by: mullan - make/data/cacerts/soneraclass2ca ! test/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 6544e274af2b Author: serb Date: 2016-08-16 23:07 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6544e274af2b 8159898: Negative array size in java/beans/Introspector/Test8027905.java Reviewed-by: alexsch, yan ! test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java ! test/java/beans/Introspector/Test8027905.java Changeset: dd12c46be499 Author: serb Date: 2016-05-05 01:30 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/dd12c46be499 8151786: [TESTBUG] java/beans/XMLEncoder/Test4625418.java timed out intermittently Reviewed-by: alexsch, yan ! test/java/beans/XMLEncoder/Test4625418.java Changeset: 5fcc99380a8c Author: serb Date: 2021-01-03 05:08 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5fcc99380a8c 8225116: Test OwnedWindowsLeak.java intermittently fails Reviewed-by: pbansal ! test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java Changeset: faad8e276d64 Author: jdv Date: 2016-07-13 17:34 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/faad8e276d64 7059970: Test case: javax/imageio/plugins/png/ITXtTest.java is not closing a file Reviewed-by: prr, bpb, psadhukhan Contributed-by: jayathirth.d.v at oracle.com ! test/javax/imageio/plugins/png/ITXtTest.java Changeset: 898937a8f83f Author: shade Date: 2021-04-27 18:25 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/898937a8f83f 8265988: Fix sun/text/IntHashtable/Bug4170614 for JDK 8u Reviewed-by: sgehwolf ! test/sun/text/IntHashtable/Bug4170614Test.sh Changeset: b36d9a22240e Author: serb Date: 2019-06-26 15:34 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b36d9a22240e 8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported Reviewed-by: prr ! test/java/awt/GraphicsDevice/IncorrectDisplayModeExitFullscreen.java Changeset: 627f9ae06250 Author: serb Date: 2017-07-06 15:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/627f9ae06250 8178403: DirectAudio in JavaSound may hang and leak Reviewed-by: prr, alitvinov ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! test/javax/sound/sampled/Clip/ClipCloseLoss.java Changeset: 01352c9f8c07 Author: jjiang Date: 2018-06-21 10:15 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/01352c9f8c07 8205014: com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java failed with "Read timed out" Reviewed-by: sgehwolf ! test/ProblemList.txt ! test/com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java Changeset: 472688d32092 Author: andrew Date: 2021-05-04 05:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/472688d32092 8258419: RSA cipher buffer cleanup Reviewed-by: phh, sgehwolf ! src/share/classes/com/sun/crypto/provider/RSACipher.java ! src/share/classes/sun/security/rsa/RSACore.java ! src/share/classes/sun/security/rsa/RSAPadding.java Changeset: 73584fe56769 Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/73584fe56769 Added tag jdk8u302-b00 for changeset 7c8bbbfe6acb ! .hgtags Changeset: 2d946ec6c4f8 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2d946ec6c4f8 Added tag jdk8u302-b01 for changeset 73584fe56769 ! .hgtags Changeset: b8efadba8db6 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b8efadba8db6 Merge jdk8u302-b01 ! .hgtags ! make/CompileLaunchers.gmk ! make/Images.gmk - make/data/cacerts/soneraclass2ca - make/data/cacerts/thawtepremiumserverca - make/data/cacerts/verisignclass2g2ca - make/data/cacerts/verisignclass3ca - make/data/cacerts/verisignclass3g2ca - make/data/cacerts/verisigntsaca ! src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/PropertyDescriptor.java ! src/share/classes/java/lang/Character.java ! src/share/classes/javax/swing/JList.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! test/ProblemList.txt ! test/java/util/Locale/LocaleEnhanceTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: e37ca6f45c80 Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e37ca6f45c80 Added tag aarch64-shenandoah-jdk8u302-b01 for changeset b8efadba8db6 ! .hgtags Changeset: 0d4028fa11ba Author: alanb Date: 2014-02-13 14:08 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0d4028fa11ba 8034856: gcc warnings compiling src/solaris/native/sun/security/pkcs11 8034857: gcc warnings compiling src/solaris/native/sun/management Reviewed-by: sla, mullan ! src/share/instrument/JarFacade.c ! src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h ! src/solaris/native/sun/management/LinuxOperatingSystem.c ! src/solaris/native/sun/security/pkcs11/j2secmod_md.c ! src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h Changeset: 63742c643c8a Author: mikael Date: 2014-02-24 11:24 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/63742c643c8a 8035054: JarFacade.c should not include ctype.h Reviewed-by: alanb ! src/share/instrument/JarFacade.c Changeset: 04fb823d2094 Author: serb Date: 2015-07-10 16:15 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/04fb823d2094 8129511: PlatformMidi.c:83 uses malloc without malloc header Reviewed-by: ant, azvegint ! src/share/native/com/sun/media/sound/PlatformMidi.c Changeset: d29bb160b027 Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d29bb160b027 Added tag jdk8u302-b02 for changeset 04fb823d2094 ! .hgtags Changeset: 3b4a88b3925e Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3b4a88b3925e Merge jdk8u302-b02 ! .hgtags Changeset: 6791c307330d Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6791c307330d Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 3b4a88b3925e ! .hgtags Changeset: ab6bdab85291 Author: clanger Date: 2020-12-22 20:28 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ab6bdab85291 8256818: SSLSocket that is never bound or connected leaks socket resources Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/SSLSocketImpl.java + test/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java + test/sun/security/ssl/SSLSocketImpl/libFileUtils.c Changeset: 9078bcb5499a Author: xuelei Date: 2020-12-29 18:49 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9078bcb5499a 8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks Reviewed-by: jnimeh ! test/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: ad14880e46c4 Author: clanger Date: 2020-12-29 18:59 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ad14880e46c4 8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test Reviewed-by: xuelei ! test/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: d2eea93d8c65 Author: clanger Date: 2020-12-29 19:02 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d2eea93d8c65 8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 Reviewed-by: mbaesken ! test/sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java Changeset: d648900019b6 Author: serb Date: 2020-04-08 02:03 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d648900019b6 8241829: Cleanup the code for PrinterJob on windows Reviewed-by: prr, aivanov ! src/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/windows/native/sun/windows/WPrinterJob.cpp + test/java/awt/print/PrintServicesSecurityManager.java Changeset: 172c73eb036d Author: andrew Date: 2021-05-12 16:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/172c73eb036d Merge Changeset: 0056610eefad Author: ewhelan Date: 2021-02-25 12:05 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0056610eefad 8252883: AccessDeniedException caused by delayed file deletion on Windows Reviewed-by: dfuchs ! src/share/classes/java/util/logging/FileHandler.java + test/java/util/logging/FileHandlerAccessTest.java Changeset: 9cd22f676a66 Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9cd22f676a66 Added tag jdk8u302-b03 for changeset 0056610eefad ! .hgtags Changeset: 87992d3d0845 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/87992d3d0845 Merge jdk8u302-b03 ! .hgtags ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: 945bac034e46 Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/945bac034e46 Added tag aarch64-shenandoah-jdk8u302-b03 for changeset 87992d3d0845 ! .hgtags From shade at redhat.com Tue Jun 22 14:06:17 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Jun 2021 16:06:17 +0200 Subject: RFC: Pull aarch64-port/jdk8u-shenandoah to sh/jdk8 In-Reply-To: <9de064f1-20e1-e65d-ec68-88c622a96840@redhat.com> References: <6789f445-a57c-2f82-cec0-ef79cf6d6ea1@redhat.com> <9de064f1-20e1-e65d-ec68-88c622a96840@redhat.com> Message-ID: <0d1d4d04-5dd6-997d-355e-b3a91a49d996@redhat.com> On 6/22/21 1:13 PM, Roman Kennke wrote: >> I would like to pull stabilizing aarch64-port/jdk8u-shenandoah to sh/jdk8. >> The merge is fully automatic. No problems detected in tests. >> >> Thoughts? > > Go for it! Thanks, done. -- -Aleksey From shade at redhat.com Tue Jun 22 14:06:13 2021 From: shade at redhat.com (shade at redhat.com) Date: Tue, 22 Jun 2021 14:06:13 +0000 Subject: hg: shenandoah/jdk8/corba: 11 new changesets Message-ID: <202106221406.15ME6DoM003476@aojmv0008.oracle.com> Changeset: 5010884d00bb Author: andrew Date: 2021-04-20 19:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/5010884d00bb Added tag jdk8u292-ga for changeset fa3e1caed3f0 ! .hgtags Changeset: 24d18884b6fc Author: andrew Date: 2021-05-04 05:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/24d18884b6fc Added tag jdk8u302-b00 for changeset cae05a72a1f7 ! .hgtags Changeset: 905a5d49c868 Author: andrew Date: 2021-05-04 05:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/905a5d49c868 Added tag jdk8u302-b01 for changeset 24d18884b6fc ! .hgtags Changeset: 465727d07e48 Author: andrew Date: 2021-05-20 02:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/465727d07e48 Merge jdk8u302-b01 ! .hgtags Changeset: 63026f032d3e Author: andrew Date: 2021-05-20 02:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/63026f032d3e Added tag aarch64-shenandoah-jdk8u302-b01 for changeset 465727d07e48 ! .hgtags Changeset: f0175096381a Author: andrew Date: 2021-05-10 03:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/f0175096381a Added tag jdk8u302-b02 for changeset 905a5d49c868 ! .hgtags Changeset: 8be7445d35f4 Author: andrew Date: 2021-05-23 20:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/8be7445d35f4 Merge jdk8u302-b02 ! .hgtags Changeset: a3ea74b8eef1 Author: andrew Date: 2021-05-23 20:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/a3ea74b8eef1 Added tag aarch64-shenandoah-jdk8u302-b02 for changeset 8be7445d35f4 ! .hgtags Changeset: 08c22f2bc790 Author: andrew Date: 2021-05-17 05:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/08c22f2bc790 Added tag jdk8u302-b03 for changeset f0175096381a ! .hgtags Changeset: c6bd9fc27018 Author: andrew Date: 2021-06-02 02:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/c6bd9fc27018 Merge jdk8u302-b03 ! .hgtags Changeset: 73adc97111db Author: andrew Date: 2021-06-02 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/73adc97111db Added tag aarch64-shenandoah-jdk8u302-b03 for changeset c6bd9fc27018 ! .hgtags From aph at redhat.com Tue Jun 22 15:50:10 2021 From: aph at redhat.com (Andrew Haley) Date: Tue, 22 Jun 2021 16:50:10 +0100 Subject: Test failure on MacOS/AArch64 Message-ID: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java Timeout information: --- Timeout information end. elapsed time (seconds): 511.187 test TreeTest.test4(): failure java.lang.RuntimeException: Input/output error at java.base/java.lang.ProcessHandleImpl$Info.info0(Native Method) at java.base/java.lang.ProcessHandleImpl$Info.info(ProcessHandleImpl.java:587) at java.base/java.lang.ProcessHandleImpl.info(ProcessHandleImpl.java:504) at TreeTest.test4(TreeTest.java:376) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) I have more info if you're interested. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zgu at redhat.com Tue Jun 22 17:54:53 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 22 Jun 2021 13:54:53 -0400 Subject: Test failure on MacOS/AArch64 In-Reply-To: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> Message-ID: <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> On 6/22/21 11:50 AM, Andrew Haley wrote: > test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java > > Timeout information: > --- Timeout information end. > elapsed time (seconds): 511.187 > > test TreeTest.test4(): failure > java.lang.RuntimeException: Input/output error > at java.base/java.lang.ProcessHandleImpl$Info.info0(Native Method) > at java.base/java.lang.ProcessHandleImpl$Info.info(ProcessHandleImpl.java:587) > at java.base/java.lang.ProcessHandleImpl.info(ProcessHandleImpl.java:504) > at TreeTest.test4(TreeTest.java:376) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > > I have more info if you're interested. > Yes, please! Thanks, -Zhengyu From shade at openjdk.java.net Tue Jun 22 17:58:33 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 22 Jun 2021 17:58:33 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v4] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Tue, 16 Feb 2021 13:21:00 GMT, Aleksey Shipilev wrote: >> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. >> >> This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. >> >> Average time goes down, the number of GC cycles go up, since the cycles are shorter. >> >> Additional testing: >> - [x] Linux x86_64 hotspot_gc_shenandoah >> - [x] Linux AArch64 hotspot_gc_shenandoah >> - [x] Linux AArch64 tier1 with Shenandoah > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: > > - Comment touchup > - Specialize out witness-checking methods, drop acquire again > - Even more explanation > - Move the comment > - Also handle clearing the oops > - Minor touchups to the comment > - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord > - Use release only > - Do acq_rel instead > - 8261495: Shenandoah: reconsider update references memory ordering Not now, bot. Still waiting. ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Tue Jun 22 17:59:38 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 22 Jun 2021 17:59:38 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v3] In-Reply-To: References: Message-ID: On Tue, 16 Feb 2021 10:26:06 GMT, Aleksey Shipilev wrote: >> Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. >> >> For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. >> >> For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. >> >> Additional testing: >> - [x] Linux x86_64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `hotspot_gc_shenandoah` >> - [x] Linux AArch64 `tier1` with Shenandoah > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision: > > - A few minor touchups > - Add a blurb to x86 code as well > - Use implicit "consume" in AArch64, add more notes. > - Merge branch 'master' into JDK-8261492-shenandoah-forwardee-memord > - Make sure to access fwdptr with acquire semantics in assembler code > - 8261492: Shenandoah: reconsider forwardee accesses memory ordering Not now, bot. Still waiting. ------------- PR: https://git.openjdk.java.net/jdk/pull/2496 From gli at openjdk.java.net Wed Jun 23 02:24:37 2021 From: gli at openjdk.java.net (Guoxiong Li) Date: Wed, 23 Jun 2021 02:24:37 GMT Subject: Integrated: 8268368: Adopt cast notation for JavaThread conversions In-Reply-To: References: Message-ID: On Tue, 22 Jun 2021 01:11:30 GMT, Guoxiong Li wrote: > Hi all, > > Considering the consistency of `JavaThread` and other threads, such as WorkerThread and CompilerThread, `JavaThread` could use a method named `cast` to replace the method `Thread::as_Java_thread()`. It can reduce the Thread's knowledge about the subtypes. > > This patch removes two methods, `JavaThread* Thread::as_Java_thread()` and `const JavaThread* Thread::as_Java_thread() const`, of the class `Thread` and adds two static methods, `JavaThread* cast(Thread* t)` and `const JavaThread* cast(const Thread* t)`, to the class `JavaThread`. Correspondingly, the code of the method `JavaThread::current()` need to be adjusted and many places where the method `Thread::as_Java_thread()` is used need to use `JavaThread::cast` instead. > > Test: > tier1 passed locally. > > Thanks for taking the time to review. > > Best Regards, > -- Guoxiong This pull request has now been integrated. Changeset: cd678a38 Author: Guoxiong Li Committer: David Holmes URL: https://git.openjdk.java.net/jdk/commit/cd678a383f7b23ea40132b207ddfc041394ba4c1 Stats: 158 lines in 64 files changed: 13 ins; 19 del; 126 mod 8268368: Adopt cast notation for JavaThread conversions Reviewed-by: dholmes, stefank ------------- PR: https://git.openjdk.java.net/jdk/pull/4546 From shade at redhat.com Wed Jun 23 10:36:39 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Jun 2021 12:36:39 +0200 Subject: RFR/RFC: Shenandoah 8u integration 2021-06-23 Message-ID: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> Hi, I would like to integrate the regular update of Shenandoah 8u to our integration repository, aarch64-port/jdk8u-shenandoah. It comes with a few bugfixes. Webrev: https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20210623/webrev.01/ As you can see, there are no shared changes, and everything is within Shenandoah code. There is no merge changeset, as shenandoah/jdk8 forest is clean downstream of integration repository. I am tagging the whole thing as aarch64-shenandoah-jdk8u302-b03-shenandoah-merge-2021-06-23. Testing: hotspot_gc_shenandoah; I see no build/test failures in builds.shipilev.net CI -- Thanks, -Aleksey From zgu at redhat.com Wed Jun 23 11:57:47 2021 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 23 Jun 2021 07:57:47 -0400 Subject: [aarch64-port-dev ] RFR/RFC: Shenandoah 8u integration 2021-06-23 In-Reply-To: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> References: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> Message-ID: Looks good to me. -Zhengyu On 6/23/21 6:36 AM, Aleksey Shipilev wrote: > Hi, > > I would like to integrate the regular update of Shenandoah 8u to our > integration repository, > aarch64-port/jdk8u-shenandoah. It comes with a few bugfixes. > > Webrev: > > https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20210623/webrev.01/ > > > As you can see, there are no shared changes, and everything is within > Shenandoah code. There is no merge changeset, as shenandoah/jdk8 forest > is clean downstream of integration repository. I am tagging the whole > thing as aarch64-shenandoah-jdk8u302-b03-shenandoah-merge-2021-06-23. > > Testing: hotspot_gc_shenandoah; I see no build/test failures in > builds.shipilev.net CI > From gnu.andrew at redhat.com Wed Jun 23 15:30:53 2021 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 23 Jun 2021 16:30:53 +0100 Subject: RFR/RFC: Shenandoah 8u integration 2021-06-23 In-Reply-To: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> References: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> Message-ID: <20210623153053.GC782669@rincewind> On 12:36 Wed 23 Jun , Aleksey Shipilev wrote: > Hi, > > I would like to integrate the regular update of Shenandoah 8u to our integration repository, > aarch64-port/jdk8u-shenandoah. It comes with a few bugfixes. > > Webrev: > https://cr.openjdk.java.net/~shade/shenandoah/merges/aarch64-port-8u-20210623/webrev.01/ > > As you can see, there are no shared changes, and everything is within > Shenandoah code. There is no merge changeset, as shenandoah/jdk8 forest is > clean downstream of integration repository. I am tagging the whole thing as > aarch64-shenandoah-jdk8u302-b03-shenandoah-merge-2021-06-23. > > Testing: hotspot_gc_shenandoah; I see no build/test failures in builds.shipilev.net CI > > -- > Thanks, > -Aleksey > This looks pretty straight-forward and only touches Shenandoah code. Please merge and I'll rebase the b04 I have on top of this. Sorry for not getting that in earlier. Thanks, -- Andrew :) Pronouns: he / him or they / them 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 Wed Jun 23 15:32:34 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Jun 2021 17:32:34 +0200 Subject: RFR/RFC: Shenandoah 8u integration 2021-06-23 In-Reply-To: <20210623153053.GC782669@rincewind> References: <7b5710ff-2ca0-7aec-f5f3-fa1f9f2b172b@redhat.com> <20210623153053.GC782669@rincewind> Message-ID: <888b18e4-629d-d490-0694-1a734ecad069@redhat.com> On 6/23/21 5:30 PM, Andrew Hughes wrote: > Please merge and I'll rebase the b04 I have on top of this. Thanks! Pushed. -- -Aleksey From shade at openjdk.java.net Wed Jun 23 15:32:59 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 23 Jun 2021 15:32:59 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v4] In-Reply-To: References: Message-ID: <1LQKG5euzn56GFgSdFtQYO4B9Q2zDCNQpHz3Rl4QEoA=.78d8f5a1-e2ca-4e28-ad5b-ccc89b837be8@github.com> > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: 8261492: Shenandoah: reconsider forwardee accesses memory ordering ------------- Changes: https://git.openjdk.java.net/jdk/pull/2496/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=03 Stats: 46 lines in 5 files changed: 39 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/jdk/pull/2496.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2496/head:pull/2496 PR: https://git.openjdk.java.net/jdk/pull/2496 From shade at openjdk.java.net Wed Jun 23 15:50:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 23 Jun 2021 15:50:43 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v5] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: - Mention stronger-than-relaxed memory ordering - Comment touchup - Specialize out witness-checking methods, drop acquire again - Even more explanation - Move the comment - Also handle clearing the oops - Minor touchups to the comment - Use release only - Do acq_rel instead - 8261495: Shenandoah: reconsider update references memory ordering ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2498/files - new: https://git.openjdk.java.net/jdk/pull/2498/files/0d299968..a033e37a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=03-04 Stats: 1379432 lines in 14417 files changed: 693773 ins; 633503 del; 52156 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Jun 23 16:34:44 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 23 Jun 2021 16:34:44 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v6] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: 8261495: Shenandoah: reconsider update references memory ordering ------------- Changes: https://git.openjdk.java.net/jdk/pull/2498/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=05 Stats: 130 lines in 7 files changed: 93 ins; 15 del; 22 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Wed Jun 23 16:37:03 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 23 Jun 2021 16:37:03 GMT Subject: RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v5] In-Reply-To: References: Message-ID: <6FBSSKklcr_WaFfYouE8Pk3VajH5iw_x9cEFaIU9gnk=.063a6261-637f-419a-a1a8-ebdb0996a76c@github.com> > Shenandoah carries forwardee information in object's mark word. Installing the new mark word is effectively "releasing" the object copy, and reading from the new mark word is "acquiring" that object copy. > > For the forwardee update side, Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. This seems to be excessive for Shenandoah forwardee updates, and "release" is enough. > > For the forwardee load side, we need to guarantee "acquire". We do not do it now, reading the markword without memory semantics. It does not seem to pose a practical problem today, because GC does not access the object contents in the new copy, and mutators get this from the JRT-called stub that separates the fwdptr access and object contents access by a lot. It still should be cleaner to "acquire" the mark on load to avoid surprises. > > Additional testing: > - [x] Linux x86_64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `hotspot_gc_shenandoah` > - [x] Linux AArch64 `tier1` with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since the last revision: 8261492: Shenandoah: reconsider forwardee accesses memory ordering ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2496/files - new: https://git.openjdk.java.net/jdk/pull/2496/files/337b31c3..36e2da27 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2496&range=03-04 Stats: 3686 lines in 163 files changed: 1466 ins; 1839 del; 381 mod Patch: https://git.openjdk.java.net/jdk/pull/2496.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2496/head:pull/2496 PR: https://git.openjdk.java.net/jdk/pull/2496 From roy.sunny.zhang007 at gmail.com Thu Jun 24 08:46:15 2021 From: roy.sunny.zhang007 at gmail.com (Roy Zhang) Date: Thu, 24 Jun 2021 16:46:15 +0800 Subject: Does Shenandoah GC support class unloading in JDK11? Message-ID: Dear Shenandoah GC experts, We are evaluating ZGC and Shenandoah GC in JDK11, as we know, ZGC doesn't support class unloading in JDK11. Does our Shenandoah GC support class unloading in JDK11? Really appreciate your great help in advance! Thanks, Roy From shade at redhat.com Thu Jun 24 08:50:24 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Jun 2021 10:50:24 +0200 Subject: Does Shenandoah GC support class unloading in JDK11? In-Reply-To: References: Message-ID: <730e297b-748a-c54c-0e4f-89966d135b60@redhat.com> On 6/24/21 10:46 AM, Roy Zhang wrote: > Dear Shenandoah GC experts, > > We are evaluating ZGC and Shenandoah GC in JDK11, as we know, ZGC doesn't > support class unloading in JDK11. Does our Shenandoah GC support class > unloading in JDK11? Yes, but only the stop-the-world one, during the final-mark pause. (Pretty much like G1 and others). How well does that work, depends on many factors. Shenandoah got *concurrent* class unloading in JDK 14, with: https://bugs.openjdk.java.net/browse/JDK-8226241 -- Thanks, -Aleksey From roy.sunny.zhang007 at gmail.com Thu Jun 24 08:54:30 2021 From: roy.sunny.zhang007 at gmail.com (Roy Zhang) Date: Thu, 24 Jun 2021 16:54:30 +0800 Subject: Does Shenandoah GC support class unloading in JDK11? In-Reply-To: <730e297b-748a-c54c-0e4f-89966d135b60@redhat.com> References: <730e297b-748a-c54c-0e4f-89966d135b60@redhat.com> Message-ID: Thx Aleksey! On Thu, Jun 24, 2021 at 4:50 PM Aleksey Shipilev wrote: > On 6/24/21 10:46 AM, Roy Zhang wrote: > > Dear Shenandoah GC experts, > > > > We are evaluating ZGC and Shenandoah GC in JDK11, as we know, ZGC doesn't > > support class unloading in JDK11. Does our Shenandoah GC support class > > unloading in JDK11? > > Yes, but only the stop-the-world one, during the final-mark pause. (Pretty > much like G1 and others). > How well does that work, depends on many factors. > > Shenandoah got *concurrent* class unloading in JDK 14, with: > https://bugs.openjdk.java.net/browse/JDK-8226241 > > -- > Thanks, > -Aleksey > > From aph at redhat.com Mon Jun 28 08:20:43 2021 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 Jun 2021 09:20:43 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> Message-ID: <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> On 6/22/21 6:54 PM, Zhengyu Gu wrote: > > On 6/22/21 11:50 AM, Andrew Haley wrote: >> test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java >> >> Timeout information: >> --- Timeout information end. >> elapsed time (seconds): 511.187 >> >> test TreeTest.test4(): failure >> java.lang.RuntimeException: Input/output error >> at java.base/java.lang.ProcessHandleImpl$Info.info0(Native Method) >> at java.base/java.lang.ProcessHandleImpl$Info.info(ProcessHandleImpl.java:587) >> at java.base/java.lang.ProcessHandleImpl.info(ProcessHandleImpl.java:504) >> at TreeTest.test4(TreeTest.java:376) >> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) >> >> I have more info if you're interested. >> > > Yes, please! I'm running it in a loop to see if it'll fail again. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 -------------- next part -------------- #Test Results (version 2) #Tue Jun 22 16:45:26 BST 2021 #-----testdescription----- $file=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java $root=/Users/aph/theRealAph-jdk/test/hotspot/jtreg id=id3 keywords=othervm requires=vm.gc.Shenandoah run=USER_SPECIFIED main/othervm -Xmx128m -XX\:+UnlockDiagnosticVMOptions -XX\:+UnlockExperimentalVMOptions -XX\:+UseShenandoahGC -XX\:ShenandoahGCHeuristics\=static TestPauseNotifications\n source=TestPauseNotifications.java title=Check that MX notifications are reported for all cycles #-----environment----- #-----testresult----- description=file\:/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java\#id3 elapsed=511202 0\:08\:31.202 end=Tue Jun 22 16\:45\:26 BST 2021 environment=regtest execStatus=Error. Program `/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 511184ms). harnessLoaderMode=Classpath Loader harnessVariety=Full Bundle hostname=localhost javatestOS=Mac OS X 11.2.3 (aarch64) javatestVersion=6.0-ea+b14-2021-06-09 jtregVersion=jtreg 6 dev 0 script=com.sun.javatest.regtest.exec.RegressionScript sections=script_messages build compile main start=Tue Jun 22 16\:36\:55 BST 2021 test=gc/shenandoah/mxbeans/TestPauseNotifications.java\#id3 testJDK=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk totalTime=511218 user.name=aph work=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/gc/shenandoah/mxbeans #section:script_messages ----------messages:(4/298)---------- JDK under test: /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk openjdk version "18-internal" 2022-03-15 OpenJDK Runtime Environment (build 18-internal+0-adhoc.aph.theRealAph-jdk) OpenJDK 64-Bit Server VM (build 18-internal+0-adhoc.aph.theRealAph-jdk, mixed mode, sharing) #section:build ----------messages:(5/157)---------- command: build TestPauseNotifications reason: Named class compiled on demand Test directory: compile: TestPauseNotifications elapsed time (seconds): 0.015 result: Passed. Build successful #section:compile ----------messages:(5/218)---------- command: compile /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java reason: .class file out of date or does not exist Mode: agentvm Agent id: 1 elapsed time (seconds): 0.015 ----------configuration:(10/660)---------- Boot Layer (javac runtime environment) class path: /Users/aph/jtreg/lib/javatest.jar /Users/aph/jtreg/lib/jtreg.jar patch: java.base /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/patches/java.base javac compilation environment source path: /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans class path: /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d ----------rerun:(31/3319)*---------- cd /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/scratch/3 && \\ HOME=/Users/aph \\ JDK8_HOME=/Users/aph/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64 \\ LANG=en_GB.UTF-8 \\ LC_ALL=C \\ LC_CTYPE=C \\ PATH=/bin:/usr/bin:/usr/sbin \\ TEST_IMAGE_DIR=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test \\ /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk/bin/javac \\ -J-XX:MaxRAMPercentage=6.25 \\ -J-Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp \\ -J-Djava.library.path=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test/hotspot/jtreg/native \\ -J-Dtest.vm.opts='-XX:MaxRAMPercentage=6.25 -Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp' \\ -J-Dtest.tool.vm.opts='-J-XX:MaxRAMPercentage=6.25 -J-Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp' \\ -J-Dtest.compiler.opts= \\ -J-Dtest.java.opts= \\ -J-Dtest.jdk=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk \\ -J-Dcompile.jdk=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk \\ -J-Dtest.timeout.factor=4.0 \\ -J-Dtest.nativepath=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test/hotspot/jtreg/native \\ -J-Dtest.root=/Users/aph/theRealAph-jdk/test/hotspot/jtreg \\ -J-Dtest.name=gc/shenandoah/mxbeans/TestPauseNotifications.java#id3 \\ -J-Dtest.file=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java \\ -J-Dtest.src=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -J-Dtest.src.path=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -J-Dtest.classes=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d \\ -J-Dtest.class.path=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d \\ -J-Dtest.class.path.prefix=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d:/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -d /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d \\ -sourcepath /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -classpath /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans:/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d /Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java result: Passed. Compilation successful #section:main ----------messages:(6/482)---------- command: main -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static TestPauseNotifications reason: User specified action: run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static TestPauseNotifications Mode: othervm [/othervm specified] Timeout information: --- Timeout information end. elapsed time (seconds): 511.187 ----------configuration:(0/0)---------- ----------System.out:(26/87180)---------- javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=sun.management.Shenandoah Pauses.GcInfoCompositeType,items=((itemName=GcThreadCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=duration,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=endTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=memoryUsageAfterGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=memoryUsageBeforeGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={GcThreadCount=2, duration=0, endTime=441, id=1, memoryUsageAfterGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), memoryUsageBeforeGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), startTime=441}) Shenandoah Pauses javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=sun.management.Shenandoah Pauses.GcInfoCompositeType,items=((itemName=GcThreadCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=duration,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=endTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=memoryUsageAfterGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=memoryUsageBeforeGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={GcThreadCount=2, duration=0, endTime=441, id=2, memoryUsageAfterGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), memoryUsageBeforeGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items= ... Output overflow: JT Harness has limited the test output to the text at the beginning and the end, so that you can see how the test began, and how it completed. If you need to see more of the output from the test, set the system property javatest.maxOutputSize to a higher value. The current value is 100000 ... =max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), memoryUsageBeforeGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), startTime=305989}) Shenandoah Pauses javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=sun.management.Shenandoah Pauses.GcInfoCompositeType,items=((itemName=GcThreadCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=duration,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=endTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=memoryUsageAfterGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=memoryUsageBeforeGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={GcThreadCount=2, duration=0, endTime=305989, id=79, memoryUsageAfterGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), memoryUsageBeforeGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=0, init=0, max=0, used=0})})}), startTime=305989}) Shenandoah Pauses javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=sun.management.Shenandoah Cycles.GcInfoCompositeType,items=((itemName=GcThreadCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=duration,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=endTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=memoryUsageAfterGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=memoryUsageBeforeGc,itemType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key))),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={GcThreadCount=2, duration=2, endTime=305989, id=26, memoryUsageAfterGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=122912768, used=270592})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=122896384, used=1064704})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=134217728, init=134217728, max=134217728, used=3535296})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=262144, init=0, max=1073741824, used=162040})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=1769472, init=0, max=-1, used=1588928})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=5849088, used=1213056})})}), memoryUsageBeforeGc=javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=Map,rowType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),indexNames=(key)),contents={[CodeHeap 'non-profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=122912768, used=270592})}), [CodeHeap 'profiled nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'profiled nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=122896384, used=1063424})}), [Shenandoah]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Shenandoah, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=134217728, init=134217728, max=134217728, used=54571032})}), [Compressed Class Space]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Compressed Class Space, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=262144, init=0, max=1073741824, used=162040})}), [Metaspace]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=Metaspace, value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=1769472, init=0, max=-1, used=1587144})}), [CodeHeap 'non-nmethods']=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=Map,items=((itemName=key,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=value,itemType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long))))))),contents={key=CodeHeap 'non-nmethods', value=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=2555904, init=2555904, max=5849088, used=1213056})})}), startTime=305987}) Shenandoah Cycles Timeout refired 480 times ----------System.err:(0/0)---------- ----------rerun:(35/3375)*---------- cd /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/scratch/3 && \\ HOME=/Users/aph \\ JDK8_HOME=/Users/aph/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64 \\ LANG=en_GB.UTF-8 \\ LC_ALL=C \\ LC_CTYPE=C \\ PATH=/bin:/usr/bin:/usr/sbin \\ TEST_IMAGE_DIR=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test \\ CLASSPATH=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d:/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans:/Users/aph/jtreg/lib/javatest.jar:/Users/aph/jtreg/lib/jtreg.jar \\ /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk/bin/java \\ -Dtest.vm.opts='-XX:MaxRAMPercentage=6.25 -Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp' \\ -Dtest.tool.vm.opts='-J-XX:MaxRAMPercentage=6.25 -J-Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp' \\ -Dtest.compiler.opts= \\ -Dtest.java.opts= \\ -Dtest.jdk=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk \\ -Dcompile.jdk=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk \\ -Dtest.timeout.factor=4.0 \\ -Dtest.nativepath=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test/hotspot/jtreg/native \\ -Dtest.root=/Users/aph/theRealAph-jdk/test/hotspot/jtreg \\ -Dtest.name=gc/shenandoah/mxbeans/TestPauseNotifications.java#id3 \\ -Dtest.file=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java \\ -Dtest.src=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -Dtest.src.path=/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -Dtest.classes=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d \\ -Dtest.class.path=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d \\ -Dtest.class.path.prefix=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/classes/2/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d:/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans \\ -XX:MaxRAMPercentage=6.25 \\ -Djava.io.tmpdir=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/tmp \\ -Djava.library.path=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test/hotspot/jtreg/native \\ -Xmx128m \\ -XX:+UnlockDiagnosticVMOptions \\ -XX:+UnlockExperimentalVMOptions \\ -XX:+UseShenandoahGC \\ -XX:ShenandoahGCHeuristics=static \\ com.sun.javatest.regtest.agent.MainWrapper /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_tier1/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d/main.0.jta result: Error. Program `/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 511184ms). test result: Error. Program `/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/jdk/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 511184ms). From aph at redhat.com Mon Jun 28 08:50:42 2021 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 Jun 2021 09:50:42 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> Message-ID: <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> On 6/28/21 9:20 AM, Andrew Haley wrote: > On 6/22/21 6:54 PM, Zhengyu Gu wrote: >> >> On 6/22/21 11:50 AM, Andrew Haley wrote: >>> test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java >>> >>> Timeout information: >>> --- Timeout information end. >>> elapsed time (seconds): 511.187 >>> >>> test TreeTest.test4(): failure >>> java.lang.RuntimeException: Input/output error >>> at java.base/java.lang.ProcessHandleImpl$Info.info0(Native Method) >>> at java.base/java.lang.ProcessHandleImpl$Info.info(ProcessHandleImpl.java:587) >>> at java.base/java.lang.ProcessHandleImpl.info(ProcessHandleImpl.java:504) >>> at TreeTest.test4(TreeTest.java:376) >>> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) >>> >>> I have more info if you're interested. >>> >> >> Yes, please! > > I'm running it in a loop to see if it'll fail again. It failed again, in the same way. It took less than half an hour, and it looks like a real bug. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at redhat.com Mon Jun 28 08:58:21 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Jun 2021 10:58:21 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> Message-ID: <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> On 6/28/21 10:50 AM, Andrew Haley wrote: > It failed again, in the same way. It took less than half an hour, and it looks like > a real bug. Probably a test bug. This one? https://bugs.openjdk.java.net/browse/JDK-8266005 I have not seen follow-ups to that one. -- Thanks, -Aleksey From shade at redhat.com Mon Jun 28 10:07:43 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Jun 2021 12:07:43 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> Message-ID: <06fd9dde-2dfa-4b98-0a1c-eac2304d4bed@redhat.com> On 6/28/21 10:50 AM, Andrew Haley wrote: > It failed again, in the same way. It took less than half an hour, and it looks like > a real bug. I think it is awkward that test times out. We need to make it fail reliably (and faster) first: https://bugs.openjdk.java.net/browse/JDK-8269478 You might want to run with that? It should fail faster... -- Thanks, -Aleksey From shade at openjdk.java.net Mon Jun 28 10:16:26 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 28 Jun 2021 10:16:26 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive Message-ID: After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. Additional testing: - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` ------------- Commit messages: - 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive Changes: https://git.openjdk.java.net/jdk/pull/4611/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8269478 Stats: 8 lines in 2 files changed: 4 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/4611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4611/head:pull/4611 PR: https://git.openjdk.java.net/jdk/pull/4611 From rkennke at openjdk.java.net Mon Jun 28 10:57:05 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Mon, 28 Jun 2021 10:57:05 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive In-Reply-To: References: Message-ID: On Mon, 28 Jun 2021 10:07:30 GMT, Aleksey Shipilev wrote: > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` Looks good. Thanks! ------------- Marked as reviewed by rkennke (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/4611 From shade at openjdk.java.net Mon Jun 28 13:57:40 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 28 Jun 2021 13:57:40 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive [v2] In-Reply-To: References: Message-ID: <71GQWsda_bBdK6t6fpmTjlLTMYHw3hxFH66JoZuykZ4=.824dfea0-02fe-4955-84f3-5dd2ea7bf5b7@github.com> > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision: - Merge branch 'master' into JDK-8269478-sh-mxbeans-tests - 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4611/files - new: https://git.openjdk.java.net/jdk/pull/4611/files/77278d43..a00be3e6 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=00-01 Stats: 12199 lines in 357 files changed: 3981 ins; 7160 del; 1058 mod Patch: https://git.openjdk.java.net/jdk/pull/4611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4611/head:pull/4611 PR: https://git.openjdk.java.net/jdk/pull/4611 From shade at openjdk.java.net Mon Jun 28 16:43:42 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 28 Jun 2021 16:43:42 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive [v3] In-Reply-To: References: Message-ID: > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Rework tests for much better reliability, passes slowdebug+Xcomp ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4611/files - new: https://git.openjdk.java.net/jdk/pull/4611/files/a00be3e6..029ed18f Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=01-02 Stats: 92 lines in 2 files changed: 45 ins; 28 del; 19 mod Patch: https://git.openjdk.java.net/jdk/pull/4611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4611/head:pull/4611 PR: https://git.openjdk.java.net/jdk/pull/4611 From aph at redhat.com Mon Jun 28 17:08:23 2021 From: aph at redhat.com (Andrew Haley) Date: Mon, 28 Jun 2021 18:08:23 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> Message-ID: <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> On 6/28/21 9:58 AM, Aleksey Shipilev wrote: > On 6/28/21 10:50 AM, Andrew Haley wrote: >> It failed again, in the same way. It took less than half an hour, and it looks like >> a real bug. > > Probably a test bug. This one? > https://bugs.openjdk.java.net/browse/JDK-8266005 > > I have not seen follow-ups to that one. And it's reproducible on MacOS but not Linux. I am trying to get my head around why that might be, but I'll leave that to y'all. :-) -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at openjdk.java.net Mon Jun 28 17:08:42 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 28 Jun 2021 17:08:42 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive [v3] In-Reply-To: References: Message-ID: On Mon, 28 Jun 2021 16:43:42 GMT, Aleksey Shipilev wrote: >> After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. >> >> Additional testing: >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > Rework tests for much better reliability, passes slowdebug+Xcomp I have rewritten the tests so that they pass `slowdebug` + `-Xcomp`. Also they are looking at the actual timeout configuration for the test, so users can control how long to wait with usual `timeoutFactor`. ------------- PR: https://git.openjdk.java.net/jdk/pull/4611 From shade at openjdk.java.net Mon Jun 28 17:08:39 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Mon, 28 Jun 2021 17:08:39 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should fail when no notifications arrive [v4] In-Reply-To: References: Message-ID: > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: More comments ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4611/files - new: https://git.openjdk.java.net/jdk/pull/4611/files/029ed18f..a9eeaeff Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=02-03 Stats: 8 lines in 2 files changed: 4 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jdk/pull/4611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4611/head:pull/4611 PR: https://git.openjdk.java.net/jdk/pull/4611 From aph at redhat.com Tue Jun 29 08:44:19 2021 From: aph at redhat.com (Andrew Haley) Date: Tue, 29 Jun 2021 09:44:19 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> Message-ID: <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> On 6/28/21 6:08 PM, Andrew Haley wrote: > On 6/28/21 9:58 AM, Aleksey Shipilev wrote: >> On 6/28/21 10:50 AM, Andrew Haley wrote: >>> It failed again, in the same way. It took less than half an hour, and it looks like >>> a real bug. >> >> Probably a test bug. This one? >> https://bugs.openjdk.java.net/browse/JDK-8266005 >> >> I have not seen follow-ups to that one. > > And it's reproducible on MacOS but not Linux. I am trying to get my head > around why that might be, but I'll leave that to y'all. :-) Received: Shenandoah Pauses Received: Shenandoah Pauses Received: Shenandoah Cycles STDERR: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 73 Pauses duration (0) is expected to be smaller than cycles duration (73) at TestPauseNotifications.main(TestPauseNotifications.java:190) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127) at java.base/java.lang.Thread.run(Thread.java:833) JavaTest Message: Test threw exception: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 73 Pauses duration (0) is expected to be smaller than cycles duration (73) JavaTest Message: shutting down test STATUS:Failed.`main' threw exception: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 73 Pauses duration (0) is expected to be smaller than cycles duration (73) rerun: -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at redhat.com Tue Jun 29 08:51:41 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Jun 2021 10:51:41 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> Message-ID: <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> On 6/29/21 10:44 AM, Andrew Haley wrote: >> And it's reproducible on MacOS but not Linux. I am trying to get my head >> around why that might be, but I'll leave that to y'all. :-) > > Received: Shenandoah Pauses > Received: Shenandoah Pauses > Received: Shenandoah Cycles > STDERR: > java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 You might laugh a bit, but I think this happens because all pauses are below 1ms, so GcInfo resolution is not enough to capture it. So the sum of all pauses is zero, which fails the test :D -- Thanks, -Aleksey From shade at redhat.com Tue Jun 29 10:19:20 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Jun 2021 12:19:20 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> Message-ID: <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> On 6/29/21 10:51 AM, Aleksey Shipilev wrote: > On 6/29/21 10:44 AM, Andrew Haley wrote: >>> And it's reproducible on MacOS but not Linux. I am trying to get my head >>> around why that might be, but I'll leave that to y'all. :-) >> >> Received: Shenandoah Pauses >> Received: Shenandoah Pauses >> Received: Shenandoah Cycles >> STDERR: >> java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 > > You might laugh a bit, but I think this happens because all pauses are below 1ms, so GcInfo > resolution is not enough to capture it. So the sum of all pauses is zero, which fails the test :D Updated that PR to avoid counting sum of pauses: https://github.com/openjdk/jdk/pull/4611 Please try to run with it? -- -Aleksey From shade at openjdk.java.net Tue Jun 29 10:24:29 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 29 Jun 2021 10:24:29 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient [v4] In-Reply-To: References: Message-ID: On Mon, 28 Jun 2021 17:08:39 GMT, Aleksey Shipilev wrote: >> After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. >> >> Additional testing: >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` > > Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: > > More comments Rewrote the `PauseNotification` test to capture notification counts, not pause times. Mostly because the 1ms resolution is not enough to guarantee non-zero sum of pauses. ------------- PR: https://git.openjdk.java.net/jdk/pull/4611 From shade at openjdk.java.net Tue Jun 29 10:24:28 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 29 Jun 2021 10:24:28 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient [v5] In-Reply-To: References: Message-ID: > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since the last revision: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/4611/files - new: https://git.openjdk.java.net/jdk/pull/4611/files/a9eeaeff..612957fd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4611&range=03-04 Stats: 3465 lines in 70 files changed: 1891 ins; 1193 del; 381 mod Patch: https://git.openjdk.java.net/jdk/pull/4611.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4611/head:pull/4611 PR: https://git.openjdk.java.net/jdk/pull/4611 From zgu at openjdk.java.net Tue Jun 29 12:19:29 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 29 Jun 2021 12:19:29 GMT Subject: [jdk17] RFR: 8268699: Shenandoah: Add test for JDK-8268127 Message-ID: I would like to backport this new test to jdk17 to ensure no regression of JDK-8268127. Test: - [x] new test passed ------------- Commit messages: - Backport e59acd9860ca9e50c91472f8215f73c17d2099b6 Changes: https://git.openjdk.java.net/jdk17/pull/171/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=171&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8268699 Stats: 71 lines in 1 file changed: 71 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk17/pull/171.diff Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/171/head:pull/171 PR: https://git.openjdk.java.net/jdk17/pull/171 From zgu at openjdk.java.net Tue Jun 29 12:32:12 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 29 Jun 2021 12:32:12 GMT Subject: [jdk17] Integrated: 8268699: Shenandoah: Add test for JDK-8268127 In-Reply-To: References: Message-ID: On Tue, 29 Jun 2021 12:09:13 GMT, Zhengyu Gu wrote: > I would like to backport this new test to jdk17 to ensure no regression of JDK-8268127. > > Test: > > - [x] new test passed This pull request has now been integrated. Changeset: 0d83dc24 Author: Zhengyu Gu URL: https://git.openjdk.java.net/jdk17/commit/0d83dc241119eb970bf41fea56f42f686ec38b83 Stats: 71 lines in 1 file changed: 71 ins; 0 del; 0 mod 8268699: Shenandoah: Add test for JDK-8268127 Backport-of: e59acd9860ca9e50c91472f8215f73c17d2099b6 ------------- PR: https://git.openjdk.java.net/jdk17/pull/171 From shade at openjdk.java.net Tue Jun 29 12:33:43 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 29 Jun 2021 12:33:43 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v7] In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. For example, `SPECjvm2008:compiler.sunflow`: > > > # Before > [172.931s][info][gc,stats] Concurrent Update Refs = 9.866 s (a = 60161 us) > [283.225s][info][gc,stats] Concurrent Update Refs = 8.274 s (a = 57859 us) > [232.514s][info][gc,stats] Concurrent Update Refs = 9.321 s (a = 58991 us) > [215.495s][info][gc,stats] Concurrent Update Refs = 9.233 s (a = 58434 us) > [217.557s][info][gc,stats] Concurrent Update Refs = 9.153 s (a = 58672 us) > > # After > [169.752s][info][gc,stats] Concurrent Update Refs = 8.150 s (a = 49697 us) > [168.798s][info][gc,stats] Concurrent Update Refs = 8.430 s (a = 51092 us) > [166.353s][info][gc,stats] Concurrent Update Refs = 8.812 s (a = 54395 us) > [236.542s][info][gc,stats] Concurrent Update Refs = 8.215 s (a = 51026 us) > [214.006s][info][gc,stats] Concurrent Update Refs = 8.244 s (a = 52175 us) > > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Comment tune-ups - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord - 8261495: Shenandoah: reconsider update references memory ordering ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/2498/files - new: https://git.openjdk.java.net/jdk/pull/2498/files/71f419f1..3adc78b4 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=06 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2498&range=05-06 Stats: 15989 lines in 418 files changed: 6031 ins; 8537 del; 1421 mod Patch: https://git.openjdk.java.net/jdk/pull/2498.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2498/head:pull/2498 PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Tue Jun 29 12:33:51 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 29 Jun 2021 12:33:51 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v4] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Fri, 19 Mar 2021 11:39:11 GMT, Roman Kennke wrote: >> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: >> >> - Comment touchup >> - Specialize out witness-checking methods, drop acquire again >> - Even more explanation >> - Move the comment >> - Also handle clearing the oops >> - Minor touchups to the comment >> - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord >> - Use release only >> - Do acq_rel instead >> - 8261495: Shenandoah: reconsider update references memory ordering > > Looks good to me. @rkennke, @zhengyu123 -- please take a look again. Now that JDK-8261579 is there, the performance data is available (PR body), and it seems to be ready to go. ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From shade at openjdk.java.net Tue Jun 29 13:57:00 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Tue, 29 Jun 2021 13:57:00 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient [v5] In-Reply-To: References: Message-ID: On Mon, 28 Jun 2021 10:54:05 GMT, Roman Kennke wrote: >> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since the last revision: >> >> 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient > > Looks good. Thanks! @rkennke, @zhengyu123, need another review here, I think. ------------- PR: https://git.openjdk.java.net/jdk/pull/4611 From zgu at openjdk.java.net Tue Jun 29 15:15:12 2021 From: zgu at openjdk.java.net (Zhengyu Gu) Date: Tue, 29 Jun 2021 15:15:12 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v7] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Tue, 29 Jun 2021 12:33:43 GMT, Aleksey Shipilev wrote: >> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. >> >> This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. >> >> Average time goes down, the number of GC cycles go up, since the cycles are shorter. For example, `SPECjvm2008:compiler.sunflow`: >> >> >> # Before >> [172.931s][info][gc,stats] Concurrent Update Refs = 9.866 s (a = 60161 us) >> [283.225s][info][gc,stats] Concurrent Update Refs = 8.274 s (a = 57859 us) >> [232.514s][info][gc,stats] Concurrent Update Refs = 9.321 s (a = 58991 us) >> [215.495s][info][gc,stats] Concurrent Update Refs = 9.233 s (a = 58434 us) >> [217.557s][info][gc,stats] Concurrent Update Refs = 9.153 s (a = 58672 us) >> >> # After >> [169.752s][info][gc,stats] Concurrent Update Refs = 8.150 s (a = 49697 us) >> [168.798s][info][gc,stats] Concurrent Update Refs = 8.430 s (a = 51092 us) >> [166.353s][info][gc,stats] Concurrent Update Refs = 8.812 s (a = 54395 us) >> [236.542s][info][gc,stats] Concurrent Update Refs = 8.215 s (a = 51026 us) >> [214.006s][info][gc,stats] Concurrent Update Refs = 8.244 s (a = 52175 us) >> >> >> Additional testing: >> - [x] Linux x86_64 hotspot_gc_shenandoah >> - [x] Linux AArch64 hotspot_gc_shenandoah >> - [x] Linux AArch64 tier1 with Shenandoah > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Comment tune-ups > - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord > - 8261495: Shenandoah: reconsider update references memory ordering Still good to me. Thanks. ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From aph at redhat.com Tue Jun 29 16:07:32 2021 From: aph at redhat.com (Andrew Haley) Date: Tue, 29 Jun 2021 17:07:32 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> Message-ID: <7ae2c0cc-0e8e-7887-2038-bd8bc3c49bdd@redhat.com> On 6/29/21 9:51 AM, Aleksey Shipilev wrote: > You might laugh a bit, but I think this happens because all pauses are below 1ms, so GcInfo > resolution is not enough to capture it. So the sum of all pauses is zero, which fails the test :D Oh my word, you're right, it is hilarious. Truly this is the 911 Turbo S of processors. Running now. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Tue Jun 29 16:44:59 2021 From: aph at redhat.com (Andrew Haley) Date: Tue, 29 Jun 2021 17:44:59 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> Message-ID: <07b5477d-a2bb-6745-ff7f-1a2a41017667@redhat.com> On 6/29/21 11:19 AM, Aleksey Shipilev wrote: > On 6/29/21 10:51 AM, Aleksey Shipilev wrote: >> On 6/29/21 10:44 AM, Andrew Haley wrote: >>>> And it's reproducible on MacOS but not Linux. I am trying to get my head >>>> around why that might be, but I'll leave that to y'all. :-) >>> >>> Received: Shenandoah Pauses >>> Received: Shenandoah Pauses >>> Received: Shenandoah Cycles >>> STDERR: >>> java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 >> >> You might laugh a bit, but I think this happens because all pauses are below 1ms, so GcInfo >> resolution is not enough to capture it. So the sum of all pauses is zero, which fails the test :D > > Updated that PR to avoid counting sum of pauses: > https://github.com/openjdk/jdk/pull/4611 > > Please try to run with it? I had to look to check, but this branch really is commit 029ed18f5a72e41a055478a28fda84a1516ece12 (HEAD -> pull/4611) Author: Aleksey Shipilev Date: Mon Jun 28 17:38:12 2021 +0200 Rework tests for much better reliability, passes slowdebug+Xcomp but still: STDERR: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 67 Pauses duration (0) is expected to be smaller than cycles duration (67) at TestPauseNotifications.main(TestPauseNotifications.java:190) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127) at java.base/java.lang.Thread.run(Thread.java:833) JavaTest Message: Test threw exception: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 67 Pauses duration (0) is expected to be smaller than cycles duration (67) JavaTest Message: shutting down test STATUS:Failed.`main' threw exception: java.lang.IllegalStateException: Pauses expected = [1; +inf], actual = 0 Cycles expected = [1; +inf], actual = 67 Pauses duration (0) is expected to be smaller than cycles duration (67) rerun: cd /Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_gc_shenandoah_mxbeans_TestPauseNotifications_java/scratch/2 && \ HOME=/Users/aph \ JDK8_HOME=/Users/aph/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64 \ LANG=en_GB.UTF-8 \ LC_ALL=C \ LC_CTYPE=C \ PATH=/bin:/usr/bin:/usr/sbin \ TEST_IMAGE_DIR=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/images/test \ CLASSPATH=/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_gc_shenandoah_mxbeans_TestPauseNotifications_java/classes/0/gc/shenandoah/mxbeans/TestPauseNotifications_id3.d:/Users/aph/theRealAph-jdk/test/hotspot/jtreg/gc/shenandoah/mxbeans:/Users/aph/theRealAph-jdk/build/macosx-aarch64-server-release/test-support/jtreg_test_hotspot_jtreg_gc_shenandoah_mxbeans_TestPauseNotifications_java/classes/0/test/lib:/Users/aph/theRealAph-jdk/test/lib:/Users/aph/theRealAph-jdk/build/macosx-aarch64-serv -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at redhat.com Tue Jun 29 17:55:53 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Jun 2021 19:55:53 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: <07b5477d-a2bb-6745-ff7f-1a2a41017667@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> <07b5477d-a2bb-6745-ff7f-1a2a41017667@redhat.com> Message-ID: <5f793b69-cf70-9706-8ab0-5d41d36975bf@redhat.com> On 6/29/21 6:44 PM, Andrew Haley wrote: >> Updated that PR to avoid counting sum of pauses: >> https://github.com/openjdk/jdk/pull/4611 >> >> Please try to run with it? > > I had to look to check, but this branch really is > > commit 029ed18f5a72e41a055478a28fda84a1516ece12 (HEAD -> pull/4611) > Author: Aleksey Shipilev > Date: Mon Jun 28 17:38:12 2021 +0200 > > Rework tests for much better reliability, passes slowdebug+Xcomp I force-pushed the branch, so you need to check it fresh. Or apply the patch: https://github.com/openjdk/jdk/pull/4611.patch The tip should be: commit 612957fd2feba797bc038a56352847452b28edd8 (HEAD -> JDK-8269478-sh-mxbeans-tests, origin/JDK-8269478-sh-mxbeans-tests) Author: Aleksey Shipilev Date: Mon Jun 28 11:10:00 2021 +0200 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient -- Thanks, -Aleksey From rkennke at openjdk.java.net Wed Jun 30 09:12:10 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 30 Jun 2021 09:12:10 GMT Subject: RFR: 8261495: Shenandoah: reconsider update references memory ordering [v7] In-Reply-To: References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: On Tue, 29 Jun 2021 12:33:43 GMT, Aleksey Shipilev wrote: >> Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. >> >> This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. >> >> Average time goes down, the number of GC cycles go up, since the cycles are shorter. For example, `SPECjvm2008:compiler.sunflow`: >> >> >> # Before >> [172.931s][info][gc,stats] Concurrent Update Refs = 9.866 s (a = 60161 us) >> [283.225s][info][gc,stats] Concurrent Update Refs = 8.274 s (a = 57859 us) >> [232.514s][info][gc,stats] Concurrent Update Refs = 9.321 s (a = 58991 us) >> [215.495s][info][gc,stats] Concurrent Update Refs = 9.233 s (a = 58434 us) >> [217.557s][info][gc,stats] Concurrent Update Refs = 9.153 s (a = 58672 us) >> >> # After >> [169.752s][info][gc,stats] Concurrent Update Refs = 8.150 s (a = 49697 us) >> [168.798s][info][gc,stats] Concurrent Update Refs = 8.430 s (a = 51092 us) >> [166.353s][info][gc,stats] Concurrent Update Refs = 8.812 s (a = 54395 us) >> [236.542s][info][gc,stats] Concurrent Update Refs = 8.215 s (a = 51026 us) >> [214.006s][info][gc,stats] Concurrent Update Refs = 8.244 s (a = 52175 us) >> >> >> Additional testing: >> - [x] Linux x86_64 hotspot_gc_shenandoah >> - [x] Linux AArch64 hotspot_gc_shenandoah >> - [x] Linux AArch64 tier1 with Shenandoah > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Comment tune-ups > - Merge branch 'master' into JDK-8261495-shenandoah-updaterefs-memord > - 8261495: Shenandoah: reconsider update references memory ordering Marked as reviewed by rkennke (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/2498 From rkennke at openjdk.java.net Wed Jun 30 09:13:02 2021 From: rkennke at openjdk.java.net (Roman Kennke) Date: Wed, 30 Jun 2021 09:13:02 GMT Subject: RFR: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient [v5] In-Reply-To: References: Message-ID: On Tue, 29 Jun 2021 10:24:28 GMT, Aleksey Shipilev wrote: >> After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. >> >> Additional testing: >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` >> - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` > > Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: > > 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient Marked as reviewed by rkennke (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/4611 From aph at redhat.com Wed Jun 30 12:28:59 2021 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 Jun 2021 13:28:59 +0100 Subject: Test failure on MacOS/AArch64 In-Reply-To: <5f793b69-cf70-9706-8ab0-5d41d36975bf@redhat.com> References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> <07b5477d-a2bb-6745-ff7f-1a2a41017667@redhat.com> <5f793b69-cf70-9706-8ab0-5d41d36975bf@redhat.com> Message-ID: On 6/29/21 6:55 PM, Aleksey Shipilev wrote: > On 6/29/21 6:44 PM, Andrew Haley wrote: >>> Updated that PR to avoid counting sum of pauses: >>> https://github.com/openjdk/jdk/pull/4611 >>> >>> Please try to run with it? >> >> I had to look to check, but this branch really is >> >> commit 029ed18f5a72e41a055478a28fda84a1516ece12 (HEAD -> pull/4611) >> Author: Aleksey Shipilev >> Date: Mon Jun 28 17:38:12 2021 +0200 >> >> Rework tests for much better reliability, passes slowdebug+Xcomp > > I force-pushed the branch, so you need to check it fresh. Or apply the patch: > https://github.com/openjdk/jdk/pull/4611.patch > > The tip should be: > > commit 612957fd2feba797bc038a56352847452b28edd8 (HEAD -> JDK-8269478-sh-mxbeans-tests, > origin/JDK-8269478-sh-mxbeans-tests) > Author: Aleksey Shipilev > Date: Mon Jun 28 11:10:00 2021 +0200 > > 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient OK. In the end the only thing that worked was to delete the local branch and fetch it again. It's all good now, thanks. BTW, does that mean the problem really was sub-ms pauses? -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at openjdk.java.net Wed Jun 30 13:26:07 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 30 Jun 2021 13:26:07 GMT Subject: Integrated: 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient In-Reply-To: References: Message-ID: On Mon, 28 Jun 2021 10:07:30 GMT, Aleksey Shipilev wrote: > After JDK-8259954, some mxbeans tests wait in the effectively infinite loop for the notifications to arrive. If notifications are broken, it would wait forever, and test would timeout. We need to make such failure mode more straightforward. > > Additional testing: > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans` > - [x] Linux x86_64 fastdebug `gc/shenandoah/mxbeans`, `-Xcomp` This pull request has now been integrated. Changeset: 23d2996f Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/23d2996fee54afcc386a505a65d3236aab874e9e Stats: 97 lines in 2 files changed: 68 ins; 18 del; 11 mod 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient Reviewed-by: rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/4611 From shade at redhat.com Wed Jun 30 13:30:42 2021 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Jun 2021 15:30:42 +0200 Subject: Test failure on MacOS/AArch64 In-Reply-To: References: <14989ad4-8132-c203-07e2-55365d4cbb48@redhat.com> <51d42ca5-1f52-736e-f4b6-0ed6566e93e4@redhat.com> <43457275-7477-7e8d-5ccc-f9c05d1c4267@redhat.com> <3515fa4d-44d6-fa7c-85d8-d4c0ccdb7e7c@redhat.com> <63f4cbe3-8cba-4e62-9f5b-093db844f596@redhat.com> <3a28b263-4591-41ba-8c88-a39554ffae44@redhat.com> <581e5783-3592-d85d-27bb-dfaaec7518cc@redhat.com> <79b390a1-544f-b5db-fecf-43ecb3e988ca@redhat.com> <14ab852d-216d-b32d-b30d-24be4a6e95e6@redhat.com> <07b5477d-a2bb-6745-ff7f-1a2a41017667@redhat.com> <5f793b69-cf70-9706-8ab0-5d41d36975bf@redhat.com> Message-ID: <740308e5-7b2e-3110-76cc-7f6e722f8bfb@redhat.com> On 6/30/21 2:28 PM, Andrew Haley wrote: > It's all good now, thanks. Nice. The patch is now integrated. > BTW, does that mean the problem really was sub-ms pauses? Yes, I believe so. The old test code basically waited for sum-of-pauses to stop being zero. Which means if you only run sub-ms pauses, the test would be stuck until timeout kills it. -- Thanks, -Aleksey From shade at openjdk.java.net Wed Jun 30 13:35:07 2021 From: shade at openjdk.java.net (Aleksey Shipilev) Date: Wed, 30 Jun 2021 13:35:07 GMT Subject: Integrated: 8261495: Shenandoah: reconsider update references memory ordering In-Reply-To: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> References: <4RLKvcdaWu0Cu6owC3yGoVY1KVEsYjBZEFJhfdwnhWg=.65fbeae1-58f6-48d3-a2ed-981858ef7da9@github.com> Message-ID: <_ciNBa4-302-xgn88muy1YCb7byu1vp7doOlMeCrdtk=.dbdc4c5d-6aaf-4c26-b04d-5025d4c70bb7@github.com> On Wed, 10 Feb 2021 09:52:11 GMT, Aleksey Shipilev wrote: > Shenandoah update heap references code uses default Atomic::cmpxchg to avoid races with mutator updates. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. > > This seems to be excessive for Shenandoah update references code, and "release" is enough. We do not seem to piggyback on update-references memory effects anywhere (in fact, if not for mutator, we would not even need a CAS). But, there is an interplay with concurrent evacuation and updates from self-healing. > > Average time goes down, the number of GC cycles go up, since the cycles are shorter. For example, `SPECjvm2008:compiler.sunflow`: > > > # Before > [172.931s][info][gc,stats] Concurrent Update Refs = 9.866 s (a = 60161 us) > [283.225s][info][gc,stats] Concurrent Update Refs = 8.274 s (a = 57859 us) > [232.514s][info][gc,stats] Concurrent Update Refs = 9.321 s (a = 58991 us) > [215.495s][info][gc,stats] Concurrent Update Refs = 9.233 s (a = 58434 us) > [217.557s][info][gc,stats] Concurrent Update Refs = 9.153 s (a = 58672 us) > > # After > [169.752s][info][gc,stats] Concurrent Update Refs = 8.150 s (a = 49697 us) > [168.798s][info][gc,stats] Concurrent Update Refs = 8.430 s (a = 51092 us) > [166.353s][info][gc,stats] Concurrent Update Refs = 8.812 s (a = 54395 us) > [236.542s][info][gc,stats] Concurrent Update Refs = 8.215 s (a = 51026 us) > [214.006s][info][gc,stats] Concurrent Update Refs = 8.244 s (a = 52175 us) > > > Additional testing: > - [x] Linux x86_64 hotspot_gc_shenandoah > - [x] Linux AArch64 hotspot_gc_shenandoah > - [x] Linux AArch64 tier1 with Shenandoah This pull request has now been integrated. Changeset: a96012a7 Author: Aleksey Shipilev URL: https://git.openjdk.java.net/jdk/commit/a96012a7afce6678125d3fb537f2433642953315 Stats: 130 lines in 7 files changed: 93 ins; 15 del; 22 mod 8261495: Shenandoah: reconsider update references memory ordering Reviewed-by: zgu, rkennke ------------- PR: https://git.openjdk.java.net/jdk/pull/2498