From zgu at redhat.com Thu Nov 1 00:02:21 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 01 Nov 2018 00:02:21 +0000 Subject: hg: shenandoah/jdk: Avoid write barrier during full GC Message-ID: <201811010002.wA102LrR009300@aojmv0008.oracle.com> Changeset: 3bac6b3985c8 Author: zgu Date: 2018-10-31 20:02 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3bac6b3985c8 Avoid write barrier during full GC ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp From zgu at redhat.com Thu Nov 1 00:15:32 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 Oct 2018 20:15:32 -0400 Subject: RFR: Pre-evac JVMTI roots Message-ID: <5511524b-59cd-b72d-90c0-448a0c1624dc@redhat.com> JVMTI's JvmtiTagHashmap is a hashtable, and its hash value is derived from key (an oop)'s address. Because GC can move oops, so the hashtable has to rehash itself every time the table is walked vs. JvmtiExport::weak_oops_do(). To maintain table's to-space invariant, so that the hash value derived from key oop should match later query key, which is always a to-space oop, we need to pre-evacuate the table. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_roots/webrev.00/index.html This patch, along with early "Avoid write barrier during full GC", clears vmTestbase/nsk/jdi test suite. Test: tier3_gc_shenandoah and vmTestbase/nsk/jdi (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Thu Nov 1 00:26:49 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 1 Nov 2018 01:26:49 +0100 Subject: RFR: Pre-evac JVMTI roots In-Reply-To: <5511524b-59cd-b72d-90c0-448a0c1624dc@redhat.com> References: <5511524b-59cd-b72d-90c0-448a0c1624dc@redhat.com> Message-ID: <0a7c681d-234d-df2f-b95c-16de99138cb4@redhat.com> Good! Go! Thanks, Roman > JVMTI's JvmtiTagHashmap is a hashtable, and its hash value is derived > from key (an oop)'s address. Because GC can move oops, so the hashtable > has to rehash itself every time the table is walked vs. > JvmtiExport::weak_oops_do(). > > To maintain table's to-space invariant, so that the hash value derived > from key oop should match later query key, which is always a to-space > oop, we need to pre-evacuate the table. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_roots/webrev.00/index.html > > > This patch, along with early "Avoid write barrier during full GC", > clears vmTestbase/nsk/jdi test suite. > > Test: > ? tier3_gc_shenandoah and vmTestbase/nsk/jdi (fastdebug and release) > > Thanks, > > -Zhengyu From zgu at redhat.com Thu Nov 1 00:29:56 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 01 Nov 2018 00:29:56 +0000 Subject: hg: shenandoah/jdk: Pre-evac JVMTI roots Message-ID: <201811010029.wA10TuPF022298@aojmv0008.oracle.com> Changeset: 1e7280ae4e95 Author: zgu Date: 2018-10-31 20:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1e7280ae4e95 Pre-evac JVMTI roots ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp From shade at redhat.com Thu Nov 1 11:25:45 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 12:25:45 +0100 Subject: RFR [11,8]: Fix Windows build failures Message-ID: <9eb99019-4ab6-c527-79bd-27518e0193f2@redhat.com> This fixes a trivial build failure in sh/jdk11 on Windows, and makes sure this code looks the same across all repositories. *) sh/jdk11 patch: diff -r e48900685530 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Oct 25 20:38:26 2018 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Nov 01 12:23:34 2018 +0100 @@ -593,11 +593,11 @@ int region_size_log = log2_long((jlong) region_size); // Recalculate the region size to make sure it's a power of // 2. This means that region_size is the largest power of 2 that's // <= what we've calculated so far. - region_size = (1u << region_size_log); + region_size = size_t(1) << region_size_log; // Now, set up the globals. guarantee(RegionSizeBytesShift == 0, "we should only set it once"); RegionSizeBytesShift = (size_t)region_size_log; *) sh/jdk8 patch: diff -r 0f8d2b4af256 src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Thu Oct 25 20:38:26 2018 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Thu Nov 01 12:20:38 2018 +0100 @@ -545,11 +545,11 @@ int region_size_log = log2_long((jlong) region_size); // Recalculate the region size to make sure it's a power of // 2. This means that region_size is the largest power of 2 that's // <= what we've calculated so far. - region_size = (size_t(1) << region_size_log); + region_size = size_t(1) << region_size_log; // Now, set up the globals. guarantee(RegionSizeBytesShift == 0, "we should only set it once"); RegionSizeBytesShift = (size_t)region_size_log; Testing: Windows builds for sh/jdk8 and sh/jdk11 Thanks, -Aleksey From rkennke at redhat.com Thu Nov 1 11:42:14 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 1 Nov 2018 12:42:14 +0100 Subject: RFR [11,8]: Fix Windows build failures In-Reply-To: <9eb99019-4ab6-c527-79bd-27518e0193f2@redhat.com> References: <9eb99019-4ab6-c527-79bd-27518e0193f2@redhat.com> Message-ID: Looks good, thanks! I assume sh/jdk is not affected? Roman > This fixes a trivial build failure in sh/jdk11 on Windows, and makes sure this code looks the same > across all repositories. > > *) sh/jdk11 patch: > > diff -r e48900685530 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Oct 25 20:38:26 2018 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Nov 01 12:23:34 2018 +0100 > @@ -593,11 +593,11 @@ > > int region_size_log = log2_long((jlong) region_size); > // Recalculate the region size to make sure it's a power of > // 2. This means that region_size is the largest power of 2 that's > // <= what we've calculated so far. > - region_size = (1u << region_size_log); > + region_size = size_t(1) << region_size_log; > > // Now, set up the globals. > guarantee(RegionSizeBytesShift == 0, "we should only set it once"); > RegionSizeBytesShift = (size_t)region_size_log; > > > *) sh/jdk8 patch: > > diff -r 0f8d2b4af256 src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Thu Oct 25 20:38:26 > 2018 +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Thu Nov 01 12:20:38 > 2018 +0100 > @@ -545,11 +545,11 @@ > > int region_size_log = log2_long((jlong) region_size); > // Recalculate the region size to make sure it's a power of > // 2. This means that region_size is the largest power of 2 that's > // <= what we've calculated so far. > - region_size = (size_t(1) << region_size_log); > + region_size = size_t(1) << region_size_log; > > // Now, set up the globals. > guarantee(RegionSizeBytesShift == 0, "we should only set it once"); > RegionSizeBytesShift = (size_t)region_size_log; > > > Testing: Windows builds for sh/jdk8 and sh/jdk11 > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 1 11:43:30 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 12:43:30 +0100 Subject: RFR [11,8]: Fix Windows build failures In-Reply-To: References: <9eb99019-4ab6-c527-79bd-27518e0193f2@redhat.com> Message-ID: <4b8d981e-4b38-691e-fdcb-2ddeaf26fe79@redhat.com> On 11/01/2018 12:42 PM, Roman Kennke wrote: > I assume sh/jdk is not affected? Nope, it already has the fix I am pushing to other two repos. -Aleksey From shade at redhat.com Thu Nov 1 11:44:08 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 01 Nov 2018 11:44:08 +0000 Subject: hg: shenandoah/jdk11: Fix Windows build failure Message-ID: <201811011144.wA1Bi9Sq024690@aojmv0008.oracle.com> Changeset: 56be00244479 Author: shade Date: 2018-11-01 12:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/56be00244479 Fix Windows build failure ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp From shade at redhat.com Thu Nov 1 11:44:28 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 01 Nov 2018 11:44:28 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Fix Windows build failure Message-ID: <201811011144.wA1BiSja024913@aojmv0008.oracle.com> Changeset: ab81e6f5e583 Author: shade Date: 2018-11-01 12:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ab81e6f5e583 [backport] Fix Windows build failure ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp From shade at redhat.com Thu Nov 1 14:50:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 15:50:43 +0100 Subject: RFR: Fix clang build warnings Message-ID: Even though C++ operator precedence rules make this right, clang still complains about mixing && and ||. This makes precedence explicit: diff -r b6406cc37101 -r b03bb4c0d6e8 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Tue Oct 30 17:17:00 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 15:46:15 2018 +0100 @@ -3169,7 +3169,7 @@ if (n == NULL || n->is_Allocate() || n->bottom_type() == TypePtr::NULL_PTR || - n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL) { + (n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL)) { return NotNeeded; } if (n->is_Phi() || Testing: Mac OS X builds Thanks, -Aleksey From zgu at redhat.com Thu Nov 1 15:03:41 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 11:03:41 -0400 Subject: RFR: Fix clang build warnings In-Reply-To: References: Message-ID: Looks good. -Zhengyu On 11/01/2018 10:50 AM, Aleksey Shipilev wrote: > Even though C++ operator precedence rules make this right, clang still complains about mixing && and > ||. This makes precedence explicit: > > diff -r b6406cc37101 -r b03bb4c0d6e8 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Tue Oct 30 17:17:00 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 15:46:15 2018 +0100 > @@ -3169,7 +3169,7 @@ > if (n == NULL || > n->is_Allocate() || > n->bottom_type() == TypePtr::NULL_PTR || > - n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != > NULL) { > + (n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != > NULL)) { > return NotNeeded; > } > if (n->is_Phi() || > > Testing: Mac OS X builds > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 1 15:13:30 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 01 Nov 2018 15:13:30 +0000 Subject: hg: shenandoah/jdk: Fix clang build warnings Message-ID: <201811011513.wA1FDUYB008714@aojmv0008.oracle.com> Changeset: 2302522f94c4 Author: shade Date: 2018-11-01 15:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2302522f94c4 Fix clang build warnings ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From shade at redhat.com Thu Nov 1 15:42:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 16:42:17 +0100 Subject: RFR [11]: Fix clang build warnings Message-ID: <9d0cd130-e8ec-c3de-b584-f206497c1b37@redhat.com> sh/jdk11 specific fix for &&/|| precedence: > diff -r 56be00244479 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 12:23:30 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 16:36:25 2018 +0100 > @@ -3385,11 +3385,11 @@ > > int ShenandoahEnqueueBarrierNode::needed(Node* n) { > if (n == NULL || > n->is_Allocate() || > n->bottom_type() == TypePtr::NULL_PTR || > - n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL) { > + (n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL)) { > return NotNeeded; > } > if (n->is_Phi() || > n->is_CMove()) { > return MaybeNeeded; > diff -r 56be00244479 src/hotspot/share/opto/arraycopynode.cpp > --- a/src/hotspot/share/opto/arraycopynode.cpp Thu Nov 01 12:23:30 2018 +0100 > +++ b/src/hotspot/share/opto/arraycopynode.cpp Thu Nov 01 16:36:25 2018 +0100 > @@ -311,11 +311,11 @@ > return false; > } > > BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); > if (dest_elem == T_OBJECT && (!is_alloc_tightly_coupled() || > - bs->array_copy_requires_gc_barriers(T_OBJECT) SHENANDOAHGC_ONLY(&& !ShenandoahStoreValEnqueueBarrier))) { > + (bs->array_copy_requires_gc_barriers(T_OBJECT) SHENANDOAHGC_ONLY(&& !ShenandoahStoreValEnqueueBarrier)))) { > // It's an object array copy but we can't emit the card marking > // that is needed > return false; > } Testing: Mac OS X builds Thanks, -Aleksey From zgu at redhat.com Thu Nov 1 15:43:33 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 11:43:33 -0400 Subject: RFR [11]: Fix clang build warnings In-Reply-To: <9d0cd130-e8ec-c3de-b584-f206497c1b37@redhat.com> References: <9d0cd130-e8ec-c3de-b584-f206497c1b37@redhat.com> Message-ID: <3282762f-ddce-d9d7-61d6-99c5605721dc@redhat.com> Good. -Zhengyu On 11/01/2018 11:42 AM, Aleksey Shipilev wrote: > sh/jdk11 specific fix for &&/|| precedence: > >> diff -r 56be00244479 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp >> --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 12:23:30 2018 +0100 >> +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Nov 01 16:36:25 2018 +0100 >> @@ -3385,11 +3385,11 @@ >> >> int ShenandoahEnqueueBarrierNode::needed(Node* n) { >> if (n == NULL || >> n->is_Allocate() || >> n->bottom_type() == TypePtr::NULL_PTR || >> - n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL) { >> + (n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL)) { >> return NotNeeded; >> } >> if (n->is_Phi() || >> n->is_CMove()) { >> return MaybeNeeded; >> diff -r 56be00244479 src/hotspot/share/opto/arraycopynode.cpp >> --- a/src/hotspot/share/opto/arraycopynode.cpp Thu Nov 01 12:23:30 2018 +0100 >> +++ b/src/hotspot/share/opto/arraycopynode.cpp Thu Nov 01 16:36:25 2018 +0100 >> @@ -311,11 +311,11 @@ >> return false; >> } >> >> BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); >> if (dest_elem == T_OBJECT && (!is_alloc_tightly_coupled() || >> - bs->array_copy_requires_gc_barriers(T_OBJECT) SHENANDOAHGC_ONLY(&& !ShenandoahStoreValEnqueueBarrier))) { >> + (bs->array_copy_requires_gc_barriers(T_OBJECT) SHENANDOAHGC_ONLY(&& !ShenandoahStoreValEnqueueBarrier)))) { >> // It's an object array copy but we can't emit the card marking >> // that is needed >> return false; >> } > > Testing: Mac OS X builds > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 1 15:45:04 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 01 Nov 2018 15:45:04 +0000 Subject: hg: shenandoah/jdk11: Fix clang build warnings Message-ID: <201811011545.wA1Fj4a1023790@aojmv0008.oracle.com> Changeset: e0899f18c2c1 Author: shade Date: 2018-11-01 15:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/e0899f18c2c1 Fix clang build warnings ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/arraycopynode.cpp From zgu at redhat.com Thu Nov 1 16:01:06 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:01:06 -0400 Subject: RFR: Fix assertion failure due to race while pre-evacuating Jvmti roots Message-ID: <3ef77573-914f-4f55-7e1e-d1223413c566@redhat.com> After pushing pre-evacuation of Jvmti roots, further tests revealed that early/other pre-evacuation tasks may race to evacuate oops in Jvmti roots, that resulted assertion failure (shenandoah_assert_not_forwarded) in ShenandoahIsAliveClosure, use ShenandoahForwardedIsAliveClosure instead. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_fix/webrev.00/ Test: tier3_gc_shenandoah and vmTestbase/nsk/jdi (fastdebug and release) Thanks, -Zhengyu From shade at redhat.com Thu Nov 1 16:04:33 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 17:04:33 +0100 Subject: RFR: Fix assertion failure due to race while pre-evacuating Jvmti roots In-Reply-To: <3ef77573-914f-4f55-7e1e-d1223413c566@redhat.com> References: <3ef77573-914f-4f55-7e1e-d1223413c566@redhat.com> Message-ID: On 11/01/2018 05:01 PM, Zhengyu Gu wrote: > After pushing pre-evacuation of Jvmti roots, further tests revealed that early/other pre-evacuation > tasks may race to evacuate oops in Jvmti roots, that resulted assertion failure > (shenandoah_assert_not_forwarded) in ShenandoahIsAliveClosure, use ShenandoahForwardedIsAliveClosure > instead. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_fix/webrev.00/ OK. That root must be visited through some other way, right? Because try_claim_task should have arbitrated the pre-evacuation between threads? -Aleksey From zgu at redhat.com Thu Nov 1 16:07:47 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:07:47 -0400 Subject: RFR: Fix assertion failure due to race while pre-evacuating Jvmti roots In-Reply-To: References: <3ef77573-914f-4f55-7e1e-d1223413c566@redhat.com> Message-ID: On 11/01/2018 12:04 PM, Aleksey Shipilev wrote: > On 11/01/2018 05:01 PM, Zhengyu Gu wrote: >> After pushing pre-evacuation of Jvmti roots, further tests revealed that early/other pre-evacuation >> tasks may race to evacuate oops in Jvmti roots, that resulted assertion failure >> (shenandoah_assert_not_forwarded) in ShenandoahIsAliveClosure, use ShenandoahForwardedIsAliveClosure >> instead. >> >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_fix/webrev.00/ > > OK. That root must be visited through some other way, right? Because try_claim_task should have > arbitrated the pre-evacuation between threads? Yes. I suspect some oops in Jvmti roots are evacuated when evacuating thread or code roots. -Zhengyu > > -Aleksey > From shade at redhat.com Thu Nov 1 16:09:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 17:09:17 +0100 Subject: RFR: Fix assertion failure due to race while pre-evacuating Jvmti roots In-Reply-To: References: <3ef77573-914f-4f55-7e1e-d1223413c566@redhat.com> Message-ID: <3ecff6b0-cf78-1243-a9d7-e47a853fcc40@redhat.com> On 11/01/2018 05:07 PM, Zhengyu Gu wrote: > On 11/01/2018 12:04 PM, Aleksey Shipilev wrote: >> On 11/01/2018 05:01 PM, Zhengyu Gu wrote: >>> After pushing pre-evacuation of Jvmti roots, further tests revealed that early/other pre-evacuation >>> tasks may race to evacuate oops in Jvmti roots, that resulted assertion failure >>> (shenandoah_assert_not_forwarded) in ShenandoahIsAliveClosure, use ShenandoahForwardedIsAliveClosure >>> instead. >>> >>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/pre_evac_jvmti_fix/webrev.00/ >> >> OK. That root must be visited through some other way, right? Because try_claim_task should have >> arbitrated the pre-evacuation between threads? > > Yes. I suspect some oops in Jvmti roots are evacuated when evacuating thread or code roots. Okay. -Aleksey From zgu at redhat.com Thu Nov 1 16:47:55 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:47:55 -0400 Subject: RFR (Trivial): Fix the leak of _evacuation_tasks Message-ID: <3a5c2399-6d96-d631-ca49-5fadd6e15d89@redhat.com> Leak _evacuation_tasks in ShenandoahRootEvacuator. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/leak_evac_tasks/webrev.00/ Test: tier2_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From shade at redhat.com Thu Nov 1 16:49:00 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 17:49:00 +0100 Subject: RFR: Protect risky conversion in ShenandoahHeap::millis_since_last_gc Message-ID: <53670d3d-bb39-b4e3-ba1d-a0e5d0b87269@redhat.com> This was found when building sh/jdk8u on Mac OS X: implicit double -> jlong conversion makes clang unhappy. The fix goes to sh/jdk and then proliferates with backports: diff -r 2302522f94c4 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov 01 15:46:15 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov 01 17:22:43 2018 +0100 @@ -1147,7 +1147,9 @@ } jlong ShenandoahHeap::millis_since_last_gc() { - return heuristics()->time_since_last_gc() * 1000; + double v = heuristics()->time_since_last_gc() * 1000; + assert(0 <= v && v <= max_jlong, "value should fit: %f", v); + return (jlong)v; } void ShenandoahHeap::prepare_for_verify() { Testing: sh/jdk tier3_gc_shenandoah, sh/jdk8u Mac OS X builds Thanks, -Aleksey From shade at redhat.com Thu Nov 1 16:49:06 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 17:49:06 +0100 Subject: RFR: Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time Message-ID: This was found when building sh/jdk8u on Mac OS X: implicit double -> jint conversion makes clang unhappy. In fact, we don't even need to do this conversion, because we can just pass the double along, and this also saves us from accidental truncation. The fix goes to sh/jdk and then proliferates with backports: diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Thu Nov 01 17:16:47 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Thu Nov 01 17:19:32 2018 +0100 @@ -62,10 +62,10 @@ ShenandoahHeap::heap()->heuristics()->record_phase_time(phase, elapsed); } -void ShenandoahPhaseTimings::record_phase_time(Phase phase, jint time_us) { +void ShenandoahPhaseTimings::record_phase_time(Phase phase, double time) { assert(_policy != NULL, "Not yet initialized"); if (!_policy->is_at_shutdown()) { - _timing_data[phase]._secs.add((double)time_us / 1000 / 1000); + _timing_data[phase]._secs.add(time); } } diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Thu Nov 01 17:16:47 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Thu Nov 01 17:19:32 2018 +0100 @@ -347,8 +347,8 @@ void record_phase_start(Phase phase); // record phase end and return elapsed time in seconds for the phase void record_phase_end(Phase phase); - // record an elapsed time in microseconds for the phase - void record_phase_time(Phase phase, jint time_us); + // record an elapsed time for the phase + void record_phase_time(Phase phase, double time); void record_workers_start(Phase phase); void record_workers_end(Phase phase); diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp Thu Nov 01 17:16:47 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp Thu Nov 01 17:19:32 2018 +0100 @@ -87,6 +87,6 @@ ShenandoahPhaseTimings* phase_times = ShenandoahHeap::heap()->phase_timings(); double t = phase_times->termination_times()->average(); - phase_times->record_phase_time(_phase, t * 1000 * 1000); + phase_times->record_phase_time(_phase, t); debug_only(_current_termination_phase = ShenandoahPhaseTimings::_num_phases;) } Testing: sh/jdk tier3_gc_shenandoah, sh/jdk8u Mac OS X builds Thanks, -Aleksey From zgu at redhat.com Thu Nov 1 16:49:42 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 01 Nov 2018 16:49:42 +0000 Subject: hg: shenandoah/jdk: Fix assertion failure due to race while pre-evacuating Jvmti roots Message-ID: <201811011649.wA1Gng3j027446@aojmv0008.oracle.com> Changeset: 79da8411381e Author: zgu Date: 2018-11-01 12:49 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/79da8411381e Fix assertion failure due to race while pre-evacuating Jvmti roots ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp From zgu at redhat.com Thu Nov 1 16:50:33 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:50:33 -0400 Subject: RFR: Protect risky conversion in ShenandoahHeap::millis_since_last_gc In-Reply-To: <53670d3d-bb39-b4e3-ba1d-a0e5d0b87269@redhat.com> References: <53670d3d-bb39-b4e3-ba1d-a0e5d0b87269@redhat.com> Message-ID: <3e26adce-1f24-d5ba-9b28-85561bd88ad3@redhat.com> Good. -Zhengyu On 11/01/2018 12:49 PM, Aleksey Shipilev wrote: > This was found when building sh/jdk8u on Mac OS X: implicit double -> jlong conversion makes clang > unhappy. The fix goes to sh/jdk and then proliferates with backports: > > diff -r 2302522f94c4 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov 01 15:46:15 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov 01 17:22:43 2018 +0100 > @@ -1147,7 +1147,9 @@ > } > > jlong ShenandoahHeap::millis_since_last_gc() { > - return heuristics()->time_since_last_gc() * 1000; > + double v = heuristics()->time_since_last_gc() * 1000; > + assert(0 <= v && v <= max_jlong, "value should fit: %f", v); > + return (jlong)v; > } > > void ShenandoahHeap::prepare_for_verify() { > > Testing: sh/jdk tier3_gc_shenandoah, sh/jdk8u Mac OS X builds > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 1 16:50:52 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 1 Nov 2018 17:50:52 +0100 Subject: RFR (Trivial): Fix the leak of _evacuation_tasks In-Reply-To: <3a5c2399-6d96-d631-ca49-5fadd6e15d89@redhat.com> References: <3a5c2399-6d96-d631-ca49-5fadd6e15d89@redhat.com> Message-ID: <647f6b93-8ed4-4a6c-7e8e-d50aa097b737@redhat.com> On 11/01/2018 05:47 PM, Zhengyu Gu wrote: > Leak _evacuation_tasks in ShenandoahRootEvacuator. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/leak_evac_tasks/webrev.00/ Looks good. Maybe you want to put the delete first thing to make it symmetrical with ShenandoahRootProcessor::~ShenandoahRootProcessor(). -Aleksey From zgu at redhat.com Thu Nov 1 16:51:33 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:51:33 -0400 Subject: RFR (Trivial): Fix the leak of _evacuation_tasks In-Reply-To: <647f6b93-8ed4-4a6c-7e8e-d50aa097b737@redhat.com> References: <3a5c2399-6d96-d631-ca49-5fadd6e15d89@redhat.com> <647f6b93-8ed4-4a6c-7e8e-d50aa097b737@redhat.com> Message-ID: On 11/01/2018 12:50 PM, Aleksey Shipilev wrote: > On 11/01/2018 05:47 PM, Zhengyu Gu wrote: >> Leak _evacuation_tasks in ShenandoahRootEvacuator. >> >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/leak_evac_tasks/webrev.00/ > > Looks good. Maybe you want to put the delete first thing to make it symmetrical with > ShenandoahRootProcessor::~ShenandoahRootProcessor(). Will do before push. Thanks, -Zhengyu > > -Aleksey > From zgu at redhat.com Thu Nov 1 16:52:56 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 1 Nov 2018 12:52:56 -0400 Subject: RFR: Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time In-Reply-To: References: Message-ID: Good. -Zhengyu On 11/01/2018 12:49 PM, Aleksey Shipilev wrote: > This was found when building sh/jdk8u on Mac OS X: implicit double -> jint conversion makes clang > unhappy. In fact, we don't even need to do this conversion, because we can just pass the double > along, and this also saves us from accidental truncation. > > The fix goes to sh/jdk and then proliferates with backports: > > diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Thu Nov 01 17:16:47 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Thu Nov 01 17:19:32 2018 +0100 > @@ -62,10 +62,10 @@ > ShenandoahHeap::heap()->heuristics()->record_phase_time(phase, elapsed); > } > > -void ShenandoahPhaseTimings::record_phase_time(Phase phase, jint time_us) { > +void ShenandoahPhaseTimings::record_phase_time(Phase phase, double time) { > assert(_policy != NULL, "Not yet initialized"); > if (!_policy->is_at_shutdown()) { > - _timing_data[phase]._secs.add((double)time_us / 1000 / 1000); > + _timing_data[phase]._secs.add(time); > } > } > > diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Thu Nov 01 17:16:47 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Thu Nov 01 17:19:32 2018 +0100 > @@ -347,8 +347,8 @@ > void record_phase_start(Phase phase); > // record phase end and return elapsed time in seconds for the phase > void record_phase_end(Phase phase); > - // record an elapsed time in microseconds for the phase > - void record_phase_time(Phase phase, jint time_us); > + // record an elapsed time for the phase > + void record_phase_time(Phase phase, double time); > > void record_workers_start(Phase phase); > void record_workers_end(Phase phase); > diff -r c4640bf7aeb3 src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp Thu Nov 01 17:16:47 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp Thu Nov 01 17:19:32 2018 +0100 > @@ -87,6 +87,6 @@ > ShenandoahPhaseTimings* phase_times = ShenandoahHeap::heap()->phase_timings(); > > double t = phase_times->termination_times()->average(); > - phase_times->record_phase_time(_phase, t * 1000 * 1000); > + phase_times->record_phase_time(_phase, t); > debug_only(_current_termination_phase = ShenandoahPhaseTimings::_num_phases;) > } > > > Testing: sh/jdk tier3_gc_shenandoah, sh/jdk8u Mac OS X builds > > Thanks, > -Aleksey > From zgu at redhat.com Thu Nov 1 16:54:46 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 01 Nov 2018 16:54:46 +0000 Subject: hg: shenandoah/jdk: Fix the leak of _evacuation_tasks Message-ID: <201811011654.wA1GskUb029533@aojmv0008.oracle.com> Changeset: 8c01ad9621d0 Author: zgu Date: 2018-11-01 12:54 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8c01ad9621d0 Fix the leak of _evacuation_tasks ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp From shade at redhat.com Thu Nov 1 17:41:33 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 01 Nov 2018 17:41:33 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811011741.wA1HfYe1022649@aojmv0008.oracle.com> Changeset: 96632d6ef848 Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/96632d6ef848 Protect risky conversion in ShenandoahHeap::millis_since_last_gc ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: d49c976b2a2a Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d49c976b2a2a Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp From shade at redhat.com Fri Nov 2 17:06:24 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 2 Nov 2018 18:06:24 +0100 Subject: RFR: ResolvedMethodTable should be cleaned up with concurrent cycles Message-ID: We have been bitten by RMT cleanup move from parallel cleaning. See G1-specific explanation here, it applies to Shenandoah as well: https://bugs.openjdk.java.net/browse/JDK-8213307 diff -r d49c976b2a2a -r c5e37fae7723 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov 01 18:41:22 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Fri Nov 02 17:52:24 2018 +0100 @@ -1920,8 +1920,7 @@ ShenandoahGCPhase phase(full_gc ? ShenandoahPhaseTimings::full_gc_purge_class_unload : ShenandoahPhaseTimings::purge_class_unload); - purged_class = SystemDictionary::do_unloading(gc_timer(), - full_gc /* do_cleaning*/ ); + purged_class = SystemDictionary::do_unloading(gc_timer()); } { Testing: tier3_gc_shenandoah, hacked up runtime/MemberName/MemberNameLeak Thanks, -Aleksey From rkennke at redhat.com Fri Nov 2 17:23:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 02 Nov 2018 18:23:33 +0100 Subject: RFR: ResolvedMethodTable should be cleaned up with concurrent cycles In-Reply-To: References: Message-ID: <96E8612D-CE6F-451D-BC1D-AA9A3BD69C71@redhat.com> OK. Thanks! Am 2. November 2018 18:06:24 MEZ schrieb Aleksey Shipilev : >We have been bitten by RMT cleanup move from parallel cleaning. See >G1-specific explanation here, it >applies to Shenandoah as well: > https://bugs.openjdk.java.net/browse/JDK-8213307 > > >diff -r d49c976b2a2a -r c5e37fae7723 >src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp >--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Nov >01 18:41:22 2018 +0100 >+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Fri Nov >02 17:52:24 2018 +0100 >@@ -1920,8 +1920,7 @@ > ShenandoahGCPhase phase(full_gc ? > ShenandoahPhaseTimings::full_gc_purge_class_unload : > ShenandoahPhaseTimings::purge_class_unload); >- purged_class = SystemDictionary::do_unloading(gc_timer(), >- full_gc /* >do_cleaning*/ ); >+ purged_class = SystemDictionary::do_unloading(gc_timer()); > } > > { > > >Testing: tier3_gc_shenandoah, hacked up >runtime/MemberName/MemberNameLeak > >Thanks, >-Aleksey From shade at redhat.com Fri Nov 2 18:04:27 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 02 Nov 2018 18:04:27 +0000 Subject: hg: shenandoah/jdk: ResolvedMethodTable should be cleaned up with concurrent cycles Message-ID: <201811021804.wA2I4R37006110@aojmv0008.oracle.com> Changeset: 9ccc62ced821 Author: shade Date: 2018-11-02 18:07 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9ccc62ced821 ResolvedMethodTable should be cleaned up with concurrent cycles ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp From rkennke at redhat.com Fri Nov 2 18:16:46 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 2 Nov 2018 19:16:46 +0100 Subject: RFR: Upstream merge to jdk-12+18 Message-ID: Nothing spectacular, trivial merge. http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-02/outgoing.txt Testing: tier3_gc_shenandoah Ok? Roman From shade at redhat.com Fri Nov 2 18:18:53 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 2 Nov 2018 19:18:53 +0100 Subject: RFR: Upstream merge to jdk-12+18 In-Reply-To: References: Message-ID: On 11/02/2018 07:16 PM, Roman Kennke wrote: > Nothing spectacular, trivial merge. > > http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-02/outgoing.txt > > Testing: tier3_gc_shenandoah > > Ok? OK! -Aleksey From rkennke at redhat.com Fri Nov 2 18:28:38 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 2 Nov 2018 19:28:38 +0100 Subject: RFR: Remove CollectedHeap::oop_extra_words() and related code Message-ID: <2588f0b1-2327-0e96-4a99-6b188583f93a@redhat.com> Now that we have all the relevant abstractions in place in upstream, we can finally remove our CH::oop_extra_words() and all related code. Notes: - The var in shenandoahBarrierSetAssembler_aarch64.cpp was unused - The assert in plab.cpp is not very important because it would blow up /assert later on the same thing, in allocation code path. This gets rid of last upstream diff in plab.cpp Testing: tier3_gc_shenandoah http://cr.openjdk.java.net/~rkennke/cleanup-oop-extra-words/webrev.00/ Ok? Roman From shade at redhat.com Fri Nov 2 18:31:16 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 2 Nov 2018 19:31:16 +0100 Subject: RFR: Remove CollectedHeap::oop_extra_words() and related code In-Reply-To: <2588f0b1-2327-0e96-4a99-6b188583f93a@redhat.com> References: <2588f0b1-2327-0e96-4a99-6b188583f93a@redhat.com> Message-ID: <729fa39a-8524-cb8d-c073-8ee5c6f428ba@redhat.com> On 11/02/2018 07:28 PM, Roman Kennke wrote: > Now that we have all the relevant abstractions in place in upstream, we > can finally remove our CH::oop_extra_words() and all related code. Notes: > > - The var in shenandoahBarrierSetAssembler_aarch64.cpp was unused > - The assert in plab.cpp is not very important because it would blow up > /assert later on the same thing, in allocation code path. This gets rid > of last upstream diff in plab.cpp > > Testing: tier3_gc_shenandoah > > http://cr.openjdk.java.net/~rkennke/cleanup-oop-extra-words/webrev.00/ OK! -Aleksey From roman at kennke.org Fri Nov 2 18:36:13 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 02 Nov 2018 18:36:13 +0000 Subject: hg: shenandoah/jdk: 88 new changesets Message-ID: <201811021836.wA2IaK6g023346@aojmv0008.oracle.com> Changeset: f39073b97db7 Author: epavlova Date: 2018-10-24 09:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f39073b97db7 8212877: Restore JTREG_VERBOSE value for mach5 testing Reviewed-by: dholmes ! make/conf/jib-profiles.js Changeset: ad9077f044be Author: sspitsyn Date: 2018-10-24 13:11 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ad9077f044be 8024368: private methods are allocated vtable slots Summary: Stop allocating vtable slots for private methods Reviewed-by: dholmes, acorn, lfoltan ! src/hotspot/share/oops/klassVtable.cpp Changeset: c2f38eb6b31a Author: darcy Date: 2018-10-24 15:45 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c2f38eb6b31a 8212880: Cannot access ftp: site for fdlibm.tar Reviewed-by: jjg, lancea, bpb ! src/java.base/share/classes/java/lang/StrictMath.java Changeset: e11a53698d57 Author: cushon Date: 2018-09-17 11:09 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e11a53698d57 8198945: Invalid RuntimeVisibleTypeAnnotations for annotation on anonymous class type parameter Reviewed-by: wmdietl, abuckley, martin ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java Changeset: a8d239bdaaee Author: jwilhelm Date: 2018-10-24 18:14 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a8d239bdaaee Added tag jdk-12+17 for changeset eefa65e142af ! .hgtags Changeset: 09be9fd37b91 Author: amlu Date: 2018-10-25 11:00 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/09be9fd37b91 8210908: Refactor java/util/prefs/PrefsSpi.sh to plain java test Reviewed-by: bchristi ! test/jdk/java/util/prefs/PrefsSpi.java - test/jdk/java/util/prefs/PrefsSpi.sh + test/jdk/java/util/prefs/PrefsSpiTest.java + test/jdk/java/util/prefs/StubPreferences.java + test/jdk/java/util/prefs/StubPreferencesFactory.java Changeset: b646c9ea2394 Author: amlu Date: 2018-10-25 11:05 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b646c9ea2394 8209768: Refactor java/util/prefs/CheckUserPrefsStorage.sh to plain java test Reviewed-by: bchristi, weijun ! test/jdk/java/util/prefs/CheckUserPrefFirst.java ! test/jdk/java/util/prefs/CheckUserPrefLater.java + test/jdk/java/util/prefs/CheckUserPrefsStorage.java - test/jdk/java/util/prefs/CheckUserPrefsStorage.sh Changeset: 003c062e16ea Author: rfield Date: 2018-10-24 21:17 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/003c062e16ea 8211694: JShell: Redeclared variable should be reset Reviewed-by: sundar ! src/jdk.jshell/share/classes/jdk/jshell/Eval.java ! src/jdk.jshell/share/classes/jdk/jshell/Snippet.java ! test/langtools/jdk/jshell/SnippetTest.java ! test/langtools/jdk/jshell/ToolBasicTest.java ! test/langtools/jdk/jshell/VariablesTest.java Changeset: ef0fed0a3953 Author: michaelm Date: 2018-10-25 12:09 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ef0fed0a3953 8212926: HttpClient does not retrieve files with large sizes over HTTP/1.1 Reviewed-by: chegar, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java ! src/java.net.http/share/classes/jdk/internal/net/http/ResponseContent.java + test/jdk/java/net/httpclient/LargeResponseContent.java Changeset: 1f402d1f630f Author: jcbeyler Date: 2018-10-25 08:18 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1f402d1f630f 8212770: Remove spaces before/after () for vmTestbase/jvmti/[s-u] Summary: Remove spaces before/after () Reviewed-by: amenkov, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp Changeset: 8e575009ac4a Author: dlong Date: 2018-10-25 09:20 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8e575009ac4a 8212978: Add RedefineMethodUsedByMultipleMethodHandles.java to problem list Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: d98fb44ad6bf Author: mullan Date: 2018-10-25 13:55 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d98fb44ad6bf 8211883: Disable anon and NULL cipher suites Reviewed-by: jnimeh ! src/java.base/share/conf/security/java.security ! test/jdk/javax/net/ssl/SSLSession/JSSERenegotiate.java ! test/jdk/javax/net/ssl/ciphersuites/DisabledAlgorithms.java ! test/jdk/sun/security/ssl/SSLContextImpl/CustomizedCipherSuites.java Changeset: 2f6c9127dd97 Author: mchung Date: 2018-10-25 10:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2f6c9127dd97 8212948: Remove unused jdk.internal.misc.VMNotification interface Reviewed-by: alanb - src/java.base/share/classes/jdk/internal/misc/VMNotification.java Changeset: 2b29df6dfa68 Author: mchung Date: 2018-10-25 10:57 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2b29df6dfa68 8212795: ThreadInfoCompositeData.toCompositeData fails to map ThreadInfo to CompositeData Reviewed-by: dfuchs ! src/java.management/share/classes/sun/management/LockInfoCompositeData.java ! src/java.management/share/classes/sun/management/MonitorInfoCompositeData.java ! src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java ! src/java.management/share/classes/sun/management/ThreadInfoCompositeData.java ! test/jdk/java/lang/management/CompositeData/ThreadInfoCompositeData.java Changeset: 04e6910792b3 Author: mchung Date: 2018-10-25 10:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/04e6910792b3 Merge Changeset: db83eceba962 Author: ppunegov Date: 2018-10-25 11:18 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/db83eceba962 8164546: Convert DirectivesParser_test to GTest Reviewed-by: kvn, iignatyev, neliasso ! src/hotspot/share/compiler/directivesParser.cpp ! src/hotspot/share/compiler/directivesParser.hpp ! src/hotspot/share/utilities/internalVMTests.cpp + test/hotspot/gtest/compiler/test_directivesParser.cpp Changeset: fa61165a3f2b Author: amenkov Date: 2018-10-25 11:48 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fa61165a3f2b 8212151: jdi/ExclusiveBind.java times out due to "bind failed: Address already in use" on Solaris-X64 Reviewed-by: sspitsyn, jcbeyler ! test/jdk/com/sun/jdi/ExclusiveBind.java + test/jdk/com/sun/jdi/lib/jdb/Debuggee.java ! test/jdk/com/sun/jdi/lib/jdb/JdbTest.java Changeset: 39f8fa3a7be8 Author: akolarkunnu Date: 2018-10-25 08:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/39f8fa3a7be8 8212897: Some improvements in the EditorPaneDemotest Reviewed-by: serb Contributed-by: abdul.kolarkunnu at oracle.com ! test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java Changeset: d01d4bd7c5b3 Author: jcbeyler Date: 2018-10-25 14:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d01d4bd7c5b3 8212884: Remove the assignments in ifs for vmTestbase/[a-s] Summary: Extract assignments from if statements in vmTestbase Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp Changeset: bd8c721954a4 Author: dholmes Date: 2018-10-25 19:12 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bd8c721954a4 8210242: vmTestbase/nsk/stress/jni/jnistress001.java crashes with EXCEPTION_ACCESS_VIOLATION on windows-x86 Summary: Non-NUL-terminated string was passed to %s - use %.*s to specify the actual length. Reviewed-by: lfoltan, hseigel ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/jnihelper.h ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp Changeset: 57d299cdd068 Author: erikj Date: 2018-10-25 16:47 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/57d299cdd068 8213005: Missing symbols in hs_err files on Windows after JDK-8212028 Reviewed-by: ctornqvi ! make/RunTests.gmk ! make/RunTestsPrebuiltSpec.gmk Changeset: 26207007d234 Author: iris Date: 2018-10-25 17:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/26207007d234 8212994: Links to Oracle websites should use "https:" Reviewed-by: erikj, lancea ! make/Docs.gmk Changeset: 99962c340e73 Author: dlong Date: 2018-10-25 18:41 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/99962c340e73 8021335: Missing synchronization when reading counters for live threads and peak thread count Reviewed-by: dholmes, mchung ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/threadService.cpp ! src/hotspot/share/services/threadService.hpp ! test/jdk/java/lang/management/ThreadMXBean/ResetPeakThreadCount.java Changeset: 83039b8e6a42 Author: never Date: 2018-10-25 19:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/83039b8e6a42 8212956: [JVCMI] SpeculationReason should maintain identity Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/SpeculationLog.java + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestSpeculationLog.java Changeset: 17826b492ddd Author: weijun Date: 2018-10-26 11:11 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/17826b492ddd 8212867: Link to DRBG test vectors is redirected to a broken link Reviewed-by: mullan ! src/java.base/share/classes/java/security/DrbgParameters.java Changeset: 9e29d8388514 Author: ccheung Date: 2018-10-25 21:40 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9e29d8388514 8209598: Clean up how messages are printed when CDS aborts start-up Summary: added a new function vm_exit_during_cds_dumping() to java.cpp so that it can be used when an error condition is encountered during CDS dumping. Reviewed-by: iklam, dholmes, jiangli ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/java.hpp Changeset: fbfcdc5bf694 Author: hseigel Date: 2018-10-26 08:23 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fbfcdc5bf694 8192864: defmeth tests can hide failures Summary: Add a call to addFailureCount() to record previously hidden failures. Reviewed-by: lfoltan, coleenp ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java Changeset: 912b79d983d9 Author: stuefe Date: 2018-10-19 09:39 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/912b79d983d9 8212173: Thread._stack_base/_stack_size initialized too late for new threads Reviewed-by: dholmes, simonis ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/solaris/os_solaris.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/gc/parallel/gcTaskThread.cpp ! src/hotspot/share/gc/shared/concurrentGCThread.cpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: 91a57277c419 Author: weijun Date: 2018-10-26 22:58 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/91a57277c419 8213007: Update the link in test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java Reviewed-by: mullan ! test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java Changeset: 72f2fc52ef85 Author: gziemski Date: 2018-10-26 10:47 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/72f2fc52ef85 8017061: os_bsd.cpp contains code for UseSHM and UseHugeTLBFS Summary: Removed the code using unused flags. Reviewed-by: dholmes, coleenp ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 52a97e06a5e3 Author: lancea Date: 2018-10-26 14:02 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/52a97e06a5e3 8212129: Remove finalize methods from java.util.zip.ZipFIle/Inflator/Deflator Reviewed-by: rriggs, sherman, alanb, clanger ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/Inflater.java ! src/java.base/share/classes/java/util/zip/ZipFile.java - test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java ! test/jdk/java/util/zip/ZipFile/TestCleaner.java Changeset: 3a767a000aab Author: mchung Date: 2018-10-26 13:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3a767a000aab 8213043: Add internal Unsafe xxxObject methods as jsr166 is broken Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java Changeset: b553825935fc Author: jjg Date: 2018-10-26 15:13 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b553825935fc 8213056: Nested anchor tags in java.lang.module Reviewed-by: darcy ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/module/package-info.java Changeset: 3ef47d047efc Author: tschatzl Date: 2018-10-29 08:52 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3ef47d047efc 8212974: Update RS Skipped cards uses wrong enum to register to phase Reviewed-by: kbarrett ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp Changeset: 3b6680f7542f Author: tschatzl Date: 2018-10-29 08:55 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3b6680f7542f 8212766: TestPromotionEventWithG1.java failed due to "RuntimeException: PLAB size is smaller than object size." Summary: Also send PLAB size in bytes, not in heap words. Reviewed-by: shade, sjohanss ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java Changeset: a8e43293b4c4 Author: hseigel Date: 2018-10-29 08:38 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a8e43293b4c4 8212997: [TESTBUG] Remove defmeth tests for class file versions 50 and 51 Summary: Remove the unneeded tests. Keep the tests for class file versions 49 and 52. Reviewed-by: acorn, coleenp ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java Changeset: 274ba8fbd96d Author: coleenp Date: 2018-10-29 10:21 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/274ba8fbd96d 8212958: Allow Klass::_subklass and _next_sibling to have unloaded classes Summary: Don't return unloaded klasses. Make sure access is protected by Compile_lock. Reviewed-by: eosterlund, dlong ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/utilities/vmError.cpp + test/hotspot/jtreg/runtime/ClassUnload/UnloadInterfaceTest.java + test/hotspot/jtreg/runtime/ClassUnload/test/ImplementorClass.java + test/hotspot/jtreg/runtime/ClassUnload/test/Interface.java ! test/hotspot/jtreg/runtime/testlibrary/ClassUnloadCommon.java Changeset: 5b9c8d77a9fe Author: jlaskey Date: 2018-10-29 12:31 -0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b9c8d77a9fe 8212694: Using Raw String Literals with align() and Integer.MIN_VALUE causes out of memory error Reviewed-by: smarks, sherman ! src/java.base/share/classes/java/lang/String.java ! test/jdk/java/lang/String/AlignIndent.java Changeset: f300b4ca2637 Author: rfield Date: 2018-10-29 08:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f300b4ca2637 8210808: jshell tool: only considers the first snippet of the external editor Reviewed-by: jlahoda, sundar ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! test/langtools/jdk/jshell/EditorTestBase.java ! test/langtools/jdk/jshell/ExternalEditorTest.java Changeset: e53af5fa0dae Author: iklam Date: 2018-10-25 11:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e53af5fa0dae 8212205: VM asserts after CDS archive has been unmapped Reviewed-by: dholmes, jiangli, hseigel, stuefe ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: 50426919edbb Author: jiangli Date: 2018-10-29 14:00 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/50426919edbb 8205327: Clean up #if INCLUDE_CDS in classLoaderExt.cpp and classLoaderExt.hpp Summary: Clean up #if INCLUDE_CDS in classLoaderExt.* files. Reviewed-by: dholmes ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp Changeset: 3152b928769d Author: ccheung Date: 2018-10-29 11:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3152b928769d 8209566: [TESTBUG] runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java timeout on tier6 on sparc Summary: increased the timeout from 120s (default) to 240s Reviewed-by: dcubed, mseledtsov ! test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java Changeset: 3c981e581f93 Author: darcy Date: 2018-10-29 11:31 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3c981e581f93 8212081: AnnotatedType.toString implementation don't print annotations on embedded types Reviewed-by: jfranck, wmdietl ! src/java.base/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java Changeset: 124af9276e44 Author: jjg Date: 2018-10-29 12:33 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/124af9276e44 8213102: Oracle Unilinks are [301 Moved Permanently] to https://docs.oracle.com Reviewed-by: lancea, mchung ! make/Docs.gmk ! make/jdk/src/classes/build/tools/taglet/ExtLink.java Changeset: 625f6c742392 Author: iklam Date: 2018-10-17 15:57 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/625f6c742392 8212200: assert when shared java.lang.Object is redefined by JVMTI agent Reviewed-by: dholmes, jiangli, hseigel, lfoltan, sspitsyn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp + test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java ! test/hotspot/jtreg/testlibrary/jvmti/libSimpleClassFileLoadHook.c ! test/lib/jdk/test/lib/cds/CDSOptions.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 26777794ade5 Author: ccheung Date: 2018-10-29 13:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/26777794ade5 8212154: [TESTBUG] CheckArchivedModuleApp fails with NPE when JVMCI is absent Summary: added a null check on wb.getBooleanVMFlag("EnableJVMCI"). Reviewed-by: hseigel, jiangli ! test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java Changeset: 52d3bb5ba2f7 Author: kzhaldyb Date: 2018-10-29 14:04 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/52d3bb5ba2f7 8157728: Convert GCTimer_test to GTest Reviewed-by: tschatzl, jcbeyler, iignatyev ! src/hotspot/share/gc/shared/gcTimer.cpp ! src/hotspot/share/gc/shared/gcTimer.hpp ! src/hotspot/share/utilities/internalVMTests.cpp ! src/hotspot/share/utilities/ticks.hpp + test/hotspot/gtest/gc/shared/test_gcTimer.cpp Changeset: 3d33e20a5794 Author: iignatyev Date: 2018-10-29 14:04 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3d33e20a5794 8177710: Convert TestMetaspaceUtils_test to GTest Reviewed-by: tschatzl ! src/hotspot/share/utilities/internalVMTests.cpp + test/hotspot/gtest/memory/test_metaspace.cpp Changeset: c306abfeae0d Author: vromero Date: 2018-10-29 17:09 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c306abfeae0d 8213100: fix test OptionSmokeTest before removing it from the problem list Reviewed-by: jlahoda ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java Changeset: 0c5fc2063221 Author: vromero Date: 2018-10-29 17:11 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0c5fc2063221 8212624: remove outdated entries from langtools problem list Reviewed-by: darcy ! test/langtools/ProblemList.txt Changeset: 0451e0a2f1f5 Author: thartmann Date: 2018-10-30 09:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0451e0a2f1f5 8177899: Tests fail due to code cache exhaustion on machines with many cores Summary: Implemented upper limit on CICompilerCount based on code cache size. Reviewed-by: kvn, mdoerr ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/c2compiler.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/runtime/compilationPolicy.cpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp Changeset: 77018c2b97df Author: redestad Date: 2018-10-30 09:34 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/77018c2b97df 8213035: Pack MethodHandleInlineStrategy coder and length into a long Reviewed-by: vlivanov, mchung ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: 6fe18b0c0e88 Author: stuefe Date: 2018-10-26 16:49 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6fe18b0c0e88 8213017: jspawnhelper: need to handle pipe write failure when sending return code Reviewed-by: alanb ! src/java.base/unix/native/jspawnhelper/jspawnhelper.c Changeset: 16950b2eaebf Author: hseigel Date: 2018-10-30 09:13 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/16950b2eaebf 8213148: JDK build fails because of missing #includes Summary: Add missing #includes Reviewed-by: dcubed ! test/hotspot/gtest/memory/test_metaspace.cpp Changeset: 51a3e729535c Author: naoto Date: 2018-10-30 10:32 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/51a3e729535c 8212941: Loosen the range of JapaneseEra Reviewed-by: rriggs ! src/java.base/share/classes/java/time/chrono/JapaneseEra.java Changeset: df10a0cacf3e Author: apetcher Date: 2018-10-30 13:48 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/df10a0cacf3e 8205476: KeyAgreement#generateSecret is not reset for ECDH based algorithm Summary: Clarify spec of generateSecret and modify ECDH in SunEC to conform to spec Reviewed-by: mullan ! src/java.base/share/classes/javax/crypto/KeyAgreement.java ! src/java.base/share/classes/javax/crypto/KeyAgreementSpi.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java ! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java Changeset: 8d8702585652 Author: kvn Date: 2018-10-30 14:38 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8d8702585652 8210853: JIT: C2 doesn't skip post barrier for new allocated objects Summary: skip copy Region node when look for last allocation Reviewed-by: thartmann, kvn Contributed-by: kuaiwei.kw at alibaba-inc.com ! src/hotspot/share/opto/graphKit.cpp Changeset: d2a3503c72f7 Author: kbarrett Date: 2018-10-30 18:06 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d2a3503c72f7 8212827: GlobalCounter should support nested critical sections Summary: Support nested critical sections. Reviewed-by: eosterlund, rehn, tschatzl ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/globalCounter.cpp ! src/hotspot/share/utilities/globalCounter.hpp ! src/hotspot/share/utilities/globalCounter.inline.hpp ! src/hotspot/share/utilities/singleWriterSynchronizer.hpp ! test/hotspot/gtest/utilities/test_globalCounter.cpp + test/hotspot/gtest/utilities/test_globalCounter_nested.cpp Changeset: c401c536cea1 Author: dlong Date: 2018-10-30 15:17 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c401c536cea1 8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames Reviewed-by: kvn ! src/hotspot/share/aot/aotLoader.cpp Changeset: a181612f0715 Author: egahlin Date: 2018-10-31 02:10 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a181612f0715 8203629: Produce events in the JDK without a dependency on jdk.jfr Reviewed-by: mgronlun ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp + src/java.base/share/classes/jdk/internal/event/Event.java ! src/java.base/share/classes/module-info.java ! src/jdk.jfr/share/classes/jdk/jfr/Event.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventHandlerCreator.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java + src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! test/jdk/jdk/jfr/jvm/TestGetAllEventClasses.java Changeset: 6507eeb6f047 Author: jiangli Date: 2018-10-30 22:24 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6507eeb6f047 8203953: Rename SystemDictionary::load_shared_class(Symbol*, Handle, TRAPS) to load_shared_boot_class(). Summary: Rename SystemDictionary::load_shared_class. Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 9ae99ef38c16 Author: dtitov Date: 2018-10-30 19:29 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9ae99ef38c16 8195627: [Graal] nsk/jdi/VirtualMachine/redefineClasses/redefineclasses026 hangs with Graal in Xcomp mode Reviewed-by: sspitsyn, kvn ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 346ad00d6154 Author: xuelei Date: 2018-10-30 19:47 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/346ad00d6154 8212738: Incorrectly named signature scheme ecdsa_secp512r1_sha512 Reviewed-by: ascarpino ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java Changeset: ac4ea1fe09b9 Author: joehw Date: 2018-10-30 20:44 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ac4ea1fe09b9 8212866: Broken link to schematron.com Reviewed-by: lancea ! src/java.xml/share/classes/javax/xml/validation/package-info.java Changeset: cda2f582500e Author: pmuthuswamy Date: 2018-10-31 10:29 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cda2f582500e 8210244: {@value} should be permitted in module documentation Reviewed-by: jjg, sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java ! test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out + test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java Changeset: adb107c71a12 Author: mgronlun Date: 2018-10-31 09:09 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/adb107c71a12 8213172: CDS and JFR tests fail with assert(JdkJfrEvent::is(klass)) failed: invariant Reviewed-by: egahlin, dholmes ! src/hotspot/share/classfile/dictionary.cpp Changeset: 2b58b8e1d28f Author: rehn Date: 2018-10-31 08:09 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2b58b8e1d28f 8212933: Thread-SMR: requesting a VM operation whilst holding a ThreadsListHandle can cause deadlocks Reviewed-by: eosterlund, dcubed, sspitsyn, dholmes ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/threadSMR.cpp + test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java Changeset: 9341b077bd55 Author: ihse Date: 2018-10-31 09:30 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9341b077bd55 8210958: Rename "make run-test" to "make test" Reviewed-by: erikj ! doc/testing.html ! doc/testing.md ! make/Help.gmk ! make/Main.gmk ! make/MainSupport.gmk ! make/RunTests.gmk ! make/common/FindTests.gmk ! make/conf/jib-profiles.js ! test/Makefile ! test/make/TestMake.gmk ! test/make/TestMakeBase.gmk Changeset: b66b51c4e405 Author: ihse Date: 2018-10-31 11:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b66b51c4e405 8213184: Revert change in jib-profiles.js from run-test-prebuilt to test-prebuilt Reviewed-by: dholmes ! make/conf/jib-profiles.js Changeset: 55711b181dfc Author: coleenp Date: 2018-10-31 07:06 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/55711b181dfc 8213107: Make ClassLoaderDataGraph iterator skip unloaded CLDs Summary: with concurrent class unloading, the CLDG could contain unloaded CLDs while iterating in a safepoint Reviewed-by: lfoltan, eosterlund ! src/hotspot/share/classfile/classLoaderDataGraph.cpp Changeset: 418fb8bb5151 Author: tschatzl Date: 2018-10-31 13:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/418fb8bb5151 8071913: Filter out entries to free/uncommitted regions during iteration Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/gc/g1/heapRegionManager.inline.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp Changeset: 08041b0d7c08 Author: tschatzl Date: 2018-10-31 13:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/08041b0d7c08 6490394: G1: Allow heap shrinking / memory unmapping after reclaiming regions during Remark Reviewed-by: sjohanss, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java Changeset: 14ef0f74667b Author: tschatzl Date: 2018-10-31 13:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/14ef0f74667b 8211388: Make OtherRegionsTable independent of the region it is for Reviewed-by: sjohanss, sangheki ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/sparsePRT.cpp ! src/hotspot/share/gc/g1/sparsePRT.hpp Changeset: 21fdf8d9a8b6 Author: tschatzl Date: 2018-10-31 13:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/21fdf8d9a8b6 8212911: Unify and micro-optimize handling of non-in-collection set references in oop closures Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: f34a2e0069c7 Author: tschatzl Date: 2018-10-31 13:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f34a2e0069c7 8213142: Use RAII to set the scanning source in G1ScanEvacuatedObjClosure Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp Changeset: 9e3fd0cc3936 Author: mdoerr Date: 2018-10-31 14:48 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9e3fd0cc3936 8213086: Compiler thread creation should be bounded by available space in memory and Code Cache Reviewed-by: kvn, thartmann ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 0ecb4e520110 Author: bobv Date: 2018-10-30 10:39 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0ecb4e520110 8209093: JEP 340: One AArch64 Port, Not Two Reviewed-by: dholmes, erikj, mikael, shade, avoitylov, bulasevich ! doc/building.html ! doc/building.md ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags-ldflags.m4 ! make/autoconf/flags.m4 ! make/autoconf/hotspot.m4 ! make/conf/jib-profiles.js ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/cpu/arm/abstractInterpreter_arm.cpp ! src/hotspot/cpu/arm/arm.ad - src/hotspot/cpu/arm/arm_64.ad ! src/hotspot/cpu/arm/assembler_arm.hpp - src/hotspot/cpu/arm/assembler_arm_64.cpp - src/hotspot/cpu/arm/assembler_arm_64.hpp ! src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp ! src/hotspot/cpu/arm/c1_Defs_arm.hpp ! src/hotspot/cpu/arm/c1_FrameMap_arm.cpp ! src/hotspot/cpu/arm/c1_FrameMap_arm.hpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.hpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.hpp ! src/hotspot/cpu/arm/c1_LIR_arm.cpp ! src/hotspot/cpu/arm/c1_LinearScan_arm.hpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/c2_globals_arm.hpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/arm/frame_arm.hpp ! src/hotspot/cpu/arm/frame_arm.inline.hpp ! src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/globalDefinitions_arm.hpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/arm/icBuffer_arm.cpp ! src/hotspot/cpu/arm/icache_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/arm/interpreterRT_arm.hpp ! src/hotspot/cpu/arm/jniFastGetField_arm.cpp ! src/hotspot/cpu/arm/jniTypes_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.inline.hpp ! src/hotspot/cpu/arm/methodHandles_arm.cpp ! src/hotspot/cpu/arm/nativeInst_arm.hpp - src/hotspot/cpu/arm/nativeInst_arm_64.cpp - src/hotspot/cpu/arm/nativeInst_arm_64.hpp ! src/hotspot/cpu/arm/register_arm.cpp ! src/hotspot/cpu/arm/register_arm.hpp ! src/hotspot/cpu/arm/register_definitions_arm.cpp ! src/hotspot/cpu/arm/relocInfo_arm.cpp ! src/hotspot/cpu/arm/runtime_arm.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.cpp ! src/hotspot/cpu/arm/stubRoutines_arm.hpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/arm/vm_version_arm.hpp - src/hotspot/cpu/arm/vm_version_arm_64.cpp ! src/hotspot/cpu/arm/vm_version_ext_arm.cpp ! src/hotspot/cpu/arm/vtableStubs_arm.cpp ! src/hotspot/os_cpu/linux_arm/atomic_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/copy_linux_arm.inline.hpp ! src/hotspot/os_cpu/linux_arm/globals_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/linux_arm_32.s - src/hotspot/os_cpu/linux_arm/linux_arm_64.s ! src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.hpp ! src/hotspot/os_cpu/linux_arm/prefetch_linux_arm.inline.hpp ! src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp ! src/hotspot/share/utilities/macros.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java Changeset: 0c25fa66b5c5 Author: bobv Date: 2018-10-31 10:48 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0c25fa66b5c5 Merge ! make/conf/jib-profiles.js Changeset: 896e80158d35 Author: simonis Date: 2018-10-31 16:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/896e80158d35 8213151: [AIX] Some class library files are missing the Classpath exception Reviewed-by: stuefe, rriggs, mbaesken ! src/java.base/aix/native/libjli/java_md_aix.c ! src/java.base/aix/native/libjli/java_md_aix.h ! src/java.desktop/aix/native/libawt/porting_aix.c ! src/java.desktop/aix/native/libawt/porting_aix.h Changeset: a39d9d4ab891 Author: shade Date: 2018-10-31 19:00 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a39d9d4ab891 8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent) Reviewed-by: dholmes, iklam ! src/hotspot/share/prims/jvmtiExport.hpp Changeset: 0caa36de8703 Author: gromero Date: 2018-10-16 16:26 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0caa36de8703 8212481: PPC64: Enable POWER9 CPU detection Reviewed-by: mdoerr, simonis ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.hpp Changeset: 19c4a3eec4d7 Author: coleenp Date: 2018-10-31 14:38 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/19c4a3eec4d7 8213211: [BACKOUT] Allow Klass::_subklass and _next_sibling to have unloaded classes Reviewed-by: jiangli, jwilhelm ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/utilities/vmError.cpp - test/hotspot/jtreg/runtime/ClassUnload/UnloadInterfaceTest.java - test/hotspot/jtreg/runtime/ClassUnload/test/ImplementorClass.java - test/hotspot/jtreg/runtime/ClassUnload/test/Interface.java ! test/hotspot/jtreg/runtime/testlibrary/ClassUnloadCommon.java Changeset: e2478be9c682 Author: erikj Date: 2018-10-31 13:14 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e2478be9c682 8210837: Add libXrandr-devel to the Linux devkits Reviewed-by: prr, mikael ! make/conf/jib-profiles.js ! make/devkit/Makefile ! make/devkit/Tools.gmk Changeset: c42cd17e8e64 Author: bobv Date: 2018-10-31 16:27 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c42cd17e8e64 8213204: ReservedStackTest and ReservedStackTestCompiler tests fail on windows Reviewed-by: fparain, dcubed, jwilhelm ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java Changeset: e38473506688 Author: bobv Date: 2018-10-31 16:27 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e38473506688 Merge - test/hotspot/jtreg/runtime/ClassUnload/UnloadInterfaceTest.java - test/hotspot/jtreg/runtime/ClassUnload/test/ImplementorClass.java - test/hotspot/jtreg/runtime/ClassUnload/test/Interface.java Changeset: 2ab7754d5df0 Author: rkennke Date: 2018-11-02 14:04 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2ab7754d5df0 Merge ! .hgtags ! make/autoconf/hotspot.m4 - src/hotspot/cpu/arm/arm_64.ad - src/hotspot/cpu/arm/assembler_arm_64.cpp - src/hotspot/cpu/arm/assembler_arm_64.hpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp - src/hotspot/cpu/arm/nativeInst_arm_64.cpp - src/hotspot/cpu/arm/nativeInst_arm_64.hpp - src/hotspot/cpu/arm/vm_version_arm_64.cpp ! src/hotspot/os/linux/os_linux.cpp - src/hotspot/os_cpu/linux_arm/linux_arm_64.s ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! src/hotspot/share/utilities/macros.hpp - src/java.base/share/classes/jdk/internal/misc/VMNotification.java ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java - test/jdk/java/util/prefs/CheckUserPrefsStorage.sh - test/jdk/java/util/prefs/PrefsSpi.sh - test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 8c293c0f5609 Author: rkennke Date: 2018-11-02 19:25 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8c293c0f5609 Remove CollectedHeap::oop_extra_words() and related code ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/plab.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Changeset: f1b1a4d38e16 Author: rkennke Date: 2018-11-02 19:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f1b1a4d38e16 Merge ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp From shade at redhat.com Fri Nov 2 19:20:03 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 2 Nov 2018 20:20:03 +0100 Subject: RFR: Heuristics should do concurrent cycles Message-ID: <09fd6174-8670-a7f9-8b41-72ba5116d5c1@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/heuristics-concurrent/webrev.01/ This is the pack of 4 changes that make heuristics do concurrent cycles consistently. It consists of the following changes: *) Make heuristics tell if we can process references or unload classes This adds can_* methods to heuristics, so it can say if it possibly can, but not necessarily should either process the references or unload classes right now. This simplifies the dependencies all over the GC code that either polls flags directly, or otherwise guesses on different things. *) Factor out implicit/explicit GC requests This rewrites the handling for "requested" and "explicit" GCs. Before, "explicit" was the subtype of "requested" GC, which is confusing both conceptually and code-wise. Instead, there is now the split between "explicit" (e.g. forced by user action) and "implicit" (e.g. coming from some other VM facility) GCs. Recent metadata-induced GCs are the examples of implicit GCs. Additionally, both implicit and explicit GCs always process references and unload classes -- and they know that they can by polling new can_* methods. And they can do that without diving into Full GC. *) Print special cause for Metadata GC This moves the special "cause" message to control thread. This makes sure cause is printed only when GC cycle is actually happening, which makes vmTestbase/metaspace tests happy. *) Concurrent cycle by default on any external GC request This makes Shenandoah react with concurrent GC on any GC request by default. This makes sure that users would not get accidentally exposed to either Degen or Full GC in all normal uses, and it would only happen if something goes really wrong. This is accomplished by defaulting to new values for *GCInvokesConcurrent, which are also overridable. This is possible after all three things above are done. Testing: tier3_gc_shenandoah, vmTestbase/metaspace/ -XX:+UseShenandoahGC Thanks, -Aleksey From zgu at redhat.com Fri Nov 2 19:58:21 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 2 Nov 2018 15:58:21 -0400 Subject: RFR: Heuristics should do concurrent cycles In-Reply-To: <09fd6174-8670-a7f9-8b41-72ba5116d5c1@redhat.com> References: <09fd6174-8670-a7f9-8b41-72ba5116d5c1@redhat.com> Message-ID: Looks good. -Zhengyu On 11/02/2018 03:20 PM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/heuristics-concurrent/webrev.01/ > > This is the pack of 4 changes that make heuristics do concurrent cycles consistently. It consists of > the following changes: > > *) Make heuristics tell if we can process references or unload classes > > This adds can_* methods to heuristics, so it can say if it possibly can, but not necessarily should > either process the references or unload classes right now. This simplifies the dependencies all over > the GC code that either polls flags directly, or otherwise guesses on different things. > > *) Factor out implicit/explicit GC requests > > This rewrites the handling for "requested" and "explicit" GCs. Before, "explicit" was the subtype > of "requested" GC, which is confusing both conceptually and code-wise. Instead, there is now the > split between "explicit" (e.g. forced by user action) and "implicit" (e.g. coming from some other VM > facility) GCs. Recent metadata-induced GCs are the examples of implicit GCs. > > Additionally, both implicit and explicit GCs always process references and unload classes -- and > they know that they can by polling new can_* methods. And they can do that without diving into Full GC. > > *) Print special cause for Metadata GC > > This moves the special "cause" message to control thread. This makes sure cause is printed only > when GC cycle is actually happening, which makes vmTestbase/metaspace tests happy. > > *) Concurrent cycle by default on any external GC request > > This makes Shenandoah react with concurrent GC on any GC request by default. This makes sure that > users would not get accidentally exposed to either Degen or Full GC in all normal uses, and it would > only happen if something goes really wrong. This is accomplished by defaulting to new values for > *GCInvokesConcurrent, which are also overridable. This is possible after all three things above are > done. > > > Testing: tier3_gc_shenandoah, vmTestbase/metaspace/ -XX:+UseShenandoahGC > > Thanks, > -Aleksey > > From shade at redhat.com Fri Nov 2 23:21:36 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 02 Nov 2018 23:21:36 +0000 Subject: hg: shenandoah/jdk: 4 new changesets Message-ID: <201811022321.wA2NLbmX011613@aojmv0008.oracle.com> Changeset: 7286a329be7c Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7286a329be7c Make heuristics tell if we can process references or unload classes ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 08b968d6f8af Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/08b968d6f8af Print special cause for Metadata GC ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp Changeset: b5bf7d3eee5e Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b5bf7d3eee5e Factor out implicit/explicit GC requests ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 4ce8c4c952b3 Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ce8c4c952b3 Concurrent cycle by default on any external GC request ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java From snazy at snazy.de Sat Nov 3 20:05:54 2018 From: snazy at snazy.de (Robert Stupp) Date: Sat, 3 Nov 2018 21:05:54 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found Message-ID: The following code snippet produces an InternalError when either the getPeakUsage() or getUsage() methods for the memory-pool "Shenandoah" are called. for(MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans())System.out.println(pool.getName()+ " : " + pool.getPeakUsage()); java.lang.InternalError: Memory Pool not found at java.management/sun.management.MemoryPoolImpl.getPeakUsage0(Native Method) at java.management/sun.management.MemoryPoolImpl.getPeakUsage(MemoryPoolImpl.java:99) It's 100% reproducible with recent builds from http://hg.openjdk.java.net/shenandoah/jdk + http://hg.openjdk.java.net/shenandoah/jdk11 I'm pretty sure that this worked a few months ago. Robert -- Robert Stupp @snazy From snazy at snazy.de Sat Nov 3 20:23:26 2018 From: snazy at snazy.de (Robert Stupp) Date: Sat, 3 Nov 2018 21:23:26 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: References: Message-ID: And the funny part is, that omitting '-Xms' helps to prevent the error. This one fails: java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xms16081M -Xmx16081M -classpath . Demo This one succeeds: java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16081M -classpath . Demo Demo.java: import java.lang.management.*; public class Demo { ??? public static void main(String args[]) { ??? for (MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans()) ? ????? System.out.println(pool.getName()+ " : " + pool.getPeakUsage()); ??? } } On 11/3/18 9:05 PM, Robert Stupp wrote: > The following code snippet produces an InternalError when either the > getPeakUsage() or getUsage() methods for the memory-pool "Shenandoah" > are called. > > for(MemoryPoolMXBean pool: > ManagementFactory.getMemoryPoolMXBeans())System.out.println(pool.getName()+ > " : " + pool.getPeakUsage()); > > java.lang.InternalError: Memory Pool not found > ????at > java.management/sun.management.MemoryPoolImpl.getPeakUsage0(Native > Method) > ????at > java.management/sun.management.MemoryPoolImpl.getPeakUsage(MemoryPoolImpl.java:99) > > It's 100% reproducible with recent builds from > http://hg.openjdk.java.net/shenandoah/jdk + > http://hg.openjdk.java.net/shenandoah/jdk11 > > I'm pretty sure that this worked a few months ago. > > Robert > -- Robert Stupp @snazy From rkennke at redhat.com Sat Nov 3 20:52:03 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 3 Nov 2018 21:52:03 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: References: Message-ID: Thanks for reporting the issue! I did some initial experiments. I can reproduce the bug. We may have some weird interference with the 'LowMemoryDetector' mechanism (that would explain why dropping -Xms helps). We'll keep you updated. Thanks, Roman > And the funny part is, that omitting '-Xms' helps to prevent the error. > > This one fails: > java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xms16081M > -Xmx16081M -classpath . Demo > > This one succeeds: > java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16081M > -classpath . Demo > > > Demo.java: > > > import java.lang.management.*; > public class Demo { > ??? public static void main(String args[]) { > ??? for (MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans()) > ? ????? System.out.println(pool.getName()+ " : " + pool.getPeakUsage()); > ??? } > } > > > > On 11/3/18 9:05 PM, Robert Stupp wrote: >> The following code snippet produces an InternalError when either the >> getPeakUsage() or getUsage() methods for the memory-pool "Shenandoah" >> are called. >> >> for(MemoryPoolMXBean pool: >> ManagementFactory.getMemoryPoolMXBeans())System.out.println(pool.getName()+ >> " : " + pool.getPeakUsage()); >> >> java.lang.InternalError: Memory Pool not found >> ????at >> java.management/sun.management.MemoryPoolImpl.getPeakUsage0(Native >> Method) >> ????at >> java.management/sun.management.MemoryPoolImpl.getPeakUsage(MemoryPoolImpl.java:99) >> >> >> It's 100% reproducible with recent builds from >> http://hg.openjdk.java.net/shenandoah/jdk + >> http://hg.openjdk.java.net/shenandoah/jdk11 >> >> I'm pretty sure that this worked a few months ago. >> >> Robert >> From shade at redhat.com Sat Nov 3 20:53:57 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 3 Nov 2018 21:53:57 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: References: Message-ID: Reproduced. Weird bug. We actually have the test that is supposed to verify it: http://hg.openjdk.java.net/shenandoah/jdk/file/4ce8c4c952b3/test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java But it passes! And I scanned through all integer-M heap sizes to find that -Xms4097m -Xmx4097m is the lowest heap settings where it fails. Let's see what is up. -Aleksey On 11/03/2018 09:23 PM, Robert Stupp wrote: > And the funny part is, that omitting '-Xms' helps to prevent the error. > > This one fails: > java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xms16081M -Xmx16081M -classpath . Demo > > This one succeeds: > java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16081M -classpath . Demo > > > Demo.java: > > > import java.lang.management.*; > public class Demo { > ??? public static void main(String args[]) { > ??? for (MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans()) > ? ????? System.out.println(pool.getName()+ " : " + pool.getPeakUsage()); > ??? } > } > > > > On 11/3/18 9:05 PM, Robert Stupp wrote: >> The following code snippet produces an InternalError when either the getPeakUsage() or getUsage() >> methods for the memory-pool "Shenandoah" are called. >> >> for(MemoryPoolMXBean pool: >> ManagementFactory.getMemoryPoolMXBeans())System.out.println(pool.getName()+ " : " + >> pool.getPeakUsage()); >> >> java.lang.InternalError: Memory Pool not found >> ????at java.management/sun.management.MemoryPoolImpl.getPeakUsage0(Native Method) >> ????at java.management/sun.management.MemoryPoolImpl.getPeakUsage(MemoryPoolImpl.java:99) >> >> It's 100% reproducible with recent builds from http://hg.openjdk.java.net/shenandoah/jdk + >> http://hg.openjdk.java.net/shenandoah/jdk11 >> >> I'm pretty sure that this worked a few months ago. >> >> Robert >> From shade at redhat.com Sat Nov 3 22:29:18 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 3 Nov 2018 23:29:18 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: References: Message-ID: <29beb75b-6bc1-56b8-59b4-142b66bea56e@redhat.com> On 11/03/2018 09:53 PM, Aleksey Shipilev wrote: > Reproduced. Weird bug. We actually have the test that is supposed to verify it: > > http://hg.openjdk.java.net/shenandoah/jdk/file/4ce8c4c952b3/test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java > > But it passes! And I scanned through all integer-M heap sizes to find that -Xms4097m -Xmx4097m is > the lowest heap settings where it fails. Let's see what is up. I think it is the bug in Shenandoah management bindings somewhere. That Internal Error is actually a masked exception from java.lang.management.MemoryUsage constructor that is called from within the VM. But as VM calls it, the exception gets eaten up, and it appears as if the pool is not existent. This seems to be the easiest way to intercept bad values before they got into the system: diff -r 4ce8c4c952b3 src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp Fri Nov 02 19:38:54 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp Sat Nov 03 23:28:28 2018 +0100 @@ -34,7 +34,9 @@ MemoryUsage ShenandoahMemoryPool::get_memory_usage() { size_t maxSize = max_size(); size_t used = used_in_bytes(); size_t committed = _heap->committed(); + assert (committed <= maxSize, "sanity, committed: " SIZE_FORMAT ", maxSize: " SIZE_FORMAT, committed, maxSize); + return MemoryUsage(initial_size(), used, committed, maxSize); } Yields: # assert(committed <= maxSize) failed: sanity, committed: 4297064448, maxSize: 4294967296 -Aleksey From shade at redhat.com Sat Nov 3 23:07:56 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 4 Nov 2018 00:07:56 +0100 Subject: RFR: Initial committed regions count can be more than max Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/committed-max/webrev.01/ This hot-fixes the apparent off-by-one error in initial region count calculation. We normally deal with rounding errors by dealing with capacities in "region" units. That works well, but we also need to make sure the initial number of regions does not get more than max number of regions. Separately, I shall look into the underlying issues why we have less "max" regions than "initial". The hotfix makes the downstream code correct meanwhile, and it makes sure failures are not cryptic, but actually asserted before pushing bad values down. Testing: tier3_gc_shenandoah, failing ad-hoc tests Thanks, -Aleksey From shade at redhat.com Sat Nov 3 23:09:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 4 Nov 2018 00:09:43 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: <29beb75b-6bc1-56b8-59b4-142b66bea56e@redhat.com> References: <29beb75b-6bc1-56b8-59b4-142b66bea56e@redhat.com> Message-ID: <0378aff3-b069-3dfc-fa2a-78ac8399f4de@redhat.com> On 11/03/2018 11:29 PM, Aleksey Shipilev wrote: > Yields: > > # assert(committed <= maxSize) failed: sanity, committed: 4297064448, maxSize: 4294967296 Hot-fix here: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008111.html -Aleksey From rkennke at redhat.com Sun Nov 4 00:23:09 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 4 Nov 2018 01:23:09 +0100 Subject: RFR: Initial committed regions count can be more than max In-Reply-To: References: Message-ID: <82ee6b6d-639c-f5e7-ebf9-83b0c4b4bcc9@redhat.com> Ok. (and wtf?) Thanks, Roman > http://cr.openjdk.java.net/~shade/shenandoah/committed-max/webrev.01/ > > This hot-fixes the apparent off-by-one error in initial region count calculation. We normally deal > with rounding errors by dealing with capacities in "region" units. That works well, but we also need > to make sure the initial number of regions does not get more than max number of regions. > > Separately, I shall look into the underlying issues why we have less "max" regions than "initial". > The hotfix makes the downstream code correct meanwhile, and it makes sure failures are not cryptic, > but actually asserted before pushing bad values down. > > Testing: tier3_gc_shenandoah, failing ad-hoc tests > > Thanks, > -Aleksey > From shade at redhat.com Sun Nov 4 01:02:10 2018 From: shade at redhat.com (shade at redhat.com) Date: Sun, 04 Nov 2018 01:02:10 +0000 Subject: hg: shenandoah/jdk: Initial committed regions count can be more than max Message-ID: <201811040102.wA412Ats000964@aojmv0008.oracle.com> Changeset: 9cf8cbfd3ba1 Author: shade Date: 2018-11-03 23:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9cf8cbfd3ba1 Initial committed regions count can be more than max ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp From snazy at snazy.de Sun Nov 4 07:15:08 2018 From: snazy at snazy.de (Robert Stupp) Date: Sun, 4 Nov 2018 08:15:08 +0100 Subject: RFR: Initial committed regions count can be more than max In-Reply-To: <82ee6b6d-639c-f5e7-ebf9-83b0c4b4bcc9@redhat.com> References: <82ee6b6d-639c-f5e7-ebf9-83b0c4b4bcc9@redhat.com> Message-ID: Thanks! I can confirm that the hot-fix works. On 11/4/18 1:23 AM, Roman Kennke wrote: > Ok. (and wtf?) > > Thanks, > Roman > >> http://cr.openjdk.java.net/~shade/shenandoah/committed-max/webrev.01/ >> >> This hot-fixes the apparent off-by-one error in initial region count calculation. We normally deal >> with rounding errors by dealing with capacities in "region" units. That works well, but we also need >> to make sure the initial number of regions does not get more than max number of regions. >> >> Separately, I shall look into the underlying issues why we have less "max" regions than "initial". >> The hotfix makes the downstream code correct meanwhile, and it makes sure failures are not cryptic, >> but actually asserted before pushing bad values down. >> >> Testing: tier3_gc_shenandoah, failing ad-hoc tests >> >> Thanks, >> -Aleksey >> -- Robert Stupp @snazy From shade at redhat.com Sun Nov 4 19:41:37 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 4 Nov 2018 20:41:37 +0100 Subject: RFR: Revert "Print special cause for Metadata GC" Message-ID: <69491875-f701-91f1-b851-7f51772ed105@redhat.com> Zhengyu got it right originally, we need to print "Trigger" in heuristics, otherwise we break the UX invariant that every cycle has a Trigger. This is a clean revert of: http://hg.openjdk.java.net/shenandoah/jdk/rev/08b968d6f8af. diff -r 9cf8cbfd3ba1 src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Sat Nov 03 23:59:21 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Sun Nov 04 20:36:33 2018 +0100 @@ -179,15 +179,10 @@ bool gc_requested = (mode != none); assert (!gc_requested || cause != GCCause::_last_gc_cause, "GC cause should be set"); if (gc_requested) { - if (heuristics->has_metaspace_oom()) { - // Some of vmTestbase/metaspace tests depend on following line to count GC cycles - log_info(gc)("Cause: %s", GCCause::to_string(GCCause::_metadata_GC_threshold)); - } - heap->reset_bytes_allocated_since_gc_start(); // If GC was requested, we are sampling the counters even without actual triggers // from allocation machinery. This captures GC phases more accurately. set_forced_counters_update(true); diff -r 9cf8cbfd3ba1 src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp Sat Nov 03 23:59:21 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp Sun Nov 04 20:36:33 2018 +0100 @@ -228,11 +228,14 @@ bool ShenandoahHeuristics::should_start_update_refs() { return _update_refs_early; } bool ShenandoahHeuristics::should_start_normal_gc() const { + // Perform GC to cleanup metaspace if (has_metaspace_oom()) { + // Some of vmTestbase/metaspace tests depend on following line to count GC cycles + log_info(gc)("Trigger: %s", GCCause::to_string(GCCause::_metadata_GC_threshold)); return true; } double last_time_ms = (os::elapsedTime() - _last_cycle_end) * 1000; bool periodic_gc = (last_time_ms > ShenandoahGuaranteedGCInterval); Testing: tier3_gc_shenandoah, vmTestbase/metaspace Thanks, -Aleksey From shade at redhat.com Sun Nov 4 20:02:09 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 4 Nov 2018 21:02:09 +0100 Subject: RFR [8]: 2018-11-04, Bulk backports to sh/jdk8 Message-ID: <1ee63c4f-4c25-893f-3dbe-620253423862@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181104/webrev.01/ Recent improvements and bugfixes: [backport] Handle metadata induced GC [backport] Adjust metaspace size during each GC [backport] Remove fix-roots pass in ShHeap [backport] Avoid write barrier during full GC [backport] Pre-evac JVMTI roots + fixes [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time [backport] Make heuristics tell if we can process references or unload classes [backport] Factor out implicit/explicit GC requests [backport] Concurrent cycle by default on any external GC request [backport] Initial committed regions count can be more than max Testing: hotspot_tier3_gc_shenandoah {fastdebug|release} Thanks, -Aleksey From shade at redhat.com Sun Nov 4 20:02:27 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 4 Nov 2018 21:02:27 +0100 Subject: RFR [11]: 2018-11-04, Bulk backports to sh/jdk11 Message-ID: <326908f7-26c6-af1d-7432-0212df02484e@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181104/webrev.01/ Recent improvements and bugfixes: [backport] Handle metadata induced GC [backport] Adjust metaspace size during each GC [backport] Remove fix-roots pass in ShHeap [backport] Avoid write barrier during full GC [backport] Pre-evac JVMTI roots + fixes [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time [backport] Make heuristics tell if we can process references or unload classes [backport] Factor out implicit/explicit GC requests [backport] Concurrent cycle by default on any external GC request [backport] Initial committed regions count can be more than max Testing: tier3_gc_shenandoah {fastdebug|release} Thanks, -Aleksey From rkennke at redhat.com Sun Nov 4 20:32:53 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 4 Nov 2018 21:32:53 +0100 Subject: RFR: Revert "Print special cause for Metadata GC" In-Reply-To: <69491875-f701-91f1-b851-7f51772ed105@redhat.com> References: <69491875-f701-91f1-b851-7f51772ed105@redhat.com> Message-ID: Ok. Roman > Zhengyu got it right originally, we need to print "Trigger" in heuristics, otherwise we break the UX > invariant that every cycle has a Trigger. This is a clean revert of: > http://hg.openjdk.java.net/shenandoah/jdk/rev/08b968d6f8af. > > diff -r 9cf8cbfd3ba1 src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Sat Nov 03 23:59:21 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Sun Nov 04 20:36:33 2018 +0100 > @@ -179,15 +179,10 @@ > > bool gc_requested = (mode != none); > assert (!gc_requested || cause != GCCause::_last_gc_cause, "GC cause should be set"); > > if (gc_requested) { > - if (heuristics->has_metaspace_oom()) { > - // Some of vmTestbase/metaspace tests depend on following line to count GC cycles > - log_info(gc)("Cause: %s", GCCause::to_string(GCCause::_metadata_GC_threshold)); > - } > - > heap->reset_bytes_allocated_since_gc_start(); > > // If GC was requested, we are sampling the counters even without actual triggers > // from allocation machinery. This captures GC phases more accurately. > set_forced_counters_update(true); > diff -r 9cf8cbfd3ba1 src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp Sat Nov 03 23:59:21 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp Sun Nov 04 20:36:33 2018 +0100 > @@ -228,11 +228,14 @@ > bool ShenandoahHeuristics::should_start_update_refs() { > return _update_refs_early; > } > > bool ShenandoahHeuristics::should_start_normal_gc() const { > + // Perform GC to cleanup metaspace > if (has_metaspace_oom()) { > + // Some of vmTestbase/metaspace tests depend on following line to count GC cycles > + log_info(gc)("Trigger: %s", GCCause::to_string(GCCause::_metadata_GC_threshold)); > return true; > } > > double last_time_ms = (os::elapsedTime() - _last_cycle_end) * 1000; > bool periodic_gc = (last_time_ms > ShenandoahGuaranteedGCInterval); > > > Testing: tier3_gc_shenandoah, vmTestbase/metaspace > > Thanks, > -Aleksey > From rkennke at redhat.com Sun Nov 4 21:12:57 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 4 Nov 2018 22:12:57 +0100 Subject: RFR [8]: 2018-11-04, Bulk backports to sh/jdk8 In-Reply-To: <1ee63c4f-4c25-893f-3dbe-620253423862@redhat.com> References: <1ee63c4f-4c25-893f-3dbe-620253423862@redhat.com> Message-ID: <29c2010a-1111-3ca0-d7fb-7f0b5b4f04b3@redhat.com> Ok. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181104/webrev.01/ > > Recent improvements and bugfixes: > > [backport] Handle metadata induced GC > [backport] Adjust metaspace size during each GC > [backport] Remove fix-roots pass in ShHeap > [backport] Avoid write barrier during full GC > [backport] Pre-evac JVMTI roots + fixes > [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc > [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time > [backport] Make heuristics tell if we can process references or unload classes > [backport] Factor out implicit/explicit GC requests > [backport] Concurrent cycle by default on any external GC request > [backport] Initial committed regions count can be more than max > > Testing: hotspot_tier3_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From rkennke at redhat.com Sun Nov 4 21:13:11 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 4 Nov 2018 22:13:11 +0100 Subject: RFR [11]: 2018-11-04, Bulk backports to sh/jdk11 In-Reply-To: <326908f7-26c6-af1d-7432-0212df02484e@redhat.com> References: <326908f7-26c6-af1d-7432-0212df02484e@redhat.com> Message-ID: Ok. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181104/webrev.01/ > > Recent improvements and bugfixes: > > [backport] Handle metadata induced GC > [backport] Adjust metaspace size during each GC > [backport] Remove fix-roots pass in ShHeap > [backport] Avoid write barrier during full GC > [backport] Pre-evac JVMTI roots + fixes > [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc > [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time > [backport] Make heuristics tell if we can process references or unload classes > [backport] Factor out implicit/explicit GC requests > [backport] Concurrent cycle by default on any external GC request > [backport] Initial committed regions count can be more than max > > Testing: tier3_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From shade at redhat.com Sun Nov 4 21:42:58 2018 From: shade at redhat.com (shade at redhat.com) Date: Sun, 04 Nov 2018 21:42:58 +0000 Subject: hg: shenandoah/jdk: Revert "Print special cause for Metadata GC" Message-ID: <201811042142.wA4Lgwuj024752@aojmv0008.oracle.com> Changeset: 65831adfda73 Author: shade Date: 2018-11-04 20:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/65831adfda73 Revert "Print special cause for Metadata GC" ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp From shade at redhat.com Sun Nov 4 23:26:02 2018 From: shade at redhat.com (shade at redhat.com) Date: Sun, 04 Nov 2018 23:26:02 +0000 Subject: hg: shenandoah/jdk11: 11 new changesets Message-ID: <201811042326.wA4NQ3xP004442@aojmv0008.oracle.com> Changeset: 5176376c6018 Author: zgu Date: 2018-10-29 09:58 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/5176376c6018 [backport] Handle metadata induced GC ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/memory/metaspace.hpp Changeset: 61d9a7e0909b Author: zgu Date: 2018-10-29 10:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/61d9a7e0909b [backport] Adjust metaspace size during each GC ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 1042db920e9e Author: rkennke Date: 2018-10-30 17:17 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/1042db920e9e [backport] Remove fix-roots pass in ShHeap ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: c0763b17192c Author: zgu Date: 2018-10-31 20:02 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/c0763b17192c [backport] Avoid write barrier during full GC ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp Changeset: 027dac8dd144 Author: zgu Date: 2018-10-31 20:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/027dac8dd144 [backport] Pre-evac JVMTI roots + fixes ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 31e38ce9c295 Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/31e38ce9c295 [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: ad0223ebf48b Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/ad0223ebf48b [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp Changeset: 19647f4c2cbf Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/19647f4c2cbf [backport] Make heuristics tell if we can process references or unload classes ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 8f5717b28c48 Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/8f5717b28c48 [backport] Factor out implicit/explicit GC requests ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: a36f79d4330d Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/a36f79d4330d [backport] Concurrent cycle by default on any external GC request ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java Changeset: d98dfb9161c0 Author: shade Date: 2018-11-03 23:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/d98dfb9161c0 [backport] Initial committed regions count can be more than max ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp From shade at redhat.com Sun Nov 4 23:25:40 2018 From: shade at redhat.com (shade at redhat.com) Date: Sun, 04 Nov 2018 23:25:40 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 11 new changesets Message-ID: <201811042325.wA4NPeiL004297@aojmv0008.oracle.com> Changeset: a5dcf98c9c7f Author: zgu Date: 2018-10-29 09:58 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/a5dcf98c9c7f [backport] Handle metadata induced GC ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.hpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/memory/metaspace.hpp Changeset: 67b9081c1abe Author: zgu Date: 2018-10-29 10:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/67b9081c1abe [backport] Adjust metaspace size during each GC ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: f7e546c6b28b Author: rkennke Date: 2018-10-30 17:17 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/f7e546c6b28b [backport] Remove fix-roots pass in ShHeap ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 9446f3cd63c9 Author: zgu Date: 2018-10-31 20:02 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/9446f3cd63c9 [backport] Avoid write barrier during full GC ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp Changeset: a93cd6c49cbb Author: zgu Date: 2018-10-31 20:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/a93cd6c49cbb [backport] Pre-evac JVMTI roots + fixes ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp Changeset: 9f86a079cb7d Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/9f86a079cb7d [backport] Protect risky conversion in ShenandoahHeap::millis_since_last_gc ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 720a1b71bf3b Author: shade Date: 2018-11-01 18:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/720a1b71bf3b [backport] Purge unnecessary time conversion in ShenandoahPhaseTimings::record_phase_time ! src/share/vm/gc_implementation/shenandoah/shenandoahPhaseTimings.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPhaseTimings.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahTimingTracker.cpp Changeset: d7e6d8609c67 Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/d7e6d8609c67 [backport] Make heuristics tell if we can process references or unload classes ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: 73e6ca3593fc Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/73e6ca3593fc [backport] Factor out implicit/explicit GC requests ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Changeset: 8d94d547dd54 Author: shade Date: 2018-11-02 19:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/8d94d547dd54 [backport] Concurrent cycle by default on any external GC request ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! test/gc/shenandoah/options/TestExplicitGC.java Changeset: 6a1f6dcbf840 Author: shade Date: 2018-11-03 23:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/6a1f6dcbf840 [backport] Initial committed regions count can be more than max ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/services/shenandoahMemoryPool.cpp From shade at redhat.com Mon Nov 5 11:51:14 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 5 Nov 2018 12:51:14 +0100 Subject: InternalError: Memory Pool (Shenandoah) not found In-Reply-To: <0378aff3-b069-3dfc-fa2a-78ac8399f4de@redhat.com> References: <29beb75b-6bc1-56b8-59b4-142b66bea56e@redhat.com> <0378aff3-b069-3dfc-fa2a-78ac8399f4de@redhat.com> Message-ID: <63e1c4ec-f2fb-7414-52ae-ecc7545ac800@redhat.com> On 11/04/2018 12:09 AM, Aleksey Shipilev wrote: > On 11/03/2018 11:29 PM, Aleksey Shipilev wrote: >> Yields: >> >> # assert(committed <= maxSize) failed: sanity, committed: 4297064448, maxSize: 4294967296 > > Hot-fix here: > http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008111.html The fix is now in sh/jdk, sh/jdk11, sh/jdk8u. The corresponding nightly builds at builds.shipilev.net contain that fix now. Thanks for reporting it! -Aleksey From rkennke at redhat.com Mon Nov 5 13:34:03 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 5 Nov 2018 14:34:03 +0100 Subject: RFR: Remove old code from escape analysis Message-ID: <64ba3f8a-8427-350c-856b-47a39ac7c1dd@redhat.com> This seems to be an unused block of code in escape analysis. Inspecting the code it appears to be a leftover from when we emitted RBs as LoadP+AddP, iow when it was treated like a normal field load. I placed a ShouldNotReachHere() in the block and it did not blow up when running tier3_gc_shenandoah. Let's remove it. Ok? Tests: tier3_gc_shenandoah http://cr.openjdk.java.net/~rkennke/escape-remove-old-code/webrev.00/ Ok? Roman From rwestrel at redhat.com Mon Nov 5 13:38:33 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 05 Nov 2018 14:38:33 +0100 Subject: RFR: Remove old code from escape analysis In-Reply-To: <64ba3f8a-8427-350c-856b-47a39ac7c1dd@redhat.com> References: <64ba3f8a-8427-350c-856b-47a39ac7c1dd@redhat.com> Message-ID: > http://cr.openjdk.java.net/~rkennke/escape-remove-old-code/webrev.00/ Looks good. Roland. From roman at kennke.org Mon Nov 5 14:01:36 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 05 Nov 2018 14:01:36 +0000 Subject: hg: shenandoah/jdk: Remove old code from escape analysis Message-ID: <201811051401.wA5E1abE019187@aojmv0008.oracle.com> Changeset: 6ba2063015f7 Author: rkennke Date: 2018-11-05 14:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6ba2063015f7 Remove old code from escape analysis ! src/hotspot/share/opto/escape.cpp From rkennke at redhat.com Mon Nov 5 18:33:48 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 5 Nov 2018 19:33:48 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() Message-ID: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> See $SUBJECT. Reduces our upstream exposure. I will RFR the BSC2::ideal_node() API to upstream shortly. http://cr.openjdk.java.net/~rkennke/cmppnode-ideal/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From rwestrel at redhat.com Tue Nov 6 08:33:31 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 09:33:31 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> Message-ID: > http://cr.openjdk.java.net/~rkennke/cmppnode-ideal/webrev.00/ I don't think that's needed. We can remove the if (UseShenandoahGC) { check and upstream that code. I intended to do that soon. Roland. From rkennke at redhat.com Tue Nov 6 11:18:43 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 12:18:43 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> Message-ID: <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> Should I take this upstreaming? I've already everything lined up: https://bugs.openjdk.java.net/browse/JDK-8213381 Roman >> http://cr.openjdk.java.net/~rkennke/cmppnode-ideal/webrev.00/ > > I don't think that's needed. We can remove the if (UseShenandoahGC) { > check and upstream that code. I intended to do that soon. > > Roland. > From rwestrel at redhat.com Tue Nov 6 12:26:18 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 13:26:18 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> Message-ID: > Should I take this upstreaming? I've already everything lined up: > > https://bugs.openjdk.java.net/browse/JDK-8213381 The LoadNode::Identity() change should also be upstreamed as a non shenandoah specific change. I intended to do that one and the CmpPNode::Ideal() together. Roland. From rkennke at redhat.com Tue Nov 6 12:31:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 13:31:00 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> Message-ID: Oops. Just now I've submitted the RFR. I did not know that we inject ::Identity() calls too. Yeah, that should go together. BTW, I think the approach that I've chosen (see submitted RFR) is more generic in the long run: it intercepts Ideal(..) not by requiring to override specific ::Ideal() calls, but where ::Ideal(..) is called in phaseX.cpp, which allows GC to inject into *any* type of node, not only the ones that we've prepared for it. Identity() can be treated the same way I think. Want me to do it? Roman >> Should I take this upstreaming? I've already everything lined up: >> >> https://bugs.openjdk.java.net/browse/JDK-8213381 > > The LoadNode::Identity() change should also be upstreamed as a non > shenandoah specific change. I intended to do that one and the > CmpPNode::Ideal() together. > > Roland. > From rwestrel at redhat.com Tue Nov 6 12:32:33 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 13:32:33 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> Message-ID: > Identity() can be treated the same way I think. Want me to do it? We don't need so far so I would say no. Roland. From rkennke at redhat.com Tue Nov 6 12:39:16 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 13:39:16 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> Message-ID: <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> But the stuff in LoadNode::Identity() is Shenandoah-specific, or is it not? I don't quickly see how it would fit a generic pre-identity-call though. So I go ahead with what I just RFRed and you try to upstream the LoadStore::Identity() stuff? Ok? Roman >> Identity() can be treated the same way I think. Want me to do it? > > We don't need so far so I would say no. > > Roland. > From rwestrel at redhat.com Tue Nov 6 12:42:47 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 13:42:47 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> Message-ID: > But the stuff in LoadNode::Identity() is Shenandoah-specific, or is it > not? I don't think the changes in LoadNode::Identity() or CmpPNode::Ideal() are shenandoah specific. Maybe useless with ZGC but still I don't see how they can hurt it. Roland. From rkennke at redhat.com Tue Nov 6 12:51:39 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 13:51:39 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> Message-ID: >> But the stuff in LoadNode::Identity() is Shenandoah-specific, or is it >> not? > > I don't think the changes in LoadNode::Identity() or CmpPNode::Ideal() > are shenandoah specific. Maybe useless with ZGC but still I don't see > how they can hurt it. Ok. However, with the abstraction for BSC2::ideal_node(..) that I proposed, we can easily move our CmpPNode::Ideal(..) stuff into ShenandoahBSC2, and avoid discussing that part upstream ;-) And Erik said he'd like such an abstraction anyway, so why not. Roman From rwestrel at redhat.com Tue Nov 6 12:56:26 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 13:56:26 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> Message-ID: > However, with the abstraction for BSC2::ideal_node(..) that I proposed, > we can easily move our CmpPNode::Ideal(..) stuff into ShenandoahBSC2, > and avoid discussing that part upstream ;-) And Erik said he'd like such > an abstraction anyway, so why not. Both changes make some sense as non GC specific changes. So it seems to me they belong in shared code. We can always fall back to making them shenandoah specific if they are not accepted. ROland. From rkennke at redhat.com Tue Nov 6 13:09:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 14:09:00 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> Message-ID: <6297f3d1-4d8f-409a-fb72-043d7e2be57b@redhat.com> Ok. Please try. We still need the ideal(..) abstraction for CallLeafNode::Ideal() though. And it seems to me natural and consistent and potentially useful to also provide a similar abstraction for Identity(), because the two belong together afaiu. So I'll propose this upstream too. And from there we could put our LoadNode::Identity() changes behind ShenandoahBSC2. Which has the advantage that it's trivial to prove that it's not disturbing any non-Shenandoah code paths. But please try to put this stuff in shared code first if you think that's useful. Makes sense? Roman >> However, with the abstraction for BSC2::ideal_node(..) that I proposed, >> we can easily move our CmpPNode::Ideal(..) stuff into ShenandoahBSC2, >> and avoid discussing that part upstream ;-) And Erik said he'd like such >> an abstraction anyway, so why not. > > Both changes make some sense as non GC specific changes. So it seems to > me they belong in shared code. We can always fall back to making them > shenandoah specific if they are not accepted. > > ROland. > From rwestrel at redhat.com Tue Nov 6 13:19:11 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 14:19:11 +0100 Subject: RFR: Use BarrierSetC2::ideal_node() API for CmpPNode::Ideal() In-Reply-To: <6297f3d1-4d8f-409a-fb72-043d7e2be57b@redhat.com> References: <6a675063-f0a3-da16-7996-b46b5a07eeb1@redhat.com> <2f583f2a-271d-584b-d175-489a12cd8449@redhat.com> <6e280720-639c-7ef4-7b14-8e7e1ad0f962@redhat.com> <6297f3d1-4d8f-409a-fb72-043d7e2be57b@redhat.com> Message-ID: > Makes sense? Yes, sounds good to me. Roland. From rwestrel at redhat.com Tue Nov 6 15:18:55 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 06 Nov 2018 16:18:55 +0100 Subject: RFR: cherry pick 8212243: More gc interface tweaks for arraycopy Message-ID: http://cr.openjdk.java.net/~roland/shenandoah/8212243-cherry-pick/webrev.00/ Including shenandoah specific code. Roland. From rkennke at redhat.com Tue Nov 6 15:49:18 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 16:49:18 +0100 Subject: RFR: cherry pick 8212243: More gc interface tweaks for arraycopy In-Reply-To: References: Message-ID: <1182ffe0-51f8-37f6-f1bc-f172bb9b809e@redhat.com> Yes, please do that. Thanks! Roman > > http://cr.openjdk.java.net/~roland/shenandoah/8212243-cherry-pick/webrev.00/ > > Including shenandoah specific code. > > Roland. > From zgu at redhat.com Tue Nov 6 15:51:02 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 6 Nov 2018 10:51:02 -0500 Subject: RFR: Filter out serviceability tests that not applicable to Shenandoah Message-ID: <9ef386a9-19e5-2c9b-1a2f-3bffa9564934@redhat.com> This clears hotspot_serviceability tests for Shenandoah Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/filter_serviceability/webrev.00/index.html Test: hotspot_serviceability (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Tue Nov 6 15:51:40 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 16:51:40 +0100 Subject: RFR: Remove C2 leftovers Message-ID: - a bunch of lone includes - a !UseShenandoahGC that was added when we wanted barriers on constants, which we don't do anymore. - cast_to_nonconst() which I believe was also added for supporting barriers on constants (and there was meant to prevent replacing a barrier with it's underlying constant). I don't think we need this anymore, and it might actually be harmful. We ensure that constants are always to-space. It passes tier3_gc_shenandoah Ok? Roman From rkennke at redhat.com Tue Nov 6 15:52:15 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 16:52:15 +0100 Subject: RFR: Filter out serviceability tests that not applicable to Shenandoah In-Reply-To: <9ef386a9-19e5-2c9b-1a2f-3bffa9564934@redhat.com> References: <9ef386a9-19e5-2c9b-1a2f-3bffa9564934@redhat.com> Message-ID: Yes. Thanks! Roman > This clears hotspot_serviceability tests for Shenandoah > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/filter_serviceability/webrev.00/index.html > > > > Test: > ? hotspot_serviceability (fastdebug and release) > > Thanks, > > -Zhengyu > From zgu at redhat.com Tue Nov 6 16:00:20 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 06 Nov 2018 16:00:20 +0000 Subject: hg: shenandoah/jdk: Filter out serviceability tests that not applicable to Shenandoah Message-ID: <201811061600.wA6G0Kbg014472@aojmv0008.oracle.com> Changeset: ad1d74280503 Author: zgu Date: 2018-11-06 11:00 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ad1d74280503 Filter out serviceability tests that not applicable to Shenandoah ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCapacityTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest03.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java From rkennke at redhat.com Tue Nov 6 16:21:30 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 6 Nov 2018 17:21:30 +0100 Subject: RFR: Remove C2 leftovers In-Reply-To: References: Message-ID: <70d8afb1-9629-771f-1a2b-9ff1c93dc3ce@redhat.com> Duh. 1. I forgot the actual webrev. 2. We can't easy remove cast_to_nonconst(). Here's the actual reduced patch: http://cr.openjdk.java.net/~rkennke/remove-leftovers/webrev.01/ Ok? Roman > - a bunch of lone includes > - a !UseShenandoahGC that was added when we wanted barriers on > constants, which we don't do anymore. > - cast_to_nonconst() which I believe was also added for supporting > barriers on constants (and there was meant to prevent replacing a > barrier with it's underlying constant). I don't think we need this > anymore, and it might actually be harmful. We ensure that constants are > always to-space. > > It passes tier3_gc_shenandoah > > Ok? > > Roman > From rkennke at redhat.com Wed Nov 7 08:08:40 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 7 Nov 2018 09:08:40 +0100 Subject: RFR: Cherry-pick JDK-8213381: Hook to allow GC to inject Node::Ideal() calls plus Shenandoah parts Message-ID: In preparation of next upstream merge, I'd like to cherry-pick JDK-8213381, and move around all the Shenandoah related parts into ShenandoahBarrierSetC2. Roland: I know you said you'd try to upstream some of those parts. I think it's more useful (for now) to not need to discuss any of this upstream at all, and focus on the remaining stuff. It doesn't prevent upstreaming to shared code later, if it's truly useful. Ok? http://cr.openjdk.java.net/~rkennke/JDK-8213381-shenandoah/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From rwestrel at redhat.com Wed Nov 7 08:22:49 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 07 Nov 2018 08:22:49 +0000 Subject: hg: shenandoah/jdk: cherry pick 8212243: More gc interface tweaks for arraycopy Message-ID: <201811070822.wA78Mnjr016888@aojmv0008.oracle.com> Changeset: 704d769a833b Author: roland Date: 2018-11-07 09:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/704d769a833b cherry pick 8212243: More gc interface tweaks for arraycopy Reviewed-by: kvn, eosterlund ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/arraycopynode.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp From rwestrel at redhat.com Wed Nov 7 08:24:56 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 07 Nov 2018 09:24:56 +0100 Subject: RFR: Cherry-pick JDK-8213381: Hook to allow GC to inject Node::Ideal() calls plus Shenandoah parts In-Reply-To: References: Message-ID: > Roland: I know you said you'd try to upstream some of those parts. I > think it's more useful (for now) to not need to discuss any of this > upstream at all, and focus on the remaining stuff. It doesn't prevent > upstreaming to shared code later, if it's truly useful. Ok? Ok. > http://cr.openjdk.java.net/~rkennke/JDK-8213381-shenandoah/webrev.00/ That looks good. Roland. From roman at kennke.org Wed Nov 7 08:55:26 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 07 Nov 2018 08:55:26 +0000 Subject: hg: shenandoah/jdk: Cherry-pick JDK-8213381: Hook to allow GC to inject Node::Ideal() calls plus Shenandoah parts Message-ID: <201811070855.wA78tQoP001121@aojmv0008.oracle.com> Changeset: 7d01ab2fc30d Author: rkennke Date: 2018-11-06 14:26 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7d01ab2fc30d Cherry-pick JDK-8213381: Hook to allow GC to inject Node::Ideal() calls plus Shenandoah parts ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/subnode.cpp From rkennke at redhat.com Wed Nov 7 09:32:50 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 7 Nov 2018 10:32:50 +0100 Subject: RFR: Cherry-pick: JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 plus Shenandoah parts Message-ID: <56358269-b00f-269c-9296-7a9e48ee6487@redhat.com> JDK-8213384 is going to conflict when merged from upstream. Let's cherry-pick it to ease the pain: http://cr.openjdk.java.net/~rkennke/JDK-8213384-shenandoah/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From rwestrel at redhat.com Wed Nov 7 09:52:13 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 07 Nov 2018 10:52:13 +0100 Subject: RFR: Cherry-pick: JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 plus Shenandoah parts In-Reply-To: <56358269-b00f-269c-9296-7a9e48ee6487@redhat.com> References: <56358269-b00f-269c-9296-7a9e48ee6487@redhat.com> Message-ID: > http://cr.openjdk.java.net/~rkennke/JDK-8213384-shenandoah/webrev.00/ Ok. Roland. From roman at kennke.org Wed Nov 7 10:26:59 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 07 Nov 2018 10:26:59 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 plus Shenandoah parts Message-ID: <201811071026.wA7AQx4R012284@aojmv0008.oracle.com> Changeset: 4da227336973 Author: rkennke Date: 2018-11-06 17:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4da227336973 Cherry-pick: JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 plus Shenandoah parts ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp From rkennke at redhat.com Wed Nov 7 17:57:26 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 7 Nov 2018 18:57:26 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 Message-ID: We have a check in superword.cpp to prevent superword optimization if we find a WB between the pre- and main-loop. This seems to be a rare situation. I'd: - put it inside #if INCLUDE_SHENANDOAHGC - and UseShenandoahGC - and extract the actual body of code into ShenandoahBarrierSetC2.cpp Not sure if it's worth to make a real abstraction for it. It seems quite specific. http://cr.openjdk.java.net/~rkennke/shenandoah-superword/webrev.00/ Testing: tier3_gc_shenandoah Roman From rkennke at redhat.com Wed Nov 7 18:17:04 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 7 Nov 2018 19:17:04 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 In-Reply-To: References: Message-ID: It's probably worth pointing out that I found a few of our tests trigger the condition that we're checking in the test *and* don't fail in any way. And our testsuite passes (including a few tests that trigger the condition). Might be worth to investigate if we actually still need the code at all? Roman > We have a check in superword.cpp to prevent superword optimization if we > find a WB between the pre- and main-loop. This seems to be a rare > situation. I'd: > - put it inside #if INCLUDE_SHENANDOAHGC > - and UseShenandoahGC > - and extract the actual body of code into ShenandoahBarrierSetC2.cpp > > Not sure if it's worth to make a real abstraction for it. It seems quite > specific. > > http://cr.openjdk.java.net/~rkennke/shenandoah-superword/webrev.00/ > > Testing: tier3_gc_shenandoah > > Roman > From rkennke at redhat.com Wed Nov 7 21:36:19 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 7 Nov 2018 22:36:19 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 In-Reply-To: References: Message-ID: FWIW, specjvm also did not show any problems with the whole thing removed. Roman > It's probably worth pointing out that I found a few of our tests trigger > the condition that we're checking in the test *and* don't fail in any > way. And our testsuite passes (including a few tests that trigger the > condition). Might be worth to investigate if we actually still need the > code at all? > > Roman > >> We have a check in superword.cpp to prevent superword optimization if we >> find a WB between the pre- and main-loop. This seems to be a rare >> situation. I'd: >> - put it inside #if INCLUDE_SHENANDOAHGC >> - and UseShenandoahGC >> - and extract the actual body of code into ShenandoahBarrierSetC2.cpp >> >> Not sure if it's worth to make a real abstraction for it. It seems quite >> specific. >> >> http://cr.openjdk.java.net/~rkennke/shenandoah-superword/webrev.00/ >> >> Testing: tier3_gc_shenandoah >> >> Roman >> > From rwestrel at redhat.com Thu Nov 8 09:00:25 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 08 Nov 2018 10:00:25 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 In-Reply-To: References: Message-ID: > We have a check in superword.cpp to prevent superword optimization if we > find a WB between the pre- and main-loop. This seems to be a rare > situation. I'd: > - put it inside #if INCLUDE_SHENANDOAHGC > - and UseShenandoahGC > - and extract the actual body of code into ShenandoahBarrierSetC2.cpp > > Not sure if it's worth to make a real abstraction for it. It seems quite > specific. > > http://cr.openjdk.java.net/~rkennke/shenandoah-superword/webrev.00/ Let me take another look at this one. I have to figure out why it's needed again. I thought some more about whether this could be upstreamed even though it's shenandoah and I may give it a try. Roland/ From shade at redhat.com Thu Nov 8 10:36:50 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 8 Nov 2018 11:36:50 +0100 Subject: RFR: Cleanup .ad files includes Message-ID: <5882d4d0-26fd-49c0-4c37-4ee3779bc58d@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/cleanups-13/webrev.01/ This makes header includes in .ad files clean. Testing: {x86_64, aarch64} builds with/without -shenandoahgc; x86_64 tier1_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Thu Nov 8 10:44:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 11:44:42 +0100 Subject: RFR: Cleanup .ad files includes In-Reply-To: <5882d4d0-26fd-49c0-4c37-4ee3779bc58d@redhat.com> References: <5882d4d0-26fd-49c0-4c37-4ee3779bc58d@redhat.com> Message-ID: <15c1ef5a-8f35-ff01-e7b8-af4d97082736@redhat.com> Yes that makes sense! Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/cleanups-13/webrev.01/ > > This makes header includes in .ad files clean. > > Testing: {x86_64, aarch64} builds with/without -shenandoahgc; x86_64 tier1_gc_shenandoah > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 8 10:45:27 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 08 Nov 2018 10:45:27 +0000 Subject: hg: shenandoah/jdk: Cleanup .ad files includes Message-ID: <201811081045.wA8AjRwY026006@aojmv0008.oracle.com> Changeset: 2eaffab6eac1 Author: shade Date: 2018-11-08 11:04 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2eaffab6eac1 Cleanup .ad files includes ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad From rkennke at redhat.com Thu Nov 8 14:44:53 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 15:44:53 +0100 Subject: RFR: Upstream merge to jdk-12+19 Message-ID: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> Lots of good stuff from upstream: - 8212610: Fix handling of memory in PhaseIdealLoop::clone_loop_predicates() - 8212243: More gc interface tweaks for arraycopy - 8213384: Move G1/C2 barrier verification into G1BarrierSetC2 - 8213381: Hook to allow GC to inject Node::Ideal() calls - 8213371: GC/C2 abstraction and cleanup to handle custom offset for GC memory accesses - 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 all of which amounts to much-reduced upstream diff in C2 land. Testing: tier3_gc_shenandoah fastdebug/release (x86) (might need extra testing on aarch64 because we had some conflicts there in the various CAS matchers in C2) I needed to add this to shenandoahCodeRoots.cpp: diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp @@ -205,6 +205,7 @@ break; } case 2: { + ResourceMark rm; ShenandoahNMethodOopDetector detector; nm->oops_do(&detector, /* allow_zombie = */ true); Because of ShenandoahNMethodOopDetector allocating a GrowableArray as resource. Not sure why this started failing now, and not earlier and if needs backporting. Ok? Roman From rkennke at redhat.com Thu Nov 8 14:50:55 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 15:50:55 +0100 Subject: RFR: Upstream merge to jdk-12+19 In-Reply-To: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> References: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> Message-ID: <11d251a6-a03e-f550-bdef-a4b61dcfaf41@redhat.com> And of course, the obligatory list of changes: http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-08/outgoing.txt The new baseline would be: changeset: 53243:dc1f9dec2018 user: rkennke date: Wed Nov 07 20:24:44 2018 +0100 summary: 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 Ok? > Lots of good stuff from upstream: > > - 8212610: Fix handling of memory in PhaseIdealLoop::clone_loop_predicates() > - 8212243: More gc interface tweaks for arraycopy > - 8213384: Move G1/C2 barrier verification into G1BarrierSetC2 > - 8213381: Hook to allow GC to inject Node::Ideal() calls > - 8213371: GC/C2 abstraction and cleanup to handle custom offset for GC > memory accesses > - 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 barrier > verification into G1BarrierSetC2 > > all of which amounts to much-reduced upstream diff in C2 land. > > Testing: tier3_gc_shenandoah fastdebug/release (x86) > (might need extra testing on aarch64 because we had some conflicts there > in the various CAS matchers in C2) > > I needed to add this to shenandoahCodeRoots.cpp: > diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > @@ -205,6 +205,7 @@ > break; > } > case 2: { > + ResourceMark rm; > ShenandoahNMethodOopDetector detector; > nm->oops_do(&detector, /* allow_zombie = */ true); > > > > Because of ShenandoahNMethodOopDetector allocating a GrowableArray as > resource. Not sure why this started failing now, and not earlier and if > needs backporting. > > Ok? > > Roman > From shade at redhat.com Thu Nov 8 14:56:35 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 8 Nov 2018 15:56:35 +0100 Subject: RFR: Upstream merge to jdk-12+19 In-Reply-To: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> References: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> Message-ID: <5e88537f-10f1-014c-0b53-69353d50d584@redhat.com> On 11/08/2018 03:44 PM, Roman Kennke wrote: > Lots of good stuff from upstream: > > - 8212610: Fix handling of memory in PhaseIdealLoop::clone_loop_predicates() > - 8212243: More gc interface tweaks for arraycopy > - 8213384: Move G1/C2 barrier verification into G1BarrierSetC2 > - 8213381: Hook to allow GC to inject Node::Ideal() calls > - 8213371: GC/C2 abstraction and cleanup to handle custom offset for GC > memory accesses > - 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 barrier > verification into G1BarrierSetC2 Good! OK. > I needed to add this to shenandoahCodeRoots.cpp: > diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > @@ -205,6 +205,7 @@ > break; > } > case 2: { > + ResourceMark rm; > ShenandoahNMethodOopDetector detector; > nm->oops_do(&detector, /* allow_zombie = */ true); > > > > Because of ShenandoahNMethodOopDetector allocating a GrowableArray as > resource. Not sure why this started failing now, and not earlier and if > needs backporting. It probably needs backporting. Just RFR it separately for sh/jdk11, and we shall pick it up from there. -Aleksey From shade at redhat.com Thu Nov 8 14:58:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 8 Nov 2018 15:58:17 +0100 Subject: RFR: Upstream merge to jdk-12+19 In-Reply-To: <11d251a6-a03e-f550-bdef-a4b61dcfaf41@redhat.com> References: <1e651c74-4736-2286-51d1-0ec55470c6f1@redhat.com> <11d251a6-a03e-f550-bdef-a4b61dcfaf41@redhat.com> Message-ID: On 11/08/2018 03:50 PM, Roman Kennke wrote: > And of course, the obligatory list of changes: > > http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-08/outgoing.txt > > The new baseline would be: > > changeset: 53243:dc1f9dec2018 > user: rkennke > date: Wed Nov 07 20:24:44 2018 +0100 > summary: 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 > barrier verification into G1BarrierSetC2 > > Ok? New webrev script will (at least should) pick up baseline revision automatically now, no need to track the revisions. It hinges on the property that there are no non-Shenandoah changesets in past the merge changeset -- that is new head has to be single and has to be Shenandoah. -Aleksey From roman at kennke.org Thu Nov 8 14:59:24 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 08 Nov 2018 14:59:24 +0000 Subject: hg: shenandoah/jdk: 84 new changesets Message-ID: <201811081459.wA8ExUfv001115@aojmv0008.oracle.com> Changeset: 9cc7df3372b0 Author: rhalade Date: 2018-10-31 13:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9cc7df3372b0 8207059: Update test certificates in QuoVadisCA.java test Reviewed-by: mullan, mbaesken ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java Changeset: cefc50af3ee7 Author: ccheung Date: 2018-10-31 14:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cefc50af3ee7 8213000: Obsolete the IgnoreUnverifiableClassesDuringDump vm option Summary: remove code referencing the IgnoreUnverifiableClassesDuringDump Reviewed-by: dholmes, jiangli ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java ! test/hotspot/jtreg/runtime/appcds/VerifierTest.java Changeset: 3a8208766f7b Author: jwilhelm Date: 2018-11-01 02:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3a8208766f7b Added tag jdk-12+18 for changeset e38473506688 ! .hgtags Changeset: 7e236f262add Author: iignatyev Date: 2018-10-31 19:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7e236f262add 8177711: Convert TestVirtualSpaceNode_test to GTest Reviewed-by: jwilhelm ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/chunkManager.hpp + test/hotspot/gtest/memory/test_virtualSpaceNode.cpp Changeset: 750b500ef4de Author: stuefe Date: 2018-10-18 15:56 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/750b500ef4de 8212828: (process) Provide a way for Runtime.exec to use posix_spawn on linux Reviewed-by: alanb, rriggs Contributed-by: david.lloyd at redhat.com ! make/launcher/Launcher-java.base.gmk ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/unix/native/libjava/ProcessImpl_md.c ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: 45e3d52aaced Author: gadams Date: 2018-10-23 11:51 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/45e3d52aaced 8206330: Revisit com/sun/jdi/RedefineCrossEvent.java Reviewed-by: cjplummer, sspitsyn, amenkov ! test/jdk/ProblemList.txt ! test/jdk/com/sun/jdi/RedefineCrossEvent.java ! test/jdk/com/sun/jdi/TestScaffold.java Changeset: 8f543813b402 Author: gadams Date: 2018-10-23 14:23 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8f543813b402 8211013: [TESTBUG] nsk/jdb/kill/kill002 wait for message and prompt Reviewed-by: cjplummer, dtitov, jcbeyler ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java Changeset: 0eedd8701f91 Author: dnsimon Date: 2018-11-01 11:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0eedd8701f91 8212934: [JVMCI] do not propagate resolution error in HotSpotResolvedJavaFieldImpl.getType Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java Changeset: ecef74be8e25 Author: ihse Date: 2018-11-01 11:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ecef74be8e25 8213237: Remove test-compile-commands from jib-profiles.js Reviewed-by: lancea ! make/conf/jib-profiles.js Changeset: 52f892f43a05 Author: thartmann Date: 2018-11-01 14:15 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/52f892f43a05 8213014: Crash in CompileBroker::make_thread due to OOM Summary: Added missing null checks and checks for pending exception. Reviewed-by: kvn, dholmes, mdoerr ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp Changeset: cb06c2248720 Author: weijun Date: 2018-11-01 22:41 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cb06c2248720 8212217: JGSS: Don't dispose() of creds too eagerly Reviewed-by: mullan, weijun Contributed-by: Nico Williams ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java Changeset: ae4967993e17 Author: bpb Date: 2018-11-01 09:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ae4967993e17 8213210: Change ServerSocket(SocketImpl impl) constructor to protected access Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/net/ServerSocket.java Changeset: 5096007944cf Author: joehw Date: 2018-11-01 09:41 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5096007944cf 8212871: Broken links give 401-Unauthorized Reviewed-by: lancea ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathEvaluator.java ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathException.java ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathExpression.java ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathNSResolver.java ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathNamespace.java ! src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathResult.java Changeset: c9bbf33fd1ae Author: rpatil Date: 2018-11-01 12:43 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c9bbf33fd1ae 8213085: (tz) Upgrade time-zone data to tzdata2018g Reviewed-by: martin, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/factory ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/pacificnew ! make/data/tzdata/southamerica ! make/data/tzdata/systemv ! make/data/tzdata/zone.tab ! src/java.base/share/classes/sun/util/resources/TimeZoneNames.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java ! test/jdk/sun/util/calendar/zi/tzdata/VERSION ! test/jdk/sun/util/calendar/zi/tzdata/africa ! test/jdk/sun/util/calendar/zi/tzdata/antarctica ! test/jdk/sun/util/calendar/zi/tzdata/asia ! test/jdk/sun/util/calendar/zi/tzdata/australasia ! test/jdk/sun/util/calendar/zi/tzdata/backward ! test/jdk/sun/util/calendar/zi/tzdata/etcetera ! test/jdk/sun/util/calendar/zi/tzdata/europe ! test/jdk/sun/util/calendar/zi/tzdata/factory ! test/jdk/sun/util/calendar/zi/tzdata/leapseconds ! test/jdk/sun/util/calendar/zi/tzdata/northamerica ! test/jdk/sun/util/calendar/zi/tzdata/pacificnew ! test/jdk/sun/util/calendar/zi/tzdata/southamerica ! test/jdk/sun/util/calendar/zi/tzdata/systemv ! test/jdk/sun/util/calendar/zi/tzdata/zone.tab Changeset: 5ea020bcaa0d Author: rehn Date: 2018-11-01 17:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5ea020bcaa0d 8209495: NMethodSweeper::sweep_code_cache cause severe delays Reviewed-by: thartmann, eosterlund ! src/hotspot/share/runtime/sweeper.cpp Changeset: 7b20c27b2ccb Author: mullan Date: 2018-11-01 16:53 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7b20c27b2ccb 8212669: Add note to Cipher javadoc about using full transformation and not relying on defaults Reviewed-by: xuelei ! src/java.base/share/classes/javax/crypto/Cipher.java Changeset: 0edcab6e7f59 Author: naoto Date: 2018-11-01 14:07 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0edcab6e7f59 8213046: Define Japanese new Era character Reviewed-by: lancea, rriggs ! src/java.base/share/classes/java/lang/Character.java Changeset: 907fdbbdf584 Author: jjg Date: 2018-11-01 14:32 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/907fdbbdf584 8213263: fix legal headers in test/langtools Reviewed-by: darcy ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/module-info.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/p/Foo.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/p/doc-files/inpackage.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/p/doc-files/sub-dir/SubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/p/doc-files/sub-dir/sub-dir-1/SubSubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme.mdle/p/package.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/module-info.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/p2/Foo.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/p2/doc-files/inpackage.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/p2/doc-files/sub-dir/SubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/p2/doc-files/sub-dir/sub-dir-1/SubSubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/acme2.mdle/p2/package.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/modules/overview.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p1/Foo.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p1/doc-files/inpackage.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p1/doc-files/sub-dir/SubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/Foo.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/doc-files/case1.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/doc-files/case2.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/doc-files/case3.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/packages/p2/doc-files/case4.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/unnamed/Foo.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/unnamed/doc-files/doc-file/SubReadme.html ! test/langtools/jdk/javadoc/doclet/testCopyFiles/unnamed/doc-files/inpackage.html ! test/langtools/jdk/javadoc/doclet/testGrandParentTypes/TestGrandParentTypes.java ! test/langtools/jdk/javadoc/doclet/testHeadTag/TestHeadTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLankmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/pkg3/A.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/pkg3/package.html ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleA/concealedpkgmdlA/ConcealedClassInModuleA.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleA/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleA/testpkgmdlA/TestClassInModuleA.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/testpkg2mdlB/TestInterface2InModuleB.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/testpkg2mdlB/TestInterfaceInModuleB.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/testpkg3mdlB/TestClassLinkOption.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/testpkgmdlB/TestClass2InModuleB.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleB/testpkgmdlB/TestClassInModuleB.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleC/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleC/testpkgmdlC/TestClassInModuleC.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleNoExport/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleNoExport/testpkgmdlNoExport/TestClassInModuleNoExport.java ! test/langtools/jdk/javadoc/doclet/testModules/moduleT/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduletags/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/moduletags/testpkgmdltags/TestClassInModuleTags.java ! test/langtools/jdk/javadoc/doclet/testModules/test.moduleFullName/module-info.java ! test/langtools/jdk/javadoc/doclet/testModules/test.moduleFullName/testpkgmdlfullname/TestClassInTestModuleFullName.java ! test/langtools/jdk/javadoc/doclet/testModules/testpkgnomodule/TestClassNoModule.java ! test/langtools/jdk/javadoc/doclet/testModules/testpkgnomodule1/TestClassNoModulePkg1.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg5/TestEnum.java ! test/langtools/jdk/javadoc/doclet/testOverview/msrc/module-info.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/pkg/package-info.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testValueTag/pkg3/RT.java ! test/langtools/jdk/javadoc/tool/TestScriptInComment.java ! test/langtools/tools/javac/8133247/T8133247.java ! test/langtools/tools/javac/8133247/p/A.java ! test/langtools/tools/javac/8133247/p/B.java ! test/langtools/tools/javac/8133247/p/I.java ! test/langtools/tools/javac/8169345/T8169345b.java ! test/langtools/tools/javac/8169345/T8169345c.java ! test/langtools/tools/javac/DefiniteAssignment/T8204610.java ! test/langtools/tools/javac/annotations/8145489/foo/Anno.java ! test/langtools/tools/javac/annotations/8145489/foo/Status.java ! test/langtools/tools/javac/annotations/8145489/foo/package-info.java ! test/langtools/tools/javac/classreader/8171132/BadConstantValue.java ! test/langtools/tools/javac/diags/examples/FutureVarNotAllowed.java ! test/langtools/tools/javac/diags/examples/IllegalRefToVarType.java ! test/langtools/tools/javac/diags/examples/IllegalSignature.java ! test/langtools/tools/javac/diags/examples/LocalCantInferNull.java ! test/langtools/tools/javac/diags/examples/LocalCantInferVoid.java ! test/langtools/tools/javac/diags/examples/LocalLambdaMissingTarget.java ! test/langtools/tools/javac/diags/examples/LocalMissingInit.java ! test/langtools/tools/javac/diags/examples/LocalMrefMissingTarget.java ! test/langtools/tools/javac/diags/examples/LocalRedundantType.java ! test/langtools/tools/javac/diags/examples/LocalSelfRef.java ! test/langtools/tools/javac/diags/examples/PreviewFeatureDisabled.java ! test/langtools/tools/javac/diags/examples/PreviewFeatureDisabledPlural.java ! test/langtools/tools/javac/diags/examples/PreviewFeatureUse.java ! test/langtools/tools/javac/diags/examples/PreviewFilename.java ! test/langtools/tools/javac/diags/examples/PreviewFilenameAdditional.java ! test/langtools/tools/javac/diags/examples/PreviewPlural/PreviewPlural.java ! test/langtools/tools/javac/diags/examples/PreviewPlural/PreviewPluralBar.java ! test/langtools/tools/javac/diags/examples/StatExprExpected.java ! test/langtools/tools/javac/diags/examples/VarNotAllowed.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedArray.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedCompound.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedExplicitLambda.java ! test/langtools/tools/javac/diags/examples/VarNotAllowedHere.java ! test/langtools/tools/javac/diags/examples/WrongNumberTypeArgsFragment.java ! test/langtools/tools/javac/doctree/SummaryTest.java ! test/langtools/tools/javac/generics/diamond/7002837/T7002837.java ! test/langtools/tools/javac/generics/diamond/neg/T8078473.java ! test/langtools/tools/javac/generics/diamond/neg/T8078473_2.java ! test/langtools/tools/javac/generics/inference/8067767/T8067767.java ! test/langtools/tools/javac/generics/inference/8077306/T8077306.java ! test/langtools/tools/javac/generics/inference/8141613/T8141613.java ! test/langtools/tools/javac/generics/inference/8147493/T8147493a.java ! test/langtools/tools/javac/generics/inference/8147493/T8147493b.java ! test/langtools/tools/javac/generics/inference/8152832/T8152832.java ! test/langtools/tools/javac/generics/inference/8156954/T8156954.java ! test/langtools/tools/javac/generics/inference/8157149/T8157149b.java ! test/langtools/tools/javac/generics/inference/8157149/T8157149c.java ! test/langtools/tools/javac/generics/inference/8158355/T8158355.java ! test/langtools/tools/javac/generics/inference/8159680/T8159680.java ! test/langtools/tools/javac/generics/inference/8164399/T8164399.java ! test/langtools/tools/javac/generics/inference/8168134/T8168134.java ! test/langtools/tools/javac/generics/inference/8174249/T8174249a.java ! test/langtools/tools/javac/generics/inference/8174249/T8174249b.java ! test/langtools/tools/javac/generics/inference/8176534/TestUncheckedCalls.java ! test/langtools/tools/javac/generics/inference/8177097/T8177097a.java ! test/langtools/tools/javac/generics/inference/8177097/T8177097b.java ! test/langtools/tools/javac/generics/inference/8178150/T8178150.java ! test/langtools/tools/javac/generics/inference/8178427/T8178427.java ! test/langtools/tools/javac/lambda/8063054/T8063054a.java ! test/langtools/tools/javac/lambda/8063054/T8063054b.java ! test/langtools/tools/javac/lambda/8134329/T8134329.java ! test/langtools/tools/javac/lambda/8142876/T8142876.java ! test/langtools/tools/javac/lambda/8148128/T8148128.java ! test/langtools/tools/javac/lambda/8188144/T8188144.java ! test/langtools/tools/javac/lambda/8210495/T8210495.java ! test/langtools/tools/javac/lambda/T8195598.java ! test/langtools/tools/javac/lambda/speculative/8147546/T8147546a.java ! test/langtools/tools/javac/lambda/speculative/8147546/T8147546b.java ! test/langtools/tools/javac/lambda/speculative/8154180/T8154180a.java ! test/langtools/tools/javac/lambda/speculative/InferStrict.java ! test/langtools/tools/javac/lambda/speculative/InferWeak.java ! test/langtools/tools/javac/lambda/speculative/NestedLambdaGenerics.java ! test/langtools/tools/javac/lambda/speculative/NestedLambdaNoGenerics.java ! test/langtools/tools/javac/lambda/speculative/T8046685.java ! test/langtools/tools/javac/lambda/speculative/T8055984.java ! test/langtools/tools/javac/lambda/speculative/T8077247.java ! test/langtools/tools/javac/lambda/speculative/T8078093.java ! test/langtools/tools/javac/lvti/T8191893.java ! test/langtools/tools/javac/lvti/T8191959.java ! test/langtools/tools/javac/lvti/T8200199.java ! test/langtools/tools/javac/lvti/T8200199.out ! test/langtools/tools/javac/lvti/TestBadArray.java ! test/langtools/tools/javac/lvti/badTypeReference/BadTypeReference.java ! test/langtools/tools/javac/lvti/badTypeReference/BadTypeReference.out ! test/langtools/tools/javac/lvti/badTypeReference/pkg/nested/var/A.java ! test/langtools/tools/javac/lvti/badTypeReference/pkg/var.java ! test/langtools/tools/javac/lvti/harness/InferredType.java ! test/langtools/tools/javac/lvti/harness/LocalVariableInferenceTester.java ! test/langtools/tools/javac/lvti/harness/NonDenotableTest.java ! test/langtools/tools/javac/lvti/harness/PrimitiveTypeTest.java ! test/langtools/tools/javac/lvti/harness/ReferenceTypeTest.java ! test/langtools/tools/javac/lvti/harness/UpperBounds.java ! test/langtools/tools/javac/modules/T8168854/pack1/Outer.java ! test/langtools/tools/javac/modules/T8168854/pack1/Outer1.java ! test/langtools/tools/javac/overload/T8176265.java ! test/langtools/tools/javac/preview/PreviewOptionTest.java ! test/langtools/tools/javac/preview/classReaderTest/Bar.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchInExpressionSwitch.java ! test/langtools/tools/javadoc/lib/ToyDoclet.java ! test/langtools/tools/javap/typeAnnotations/InvisibleParameterAnnotationsTest.java ! test/langtools/tools/lib/builder/AbstractBuilder.java ! test/langtools/tools/lib/builder/ClassBuilder.java ! test/langtools/tools/lib/toolbox/Assert.java ! test/langtools/tools/sjavac/HiddenFiles.java ! test/langtools/tools/sjavac/OverlappingSrcDst.java Changeset: fb71a4bc010d Author: itakiguchi Date: 2018-11-01 17:48 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fb71a4bc010d 8211382: ISO2022JP and GB18030 NIO converter issues Reviewed-by: sherman, rriggs ! src/jdk.charsets/share/classes/sun/nio/cs/ext/GB18030.java.template ! src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_JP.java + test/jdk/sun/nio/cs/TestGB18030.java ! test/jdk/sun/nio/cs/TestISO2022JP.java Changeset: 50f0efe3a669 Author: jjg Date: 2018-11-01 15:11 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/50f0efe3a669 8213265: fix missing newlines at end of files Reviewed-by: darcy ! test/langtools/jdk/javadoc/doclet/testSummaryTag/p2/package.html ! test/langtools/tools/javac/doctree/dcapi/overview0.html ! test/langtools/tools/javac/doctree/dcapi/overview1.html ! test/langtools/tools/javac/doctree/dcapi/overview2.html ! test/langtools/tools/javac/doctree/dcapi/overview3.html ! test/langtools/tools/javac/doctree/dcapi/overview5.html ! test/langtools/tools/javac/doctree/dcapi/package.html ! test/langtools/tools/javac/doctree/dcapi/pkg/package.html Changeset: 6b31efbf833e Author: darcy Date: 2018-11-01 20:37 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6b31efbf833e 6304578: (reflect) toGenericString fails to print bounds of type variables on generic methods Reviewed-by: vromero, plevart, briangoetz, mcimadamore ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! test/jdk/java/lang/Class/GenericStringTest.java ! test/jdk/java/lang/reflect/Constructor/GenericStringTest.java ! test/jdk/java/lang/reflect/Method/GenericStringTest.java Changeset: 7f90bc64b0fc Author: never Date: 2018-11-02 00:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7f90bc64b0fc 8213203: [JVMCI] adopt formatting changes from jvmci 8 Reviewed-by: kvn ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.aarch64/src/jdk/vm/ci/aarch64/package-info.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.amd64/src/jdk/vm/ci/amd64/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/BytecodePosition.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/site/package-info.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/stack/package-info.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.common/src/jdk/vm/ci/common/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotJVMCIBackendFactory.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/EventProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantPoolObject.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantReflectionProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMethodDataAccessor.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotObjectConstant.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotProfilingInfo.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfigAccess.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfigStore.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/package-info.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Assumptions.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ConstantPool.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/LocalVariableTable.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ModifiersProvider.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.runtime/src/jdk/vm/ci/runtime/package-info.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/package-info.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.sparc/src/jdk/vm/ci/sparc/package-info.java Changeset: 2e280ecec246 Author: pliden Date: 2018-11-02 07:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2e280ecec246 8212921: ZGC: Move verification to after resurrection unblocked Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zAddress.hpp ! src/hotspot/share/gc/z/zAddress.inline.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zOop.hpp ! src/hotspot/share/gc/z/zOop.inline.hpp ! src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zOopClosures.hpp Changeset: 71564a544d4c Author: pliden Date: 2018-11-02 07:58 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/71564a544d4c 8212184: Incorrect oop ref strength used for referents in FinalReference Reviewed-by: eosterlund, kbarrett ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/gc/shared/accessBarrierSupport.cpp Changeset: d6dc479bcdd3 Author: eosterlund Date: 2018-11-01 14:57 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d6dc479bcdd3 8212681: Refactor IC locking to use a fine grained CompiledICLocker Reviewed-by: coleenp, rehn, kvn ! src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp ! src/hotspot/cpu/aarch64/compiledIC_aot_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp ! src/hotspot/cpu/arm/compiledIC_arm.cpp ! src/hotspot/cpu/ppc/compiledIC_ppc.cpp ! src/hotspot/cpu/ppc/nativeInst_ppc.cpp ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/sparc/compiledIC_sparc.cpp ! src/hotspot/cpu/sparc/nativeInst_sparc.cpp ! src/hotspot/cpu/x86/compiledIC_aot_x86_64.cpp ! src/hotspot/cpu/x86/compiledIC_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.cpp + src/hotspot/share/code/codeBehaviours.cpp + src/hotspot/share/code/codeBehaviours.hpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/compiledIC.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/icBuffer.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sweeper.cpp Changeset: 5c679ec60888 Author: eosterlund Date: 2018-11-02 08:33 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5c679ec60888 8209189: Make CompiledMethod::do_unloading more concurrent Reviewed-by: kvn, coleenp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp + src/hotspot/share/gc/shared/gcBehaviours.cpp + src/hotspot/share/gc/shared/gcBehaviours.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/runtime/sweeper.cpp Changeset: e256b3b62e20 Author: rehn Date: 2018-11-02 14:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e256b3b62e20 8213236: A partial removed/deleted JavaThread cannot transition Reviewed-by: dholmes, dcubed, eosterlund ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: 8c0b1894d524 Author: chegar Date: 2018-11-02 16:11 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8c0b1894d524 8213296: Fix legal headers in test/jdk/java/net Reviewed-by: alanb, dfuchs ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTestClient.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTestServer.java ! test/jdk/java/net/Inet6Address/serialize/Inet6AddressSerTest.java ! test/jdk/java/net/MulticastSocket/NetworkInterfaceEmptyGetInetAddressesTest.java ! test/jdk/java/net/URLConnection/ContentHandlers/plain.template ! test/jdk/java/net/httpclient/DigestEchoServer.java ! test/jdk/java/net/httpclient/ProxyAuthTest.java ! test/jdk/java/net/httpclient/http2/server/Queue.java Changeset: 867ab2d34c56 Author: dcubed Date: 2018-11-02 12:49 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/867ab2d34c56 8213308: ProblemList runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java Reviewed-by: ccheung, darcy ! test/hotspot/jtreg/ProblemList.txt Changeset: 3941f9d90689 Author: bpb Date: 2018-11-02 09:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3941f9d90689 8213305: Fix legal headers in test/java/math Reviewed-by: darcy ! test/jdk/java/math/BigInteger/PrimeTest.java Changeset: a2b1d31efbf6 Author: bpb Date: 2018-11-02 09:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a2b1d31efbf6 8213306: Fix legal headers in test/java/nio Reviewed-by: chegar ! test/jdk/java/nio/channels/SelectionKey/AtomicUpdates.java Changeset: ac5a55c19bad Author: hannesw Date: 2018-11-02 18:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ac5a55c19bad 8210405: Javadoc search doesn't always consider full input upon Enter Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js Changeset: 35986f2223fe Author: joehw Date: 2018-11-02 12:33 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/35986f2223fe 8213321: Fix legal headers in test/jaxp Reviewed-by: darcy, jjg, lancea ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/SurrogatesTest.java Changeset: ff10f8f3a583 Author: epavlova Date: 2018-11-02 14:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ff10f8f3a583 8152988: [AOT] Update test batch definitions to include aot-ed java.base module mode into hs-comp testing Reviewed-by: kvn, erikj, ihse ! make/RunTests.gmk ! make/RunTestsPrebuilt.gmk ! make/RunTestsPrebuiltSpec.gmk ! make/conf/jib-profiles.js ! test/hotspot/jtreg/compiler/aot/scripts/java.base-list.txt ! test/hotspot/jtreg/compiler/aot/scripts/jdk.internal.vm.compiler-list.txt Changeset: 96bd0f70ef99 Author: kbarrett Date: 2018-11-02 17:51 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/96bd0f70ef99 6735527: Bitmap - speed up searches Summary: New parameterized bitmap search routine, using ctz. Reviewed-by: tschatzl, shade ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp Changeset: 5ca10e4e052c Author: iignatyev Date: 2018-11-02 16:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5ca10e4e052c 8177708: Convert TestReserveMemorySpecial_test to Gtest Reviewed-by: gziemski, vlivanov ! src/hotspot/share/utilities/internalVMTests.cpp + test/hotspot/gtest/runtime/test_os_linux.cpp + test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: e292e94b448a Author: iignatyev Date: 2018-11-02 16:27 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e292e94b448a 8213058: remove ExecuteInternalVMTests and VerboseInternalVMTests flags Reviewed-by: erikj, dholmes, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk ! make/common/FindTests.gmk ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/prims/jni.cpp - src/hotspot/share/utilities/internalVMTests.cpp - src/hotspot/share/utilities/internalVMTests.hpp ! test/hotspot/jtreg/Makefile ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/CommandLine/VMOptionWarning.java - test/hotspot/jtreg/sanity/ExecuteInternalVMTests.java Changeset: 1322829d1501 Author: jiangli Date: 2018-11-02 19:30 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1322829d1501 8209564: runtime/appcds/CDSandJFR.java timeout on tier6 on sparc Summary: Set timeout 500 in CDSandJFR.java Reviewed-by: dcubed ! test/hotspot/jtreg/runtime/appcds/CDSandJFR.java Changeset: 24f37f464da0 Author: darcy Date: 2018-11-02 18:49 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/24f37f464da0 8213256: Clarify runtime vs compile time annotations for RoundEnvironment.getElementsAnnotatedWith(Class) Reviewed-by: jjg, jlahoda ! src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java Changeset: 858c1639bf72 Author: iignatyev Date: 2018-11-02 23:44 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/858c1639bf72 8213337: windows-x64-slowdebug build is broken by 8177708 Reviewed-by: dholmes ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: ca309ee4fd92 Author: iklam Date: 2018-10-29 14:01 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ca309ee4fd92 8211336: [TESTBUG] appcds tests with incorrect usage of -XX:+UseStringDeduplication Reviewed-by: dholmes, ccheung, mseledtsov ! test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_noCompactStrings.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_stringDedup.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsUtils.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java Changeset: 595ab4f025d7 Author: jcbeyler Date: 2018-11-03 12:37 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/595ab4f025d7 8213246: Fix typo in vmTestbase failuire to failure Summary: Fix failuire typo in two spots Reviewed-by: mikael, dcubed, iignatyev ! test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack001.java Changeset: 72d4e10305b9 Author: jiangli Date: 2018-11-03 15:40 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/72d4e10305b9 8212995: Placing the Integer.IntegerCache and cached Integer objects in the closed archive heap region. Summary: Support shareable archive object subgraphs in closed archive heap regions. Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/java.base/share/classes/java/lang/Integer.java Changeset: 89c73c4b1efe Author: lancea Date: 2018-11-04 13:06 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/89c73c4b1efe 8213328: Update test copyrights in test/java/util/zip and test/jdk/tools Reviewed-by: joehw ! test/jdk/java/util/zip/zip.java ! test/jdk/tools/jmod/src/apa/jdk/test/apa/Apa.java ! test/jdk/tools/jmod/src/apa/module-info.java ! test/jdk/tools/jmod/src/foo/jdk/test/foo/Foo.java ! test/jdk/tools/jmod/src/foo/jdk/test/foo/internal/Message.java ! test/jdk/tools/jmod/src/foo/module-info.java ! test/jdk/tools/launcher/modules/addexports/src/java.compiler/javax/annotation/processing/Generated.java ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/CommandLineParser.java ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/TokenList.java ! test/jdk/tools/pack200/pack200-verifier/src/xmlkit/XMLKit.java Changeset: 32408804acd4 Author: jlahoda Date: 2018-11-05 10:31 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/32408804acd4 8213103: RoundEnvironment.getElementsAnnotatedWith(Class) crashes with -source 8 Summary: Correct handling of missing annotation with -source 8. Reviewed-by: darcy, jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java + test/langtools/tools/javac/processing/rounds/GetElementsAnnotatedWithOnMissing.java Changeset: c0c6cdea32f1 Author: eosterlund Date: 2018-11-05 08:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c0c6cdea32f1 8212989: Allow CompiledMethod ExceptionCache have unloaded klasses Reviewed-by: kvn, pliden ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/compiledMethod.inline.hpp ! src/hotspot/share/code/nmethod.cpp Changeset: 1a38bfb0ffc9 Author: ihse Date: 2018-11-05 10:52 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1a38bfb0ffc9 8213339: Update precompiled.hpp with headers based on current frequency Reviewed-by: shade, dholmes ! src/hotspot/share/precompiled/precompiled.hpp Changeset: 9a9d7c8d9e88 Author: dfuchs Date: 2018-11-05 11:20 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9a9d7c8d9e88 8213301: Fix legal headers in jdk logging tests Reviewed-by: chegar, mchung ! test/jdk/java/lang/System/LoggerFinder/internal/SystemLoggerInPlatformLoader/SystemLoggerInPlatformLoader.java ! test/jdk/java/lang/System/LoggerFinder/internal/SystemLoggerInPlatformLoader/systempkg/log/SystemLoggerAccessor.java ! test/jdk/java/lang/System/LoggerFinder/modules/Base.java ! test/jdk/java/lang/System/LoggerFinder/modules/JDKLoggerForImageTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/JDKLoggerForJDKTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/LoggerInImageTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/NamedLoggerForImageTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/NamedLoggerForJDKTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/UnnamedLoggerForImageTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/UnnamedLoggerForJDKTest.java ! test/jdk/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/boot_usage/BootUsage.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_client/m.t.a/module-info.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/module-info.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/l/LoggerA.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/p/LoggerFinderA.java ! test/jdk/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/patched_usage/java.base/java/lang/PatchedUsage.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/l/LoggerB.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/p/LoggerFinderB.java ! test/jdk/java/util/logging/LogManager/LinkageErrorTest.java Changeset: 04cbcebf5adf Author: roland Date: 2018-10-04 09:24 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/04cbcebf5adf 8211320: Aarch64: unsafe.compareAndSetByte() and unsafe.compareAndSetShort() c2 intrinsics broken with negative expected value Reviewed-by: adinn, aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp + test/hotspot/jtreg/compiler/unsafe/CASandCAEwithNegExpected.java Changeset: 87bc444ca642 Author: roland Date: 2018-11-05 12:53 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/87bc444ca642 8209835: Aarch64: elide barriers on all volatile operations Reviewed-by: aph, adinn ! src/hotspot/cpu/aarch64/aarch64.ad + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAE.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAA.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileWeakCAS.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMS.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMSCondMark.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesG1.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesParallel.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesSerial.java Changeset: 9d3abb1b7b1f Author: eosterlund Date: 2018-11-05 12:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9d3abb1b7b1f 8212585: Clean up CompiledMethod::oops_reloc_begin() Reviewed-by: kvn, pliden ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/gc/z/zNMethodTable.cpp Changeset: 35ebea32a23c Author: eosterlund Date: 2018-11-05 12:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/35ebea32a23c 8212996: Use AS_NO_KEEPALIVE when accessing dead java.lang.invoke.CallSites during nmethod unloading Reviewed-by: coleenp, pliden ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/prims/methodHandles.cpp Changeset: df84c02f4780 Author: lucy Date: 2018-11-05 14:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/df84c02f4780 8213196: [ppc] [s390]: prepare code for gcc7.3.1 warning (int-in-bool-context) Reviewed-by: mdoerr, stuefe ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad Changeset: 6372f5af9612 Author: egahlin Date: 2018-11-05 14:40 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6372f5af9612 8209960: -Xlog:jfr* doesn't work with the JFR Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVMSupport.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/LogTag.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Logger.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataReader.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdCheck.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdConfigure.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStop.java Changeset: 6d42c07ba238 Author: roland Date: 2018-11-05 13:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6d42c07ba238 8212610: Fix handling of memory in PhaseIdealLoop::clone_loop_predicates() Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: bc4246eb76c4 Author: erikj Date: 2018-11-05 09:10 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bc4246eb76c4 8213227: Update jib src excludes to filter webrev and Jreg directories Reviewed-by: dholmes, tbell, ihse ! make/conf/jib-profiles.js Changeset: 1fc8166e28a2 Author: gziemski Date: 2018-11-05 12:27 -0600 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1fc8166e28a2 8208519: Remove rehashable hashtable Summary: Removed RehashableHashtable class Reviewed-by: iklam, ccheung ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/hashtable.hpp Changeset: 439b4a9b5a2e Author: tonyp Date: 2018-11-05 14:00 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/439b4a9b5a2e 8212883: Setting a double manageable flag with jcmd/jinfo crashes the JVM Reviewed-by: dholmes, gziemski, stuefe ! src/hotspot/share/services/writeableFlags.cpp ! src/hotspot/share/services/writeableFlags.hpp Changeset: c2d35a0c5611 Author: joehw Date: 2018-11-05 11:49 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c2d35a0c5611 8212872: Broken link to Namespaces in XML Errata Reviewed-by: lancea ! src/java.xml/share/classes/javax/xml/namespace/package-info.java Changeset: d288c988adee Author: joehw Date: 2018-11-05 13:45 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d288c988adee 8212876: ftp: links for character-sets require a login password Reviewed-by: lancea ! src/java.xml/share/classes/org/w3c/dom/ls/LSOutput.java Changeset: b6f32c533faf Author: naoto Date: 2018-11-05 13:55 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b6f32c533faf 8213330: Fix legal headers in i18n tests Reviewed-by: lancea ! test/jdk/java/util/Formatter/spi/NoGroupingUsed.java ! test/jdk/java/util/Locale/Bug8179071.java ! test/jdk/java/util/Locale/LocaleCmdOverrides.java ! test/jdk/java/util/Locale/SoftKeys.java ! test/jdk/java/util/spi/ResourceBundleControlProvider/com/foo/XmlRB.xml ! test/jdk/java/util/spi/ResourceBundleControlProvider/com/foo/XmlRB_ja.xml ! test/jdk/sun/util/calendar/zi/BackEnd.java ! test/jdk/sun/util/calendar/zi/Checksum.java ! test/jdk/sun/util/calendar/zi/DayOfWeek.java ! test/jdk/sun/util/calendar/zi/Gen.java ! test/jdk/sun/util/calendar/zi/GenDoc.java ! test/jdk/sun/util/calendar/zi/Main.java ! test/jdk/sun/util/calendar/zi/Mappings.java ! test/jdk/sun/util/calendar/zi/Month.java ! test/jdk/sun/util/calendar/zi/Rule.java ! test/jdk/sun/util/calendar/zi/RuleDay.java ! test/jdk/sun/util/calendar/zi/RuleRec.java ! test/jdk/sun/util/calendar/zi/Simple.java ! test/jdk/sun/util/calendar/zi/Time.java ! test/jdk/sun/util/calendar/zi/Timezone.java ! test/jdk/sun/util/calendar/zi/TzIDOldMapping.java ! test/jdk/sun/util/calendar/zi/Zone.java ! test/jdk/sun/util/calendar/zi/ZoneInfoFile.java ! test/jdk/sun/util/calendar/zi/ZoneInfoOld.java ! test/jdk/sun/util/calendar/zi/ZoneRec.java ! test/jdk/sun/util/calendar/zi/Zoneinfo.java ! test/jdk/sun/util/calendar/zi/tzdata/VERSION ! test/jdk/sun/util/calendar/zi/tzdata/africa ! test/jdk/sun/util/calendar/zi/tzdata/antarctica ! test/jdk/sun/util/calendar/zi/tzdata/asia ! test/jdk/sun/util/calendar/zi/tzdata/australasia ! test/jdk/sun/util/calendar/zi/tzdata/backward ! test/jdk/sun/util/calendar/zi/tzdata/etcetera ! test/jdk/sun/util/calendar/zi/tzdata/europe ! test/jdk/sun/util/calendar/zi/tzdata/factory ! test/jdk/sun/util/calendar/zi/tzdata/gmt ! test/jdk/sun/util/calendar/zi/tzdata/iso3166.tab ! test/jdk/sun/util/calendar/zi/tzdata/jdk11_backward ! test/jdk/sun/util/calendar/zi/tzdata/leapseconds ! test/jdk/sun/util/calendar/zi/tzdata/northamerica ! test/jdk/sun/util/calendar/zi/tzdata/pacificnew ! test/jdk/sun/util/calendar/zi/tzdata/solar87 ! test/jdk/sun/util/calendar/zi/tzdata/solar88 ! test/jdk/sun/util/calendar/zi/tzdata/solar89 ! test/jdk/sun/util/calendar/zi/tzdata/southamerica ! test/jdk/sun/util/calendar/zi/tzdata/systemv ! test/jdk/sun/util/calendar/zi/tzdata/zone.tab ! test/jdk/sun/util/calendar/zi/tzdata_jdk/gmt ! test/jdk/sun/util/calendar/zi/tzdata_jdk/jdk11_backward ! test/jdk/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward ! test/jdk/sun/util/locale/provider/Bug8152817.java ! test/jdk/sun/util/resources/cldr/Bug8204603.java Changeset: 3021c1ad958b Author: kbarrett Date: 2018-11-05 18:27 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3021c1ad958b 8210986: Add OopStorage cleanup to ServiceThread Summary: Service thread performs cleanup when notified. Reviewed-by: coleenp, rehn ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/gc/shared/oopStorage.inline.hpp ! src/hotspot/share/gc/shared/oopStorageParState.hpp ! src/hotspot/share/runtime/serviceThread.cpp ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 481e3b24a58c Author: dlong Date: 2018-11-05 22:22 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/481e3b24a58c 8204521: compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java fails trying to delete temp file Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java Changeset: 00db205006c9 Author: mli Date: 2018-11-06 15:23 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/00db205006c9 8210409: Refactor java.util.TimeZone:i18n shell tests to plain java tests Reviewed-by: naoto Contributed-by: ying.z.zhou at oracle.com - test/jdk/java/util/TimeZone/Bug8066652.sh + test/jdk/java/util/TimeZone/Bug8066652Run.java ! test/jdk/java/util/TimeZone/OldIDMappingTest.java - test/jdk/java/util/TimeZone/OldIDMappingTest.sh - test/jdk/java/util/TimeZone/TimeZoneDatePermissionCheck.sh + test/jdk/java/util/TimeZone/TimeZoneDatePermissionCheckRun.java Changeset: e3d79743f57d Author: roland Date: 2018-11-06 10:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e3d79743f57d 8212243: More gc interface tweaks for arraycopy Reviewed-by: kvn, eosterlund ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/arraycopynode.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp Changeset: cc7284e19666 Author: dchuyko Date: 2018-11-06 15:14 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cc7284e19666 8198294: AARCH64 - Set flags' optimal defaults for Cavium Thunder X2 CPU Reviewed-by: adinn, drwhite ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 38bf0c9c4e64 Author: rkennke Date: 2018-11-06 17:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/38bf0c9c4e64 8213384: Move G1/C2 barrier verification into G1BarrierSetC2 Reviewed-by: kvn, roland, eosterlund ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 3c6aa484536c Author: mchung Date: 2018-11-06 10:01 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3c6aa484536c 8211122: Reduce the number of internal classes made accessible to jdk.unsupported Reviewed-by: alanb, dfuchs, kvn ! src/java.base/share/classes/com/sun/crypto/provider/SealedObjectForKeyProtector.java ! src/java.base/share/classes/java/io/Console.java ! src/java.base/share/classes/java/io/DeleteOnExitHook.java ! src/java.base/share/classes/java/io/FileCleanable.java ! src/java.base/share/classes/java/io/FileDescriptor.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/ObjectInputFilter.java ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/StackFrameInfo.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/ref/Finalizer.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/lang/reflect/UndeclaredThrowableException.java ! src/java.base/share/classes/java/net/HttpCookie.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/SocketCleanable.java ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLClassLoader.java ! src/java.base/share/classes/java/nio/Bits.java ! src/java.base/share/classes/java/nio/Buffer.java ! src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/security/PrivilegedActionException.java ! src/java.base/share/classes/java/security/ProtectionDomain.java ! src/java.base/share/classes/java/security/Security.java ! src/java.base/share/classes/java/util/ArrayDeque.java ! src/java.base/share/classes/java/util/ArrayList.java ! src/java.base/share/classes/java/util/EnumMap.java ! src/java.base/share/classes/java/util/EnumSet.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/IdentityHashMap.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/PriorityQueue.java ! src/java.base/share/classes/java/util/Properties.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/java/util/UUID.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/java.base/share/classes/java/util/jar/JarFile.java ! src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java ! src/java.base/share/classes/java/util/spi/AbstractResourceBundleProvider.java ! src/java.base/share/classes/java/util/zip/ZipCoder.java ! src/java.base/share/classes/java/util/zip/ZipFile.java ! src/java.base/share/classes/javax/crypto/SealedObject.java + src/java.base/share/classes/jdk/internal/access/JavaAWTAccess.java + src/java.base/share/classes/jdk/internal/access/JavaAWTFontAccess.java + src/java.base/share/classes/jdk/internal/access/JavaBeansAccess.java + src/java.base/share/classes/jdk/internal/access/JavaIOAccess.java + src/java.base/share/classes/jdk/internal/access/JavaIOFileDescriptorAccess.java + src/java.base/share/classes/jdk/internal/access/JavaIOFilePermissionAccess.java + src/java.base/share/classes/jdk/internal/access/JavaIORandomAccessFileAccess.java + src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java + src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java + src/java.base/share/classes/jdk/internal/access/JavaLangModuleAccess.java + src/java.base/share/classes/jdk/internal/access/JavaLangRefAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetHttpCookieAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetInetAddressAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetSocketAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetURLAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetURLClassLoaderAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNetUriAccess.java + src/java.base/share/classes/jdk/internal/access/JavaNioAccess.java + src/java.base/share/classes/jdk/internal/access/JavaObjectInputFilterAccess.java + src/java.base/share/classes/jdk/internal/access/JavaObjectInputStreamAccess.java + src/java.base/share/classes/jdk/internal/access/JavaSecurityAccess.java + src/java.base/share/classes/jdk/internal/access/JavaUtilJarAccess.java + src/java.base/share/classes/jdk/internal/access/JavaUtilResourceBundleAccess.java + src/java.base/share/classes/jdk/internal/access/JavaUtilZipFileAccess.java + src/java.base/share/classes/jdk/internal/access/JavaxCryptoSealedObjectAccess.java + src/java.base/share/classes/jdk/internal/access/SharedSecrets.java ! src/java.base/share/classes/jdk/internal/loader/AbstractClassLoaderValue.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/Loader.java ! src/java.base/share/classes/jdk/internal/loader/URLClassPath.java + src/java.base/share/classes/jdk/internal/misc/FileSystemOption.java - src/java.base/share/classes/jdk/internal/misc/JavaAWTAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaAWTFontAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaBeansAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFileDescriptorAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFilePermissionAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIORandomAccessFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangRefAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetHttpCookieAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetInetAddressAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetSocketAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLClassLoaderAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetUriAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNioAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputFilterAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputStreamAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaSecurityAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilResourceBundleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilZipFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaxCryptoSealedObjectAccess.java - src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/module/Builder.java ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfo.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/Modules.java ! src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java ! src/java.base/share/classes/jdk/internal/reflect/ClassDefiner.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/net/sdp/SdpSupport.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationSupport.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! src/java.base/share/classes/sun/security/provider/PolicyFile.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/util/FilePermCompat.java ! src/java.base/share/classes/sun/security/util/Password.java ! src/java.base/share/classes/sun/text/bidi/BidiBase.java ! src/java.base/share/classes/sun/util/resources/Bundles.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/unix/classes/sun/nio/ch/FileDispatcherImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java ! src/java.base/windows/classes/java/lang/ProcessImpl.java ! src/java.base/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/java.base/windows/classes/java/net/PlainSocketImpl.java ! src/java.base/windows/classes/sun/nio/ch/FileDispatcherImpl.java ! src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/java.base/windows/classes/sun/nio/fs/WindowsChannelFactory.java ! src/java.desktop/share/classes/com/sun/beans/decoder/DocumentHandler.java ! src/java.desktop/share/classes/java/awt/EventQueue.java ! src/java.desktop/share/classes/java/awt/font/JavaAWTFontAccessImpl.java ! src/java.desktop/share/classes/java/awt/font/NumericShaper.java ! src/java.desktop/share/classes/java/awt/font/TextAttribute.java ! src/java.desktop/share/classes/java/beans/Introspector.java ! src/java.desktop/share/classes/javax/swing/RepaintManager.java ! src/java.desktop/share/classes/javax/swing/TransferHandler.java ! src/java.desktop/share/classes/sun/awt/AppContext.java ! src/java.logging/share/classes/java/util/logging/Level.java ! src/java.logging/share/classes/java/util/logging/LogManager.java ! src/java.logging/share/classes/java/util/logging/Logger.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/JavaBeansAccessor.java ! src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java ! src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java ! src/java.management/share/classes/sun/management/ManagementFactoryHelper.java ! src/java.naming/share/classes/com/sun/jndi/ldap/VersionHelper.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ConstantPoolSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java ! src/jdk.net/share/classes/jdk/net/ExtendedSocketOptions.java ! src/jdk.unsupported/share/classes/com/sun/nio/file/ExtendedCopyOption.java ! src/jdk.unsupported/share/classes/com/sun/nio/file/ExtendedOpenOption.java ! src/jdk.unsupported/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java ! src/jdk.unsupported/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java ! test/hotspot/jtreg/applications/ctw/modules/generate.bash ! test/hotspot/jtreg/applications/ctw/modules/java_base.java ! test/hotspot/jtreg/applications/ctw/modules/java_base_2.java ! test/hotspot/jtreg/applications/ctw/modules/java_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/java_datatransfer.java ! test/hotspot/jtreg/applications/ctw/modules/java_desktop.java ! test/hotspot/jtreg/applications/ctw/modules/java_desktop_2.java ! test/hotspot/jtreg/applications/ctw/modules/java_instrument.java ! test/hotspot/jtreg/applications/ctw/modules/java_logging.java ! test/hotspot/jtreg/applications/ctw/modules/java_management.java ! test/hotspot/jtreg/applications/ctw/modules/java_management_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/java_naming.java ! test/hotspot/jtreg/applications/ctw/modules/java_prefs.java ! test/hotspot/jtreg/applications/ctw/modules/java_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/java_scripting.java ! test/hotspot/jtreg/applications/ctw/modules/java_security_jgss.java ! test/hotspot/jtreg/applications/ctw/modules/java_security_sasl.java ! test/hotspot/jtreg/applications/ctw/modules/java_smartcardio.java ! test/hotspot/jtreg/applications/ctw/modules/java_sql.java ! test/hotspot/jtreg/applications/ctw/modules/java_sql_rowset.java ! test/hotspot/jtreg/applications/ctw/modules/java_xml.java ! test/hotspot/jtreg/applications/ctw/modules/java_xml_crypto.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_accessibility.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_aot.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_attach.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_charsets.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_cryptoki.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ec.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_mscapi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ucrypto.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_dynalink.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_editpad.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_hotspot_agent.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_httpserver.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_incubator_httpclient.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_ed.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_jvmstat.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_le.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_opt.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_ci.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_compiler_management.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jartool.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_javadoc.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jcmd.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jconsole.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jdeps.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jdi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jlink.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jshell.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jsobject.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jstatd.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_localedata.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_management.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_management_agent.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_naming_dns.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_naming_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_net.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_packager.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_packager_services.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_rmic.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_scripting_nashorn.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_scripting_nashorn_shell.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_sctp.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_security_auth.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_security_jgss.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_unsupported.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_xml_dom.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_zipfs.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ConstantPoolTestsHelper.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupTypeTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java ! test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java ! test/hotspot/jtreg/runtime/appcds/test-classes/EmptyClassHelper.java ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java ! test/hotspot/jtreg/testlibrary_tests/ctw/ClassesDirTest.java ! test/hotspot/jtreg/testlibrary_tests/ctw/ClassesListTest.java ! test/hotspot/jtreg/testlibrary_tests/ctw/CtwTest.java ! test/hotspot/jtreg/testlibrary_tests/ctw/JarDirTest.java ! test/hotspot/jtreg/testlibrary_tests/ctw/JarsTest.java ! test/jdk/java/io/Serializable/serialFilter/CheckArrayTest.java ! test/jdk/java/lang/ModuleLayer/BasicLayerTest.java ! test/jdk/java/lang/module/ConfigurationTest.java ! test/jdk/java/lang/module/ModuleDescriptorTest.java ! test/jdk/java/lang/module/ModuleNamesTest.java ! test/jdk/java/net/InetAddress/getOriginalHostName.java ! test/jdk/java/security/ProtectionDomain/PreserveCombinerTest.java ! test/jdk/java/util/logging/LogManagerAppContextDeadlock.java ! test/jdk/java/util/logging/RootLogger/RootLevelInConfigFile.java ! test/jdk/java/util/logging/TestAppletLoggerContext.java ! test/jdk/java/util/logging/TestGetLoggerNPE.java ! test/jdk/jdk/internal/reflect/constantPool/ConstantPoolTest.java ! test/jdk/tools/jar/modularJar/src/bar/jdk/test/bar/Bar.java ! test/jdk/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java Changeset: 0e8084c8cbb7 Author: ascarpino Date: 2018-11-06 10:10 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0e8084c8cbb7 8211339: NPE during SSL handshake caused by HostnameChecker Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/util/HostnameChecker.java + test/jdk/sun/security/util/HostnameMatcher/NullHostnameCheck.java Changeset: b64514ff68fd Author: rkennke Date: 2018-11-06 23:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b64514ff68fd 8213381: Hook to allow GC to inject Node::Ideal() calls Reviewed-by: kvn, eosterlund, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp Changeset: 4ee78b5583f9 Author: valeriep Date: 2018-11-07 01:04 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ee78b5583f9 8211049: Second parameter of "initialize" method is not used Summary: Use the specified random object instead of system default Reviewed-by: weijun ! src/java.base/share/classes/sun/security/rsa/RSAKeyPairGenerator.java + test/jdk/sun/security/rsa/TestKeyPairGeneratorInit.java Changeset: b0af758a092c Author: dlong Date: 2018-11-06 16:04 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b0af758a092c 8212605: Pure-Java implementation of AccessController.doPrivileged Reviewed-by: dholmes, mullan, vlivanov, mchung, alanb, rriggs ! make/hotspot/symbols/symbols-unix ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/prims/jvm.cpp - src/hotspot/share/prims/privilegedStack.cpp - src/hotspot/share/prims/privilegedStack.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/share/classes/java/security/AccessController.java ! src/java.base/share/classes/java/security/ProtectionDomain.java ! src/java.base/share/native/libjava/AccessController.c ! test/hotspot/jtreg/runtime/JVMDoPrivileged/DoPrivRunAbstract.jasm ! test/hotspot/jtreg/runtime/JVMDoPrivileged/DoPrivileged.java ! test/jdk/java/lang/StackWalker/VerifyStackTrace.java Changeset: b43f8976cf81 Author: mbaesken Date: 2018-11-07 09:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b43f8976cf81 8213366: (fs) avoid handle leak in Java_sun_nio_fs_WindowsNativeDispatcher_FindFirstFile0 Reviewed-by: alanb, chegar ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: a0ea20bc7af0 Author: dnsimon Date: 2018-11-07 09:39 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a0ea20bc7af0 8213347: [JVMCI] remove use of reflection in JVMCI Reviewed-by: kvn ! src/hotspot/.mx.jvmci/suite.py ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Assumptions.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/.checkstyle_checks.xml ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/JVMCIServiceLocator.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/internal/ReflectionAccessJDK.java Changeset: 44f34d2c3243 Author: ihse Date: 2018-11-07 10:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/44f34d2c3243 8213414: Fix incorrect copy constructors in hotspot Reviewed-by: kbarrett ! src/hotspot/share/classfile/stackMapFrame.hpp ! src/hotspot/share/libadt/dict.cpp ! src/hotspot/share/libadt/set.hpp Changeset: eac000022f61 Author: mdoerr Date: 2018-11-07 15:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/eac000022f61 8213464: Fix missing include after JDK-8212243 Reviewed-by: roland ! src/hotspot/share/opto/arraycopynode.hpp Changeset: 2090b60c5e26 Author: dcubed Date: 2018-11-07 12:40 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2090b60c5e26 8213487: [BACKOUT] 8213414 Fix incorrect copy constructors in hotspot Reviewed-by: roland, rkennke, thartmann ! src/hotspot/share/classfile/stackMapFrame.hpp ! src/hotspot/share/libadt/dict.cpp ! src/hotspot/share/libadt/set.hpp Changeset: 77ae7b76e111 Author: darcy Date: 2018-11-07 09:58 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/77ae7b76e111 8213444: Missing emphasis for term being defined Reviewed-by: mchung, jjg ! src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java Changeset: de25152e5ec4 Author: lfoltan Date: 2018-11-07 13:54 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/de25152e5ec4 8212937: Parent class loader may not have a referred ClassLoaderData instance when obtained in Klass::class_in_module_of_loader Summary: Fix to obtain the class loader's name from the java.lang.ClassLoader object instead of its ClassLoaderData. Reviewed-by: coleenp, mbalao, sgehwolf ! src/hotspot/share/oops/klass.cpp + test/hotspot/jtreg/runtime/LoaderConstraints/duplicateParentLE/ParentClassLoader.java + test/hotspot/jtreg/runtime/LoaderConstraints/duplicateParentLE/PreemptingChildClassLoader.java + test/hotspot/jtreg/runtime/LoaderConstraints/duplicateParentLE/Test.java Changeset: a0d2fb4d3097 Author: gadams Date: 2018-11-07 10:39 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a0d2fb4d3097 8213052: HTML errors in JPDA spec Reviewed-by: sspitsyn, amenkov ! make/data/docs-resources/resources/jdk-default.css Changeset: f6583d7cff56 Author: gadams Date: 2018-11-01 11:42 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f6583d7cff56 8213245: Restoring nsk/jvmti/scenarios/hotswap tests from ProblemList.txt Reviewed-by: jcbeyler, cjplummer, amenkov ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.java Changeset: 6082c529aed8 Author: rkennke Date: 2018-11-07 20:21 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6082c529aed8 8213371: GC/C2 abstraction and cleanup to handle custom offset for GC memory accesses Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/type.cpp Changeset: dc1f9dec2018 Author: rkennke Date: 2018-11-07 20:24 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/dc1f9dec2018 8213469: Remove/fix leftovers from JDK-8213384: Move G1/C2 barrier verification into G1BarrierSetC2 Reviewed-by: kvn, roland ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/opto/compile.cpp Changeset: a4d2c117079a Author: rkennke Date: 2018-11-08 15:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a4d2c117079a Merge ! .hgtags ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/arraycopynode.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/type.cpp - src/hotspot/share/prims/privilegedStack.cpp - src/hotspot/share/prims/privilegedStack.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/hotspot/share/utilities/internalVMTests.cpp - src/hotspot/share/utilities/internalVMTests.hpp - src/java.base/share/classes/jdk/internal/misc/JavaAWTAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaAWTFontAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaBeansAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFileDescriptorAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFilePermissionAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIORandomAccessFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangRefAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetHttpCookieAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetInetAddressAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetSocketAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLClassLoaderAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetUriAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNioAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputFilterAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputStreamAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaSecurityAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilResourceBundleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilZipFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaxCryptoSealedObjectAccess.java - src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/internal/ReflectionAccessJDK.java ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_noCompactStrings.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_stringDedup.java - test/hotspot/jtreg/sanity/ExecuteInternalVMTests.java ! test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp - test/jdk/java/util/TimeZone/Bug8066652.sh - test/jdk/java/util/TimeZone/OldIDMappingTest.sh - test/jdk/java/util/TimeZone/TimeZoneDatePermissionCheck.sh From rkennke at redhat.com Thu Nov 8 15:13:17 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 16:13:17 +0100 Subject: RFR: Make ResourceMark use consistent in ShenandoahCodeRoots Message-ID: During last merge, I added ResourceMark in remove_nmethod() to guard the GrowableArray allocation in ShenandoahNMethodOopDetector. This guy is also used in add_nmethod() and shall need similar protection. Let's put it right in ShenandoahNMethodOopDetector to make it consistent. When backporting, ignore the removed ResourceMark in remove_nmethod(). Testing: tier3_gc_shenandoah http://cr.openjdk.java.net/~rkennke/coderoot-resourcemark/webrev.00/ Ok? Roman From shade at redhat.com Thu Nov 8 15:15:15 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 8 Nov 2018 16:15:15 +0100 Subject: RFR: Make ResourceMark use consistent in ShenandoahCodeRoots In-Reply-To: References: Message-ID: On 11/08/2018 04:13 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/coderoot-resourcemark/webrev.00/ Looks good. Thanks, -Aleksey From roman at kennke.org Thu Nov 8 16:02:14 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 08 Nov 2018 16:02:14 +0000 Subject: hg: shenandoah/jdk: Make ResourceMark use consistent in ShenandoahCodeRoots Message-ID: <201811081602.wA8G2F0m003039@aojmv0008.oracle.com> Changeset: ac5182983554 Author: rkennke Date: 2018-11-08 17:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ac5182983554 Make ResourceMark use consistent in ShenandoahCodeRoots ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp From rkennke at redhat.com Thu Nov 8 16:26:59 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 17:26:59 +0100 Subject: RFR: Add missing include for new ResourceMark in ShenandoahCodeRoots Message-ID: diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp @@ -27,6 +27,7 @@ #include "gc/shenandoah/shenandoahHeap.hpp" #include "gc/shenandoah/shenandoahHeap.inline.hpp" #include "gc/shenandoah/shenandoahCodeRoots.hpp" +#include "memory/resourceArea.hpp" ShenandoahParallelCodeCacheIterator::ShenandoahParallelCodeCacheIterator(const GrowableArray* heaps) { _length = heaps->length(); Ok? From shade at redhat.com Thu Nov 8 16:36:28 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 8 Nov 2018 17:36:28 +0100 Subject: RFR: Add missing include for new ResourceMark in ShenandoahCodeRoots In-Reply-To: References: Message-ID: <7340292a-a5d8-3072-6923-7beff80b3c87@redhat.com> On 11/08/2018 05:26 PM, Roman Kennke wrote: > diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp > @@ -27,6 +27,7 @@ > #include "gc/shenandoah/shenandoahHeap.hpp" > #include "gc/shenandoah/shenandoahHeap.inline.hpp" > #include "gc/shenandoah/shenandoahCodeRoots.hpp" > +#include "memory/resourceArea.hpp" > > ShenandoahParallelCodeCacheIterator::ShenandoahParallelCodeCacheIterator(const GrowableArray* heaps) { > _length = heaps->length(); OK. -Aleksey From roman at kennke.org Thu Nov 8 16:40:06 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 08 Nov 2018 16:40:06 +0000 Subject: hg: shenandoah/jdk: Add missing include for new ResourceMark in ShenandoahCodeRoots Message-ID: <201811081640.wA8Ge68p022076@aojmv0008.oracle.com> Changeset: f6d4969b36cb Author: rkennke Date: 2018-11-08 17:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f6d4969b36cb Add missing include for new ResourceMark in ShenandoahCodeRoots ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp From rkennke at redhat.com Thu Nov 8 18:18:30 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 8 Nov 2018 19:18:30 +0100 Subject: RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() Message-ID: Removing the last remaining diff in arraycopynode.cpp doesn't seem to be problematic, and I can't see why it should matter. Roland? Any idea? Can we remove it? Roman diff --git a/src/hotspot/share/opto/arraycopynode.cpp b/src/hotspot/share/opto/arraycopynode.cpp --- a/src/hotspot/share/opto/arraycopynode.cpp +++ b/src/hotspot/share/opto/arraycopynode.cpp @@ -497,7 +497,7 @@ } else { if (in(TypeFunc::Control) != ctl) { // we can't return new memory and control from Ideal at parse time - assert(!is_clonebasic() || UseShenandoahGC, "added control for clone?"); + assert(!is_clonebasic(), "added control for clone?"); phase->record_for_igvn(this); return false; } From rwestrel at redhat.com Fri Nov 9 08:51:31 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 09 Nov 2018 09:51:31 +0100 Subject: RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() In-Reply-To: References: Message-ID: > Removing the last remaining diff in arraycopynode.cpp doesn't seem to be > problematic, and I can't see why it should matter. Roland? Any idea? Can > we remove it? I'm surprise it never triggers. Let me check. Roland. From rwestrel at redhat.com Fri Nov 9 09:21:28 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 09 Nov 2018 10:21:28 +0100 Subject: RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() In-Reply-To: References: Message-ID: > Removing the last remaining diff in arraycopynode.cpp doesn't seem to be > problematic, and I can't see why it should matter. Roland? Any idea? Can > we remove it? It's not needed anymore AFAICT. Roland. From roman at kennke.org Fri Nov 9 09:31:47 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 09 Nov 2018 09:31:47 +0000 Subject: hg: shenandoah/jdk: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() Message-ID: <201811090931.wA99VlrZ020154@aojmv0008.oracle.com> Changeset: 01ff5b5f0dd4 Author: rkennke Date: 2018-11-08 19:17 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/01ff5b5f0dd4 Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() ! src/hotspot/share/opto/arraycopynode.cpp From roman at kennke.org Fri Nov 9 10:22:25 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 09 Nov 2018 10:22:25 +0000 Subject: hg: shenandoah/jdk: Added tag shenandoah-jdk-12+19 for changeset 01ff5b5f0dd4 Message-ID: <201811091022.wA9AMPNl010921@aojmv0008.oracle.com> Changeset: 4c9fd7689811 Author: rkennke Date: 2018-11-09 11:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4c9fd7689811 Added tag shenandoah-jdk-12+19 for changeset 01ff5b5f0dd4 ! .hgtags From rkennke at redhat.com Fri Nov 9 10:35:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 9 Nov 2018 11:35:24 +0100 Subject: RFR: Revert commented out Op_CompareAndSwapB/Op_CompareAndSwapS in aarch64.ad Message-ID: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> Apparently I made a mistake and commented out Op_CompareAndSwapB and Op_CompareAndSwapS in aarch64.ad. Let's revert it to upstream state. diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad --- a/src/hotspot/cpu/aarch64/aarch64.ad +++ b/src/hotspot/cpu/aarch64/aarch64.ad @@ -1276,10 +1276,10 @@ case Op_CompareAndSwapL: case Op_CompareAndSwapP: case Op_CompareAndSwapN: + case Op_CompareAndSwapB: + case Op_CompareAndSwapS: case Op_ShenandoahCompareAndSwapP: case Op_ShenandoahCompareAndSwapN: - // case Op_CompareAndSwapB: - // case Op_CompareAndSwapS: case Op_GetAndSetI: case Op_GetAndSetL: case Op_GetAndSetP: From rwestrel at redhat.com Fri Nov 9 10:39:11 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 09 Nov 2018 11:39:11 +0100 Subject: RFR: Revert commented out Op_CompareAndSwapB/Op_CompareAndSwapS in aarch64.ad In-Reply-To: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> References: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> Message-ID: > Apparently I made a mistake and commented out Op_CompareAndSwapB and > Op_CompareAndSwapS in aarch64.ad. Let's revert it to upstream state. I don't think that's sufficient. Given I made those changes upstream, let me take care of that. Roland. From shade at redhat.com Fri Nov 9 10:41:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 11:41:17 +0100 Subject: RFR: Revert commented out Op_CompareAndSwapB/Op_CompareAndSwapS in aarch64.ad In-Reply-To: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> References: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> Message-ID: <65d35e4a-eafe-eb77-10eb-98a87b62a6bc@redhat.com> On 11/09/2018 11:35 AM, Roman Kennke wrote: > Apparently I made a mistake and commented out Op_CompareAndSwapB and > Op_CompareAndSwapS in aarch64.ad. Let's revert it to upstream state. > > diff --git a/src/hotspot/cpu/aarch64/aarch64.ad > b/src/hotspot/cpu/aarch64/aarch64.ad > --- a/src/hotspot/cpu/aarch64/aarch64.ad > +++ b/src/hotspot/cpu/aarch64/aarch64.ad > @@ -1276,10 +1276,10 @@ > case Op_CompareAndSwapL: > case Op_CompareAndSwapP: > case Op_CompareAndSwapN: > + case Op_CompareAndSwapB: > + case Op_CompareAndSwapS: > case Op_ShenandoahCompareAndSwapP: > case Op_ShenandoahCompareAndSwapN: > - // case Op_CompareAndSwapB: > - // case Op_CompareAndSwapS: > case Op_GetAndSetI: > case Op_GetAndSetL: > case Op_GetAndSetP: Looks good. This look sh/jdk-only, right? -Aleksey From rkennke at redhat.com Fri Nov 9 10:50:02 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 9 Nov 2018 11:50:02 +0100 Subject: RFR: Revert commented out Op_CompareAndSwapB/Op_CompareAndSwapS in aarch64.ad In-Reply-To: References: <0ee567d5-98da-17f3-b395-2e74fde24f43@redhat.com> Message-ID: <17ee1c65-5254-2350-047c-759b12c339cf@redhat.com> >> Apparently I made a mistake and commented out Op_CompareAndSwapB and >> Op_CompareAndSwapS in aarch64.ad. Let's revert it to upstream state. > > I don't think that's sufficient. Given I made those changes upstream, > let me take care of that. Ok, sure. But it really might just be a merge mistake. Better that you check it though. Thanks! Roman From shade at redhat.com Fri Nov 9 11:14:38 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 12:14:38 +0100 Subject: RFR: Fix superfluous and unprotected includes/whitespaces Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/cleanups-14/webrev.01/ Makes sure we only expose the basic Shenandoah headers. Trims down some whitespace changes. Testing: tier1_gc_shenandoah (fastdebug|release) -Aleksey From rkennke at redhat.com Fri Nov 9 11:26:29 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 9 Nov 2018 12:26:29 +0100 Subject: RFR: Fix superfluous and unprotected includes/whitespaces In-Reply-To: References: Message-ID: Great, yes! Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/cleanups-14/webrev.01/ > > Makes sure we only expose the basic Shenandoah headers. Trims down some whitespace changes. > > Testing: tier1_gc_shenandoah (fastdebug|release) > > -Aleksey > From shade at redhat.com Fri Nov 9 11:49:55 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 09 Nov 2018 11:49:55 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811091149.wA9Bntrp020767@aojmv0008.oracle.com> Changeset: 57114d8be613 Author: shade Date: 2018-11-09 12:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/57114d8be613 Fix superfluous and unprotected includes ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/gc/shared/gcTraceTime.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/type.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Changeset: d233fd3089df Author: shade Date: 2018-11-09 12:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d233fd3089df Fix superfluous whitespace changes ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp From rkennke at redhat.com Fri Nov 9 13:33:22 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 9 Nov 2018 14:33:22 +0100 Subject: RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() In-Reply-To: References: Message-ID: <57be76d9-e9ca-f588-6243-554991a3b5cb@redhat.com> >> Removing the last remaining diff in arraycopynode.cpp doesn't seem to be >> problematic, and I can't see why it should matter. Roland? Any idea? Can >> we remove it? > > It's not needed anymore AFAICT. Apparently it is infact needed. I just hit the assert. Let's revert the removal. :-( diff --git a/src/hotspot/share/opto/arraycopynode.cpp b/src/hotspot/share/opto/arraycopynode.cpp --- a/src/hotspot/share/opto/arraycopynode.cpp +++ b/src/hotspot/share/opto/arraycopynode.cpp @@ -497,7 +497,7 @@ } else { if (in(TypeFunc::Control) != ctl) { // we can't return new memory and control from Ideal at parse time - assert(!is_clonebasic(), "added control for clone?"); + assert(!is_clonebasic() || UseShenandoahGC, "added control for clone?"); phase->record_for_igvn(this); return false; } Ok? From rwestrel at redhat.com Fri Nov 9 15:03:06 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 09 Nov 2018 16:03:06 +0100 Subject: RFR: fix barrier elision for atomic operations on aarch64 Message-ID: http://cr.openjdk.java.net/~roland/shenandoah/aarch64-membars-elision2/webrev.00/ From rkennke at redhat.com Fri Nov 9 15:10:32 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 9 Nov 2018 16:10:32 +0100 Subject: RFR: fix barrier elision for atomic operations on aarch64 In-Reply-To: References: Message-ID: Yes! Great, thanks! Roman > > http://cr.openjdk.java.net/~roland/shenandoah/aarch64-membars-elision2/webrev.00/ > From rwestrel at redhat.com Fri Nov 9 15:46:41 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Fri, 09 Nov 2018 15:46:41 +0000 Subject: hg: shenandoah/jdk: fix barrier elision on aarch64 Message-ID: <201811091546.wA9Fkfq4009708@aojmv0008.oracle.com> Changeset: e714a0dd2d52 Author: roland Date: 2018-11-09 16:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e714a0dd2d52 fix barrier elision on aarch64 ! src/hotspot/cpu/aarch64/aarch64.ad ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java From shade at redhat.com Fri Nov 9 19:40:50 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 20:40:50 +0100 Subject: RFR: Fix build failures when Shenandoah is disabled, after #include reshuffles Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/build/include-brooks/webrev.01/ Recent change in includes broke platforms where Shenandoah is disabled. Testing: tier1_gc_shenandoah, build with -shenandoahgc Thanks, -Aleksey From shade at redhat.com Fri Nov 9 19:47:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 20:47:17 +0100 Subject: RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform() In-Reply-To: <57be76d9-e9ca-f588-6243-554991a3b5cb@redhat.com> References: <57be76d9-e9ca-f588-6243-554991a3b5cb@redhat.com> Message-ID: On 11/09/2018 02:33 PM, Roman Kennke wrote: >>> Removing the last remaining diff in arraycopynode.cpp doesn't seem to be >>> problematic, and I can't see why it should matter. Roland? Any idea? Can >>> we remove it? >> >> It's not needed anymore AFAICT. > > > Apparently it is infact needed. I just hit the assert. Let's revert the > removal. :-( > > diff --git a/src/hotspot/share/opto/arraycopynode.cpp > b/src/hotspot/share/opto/arraycopynode.cpp > --- a/src/hotspot/share/opto/arraycopynode.cpp > +++ b/src/hotspot/share/opto/arraycopynode.cpp > @@ -497,7 +497,7 @@ > } else { > if (in(TypeFunc::Control) != ctl) { > // we can't return new memory and control from Ideal at parse time > - assert(!is_clonebasic(), "added control for clone?"); > + assert(!is_clonebasic() || UseShenandoahGC, "added control for > clone?"); > phase->record_for_igvn(this); > return false; > } > > Ok? Please do, I hit it as well. -Aleksey From zgu at redhat.com Fri Nov 9 20:24:36 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 9 Nov 2018 15:24:36 -0500 Subject: RFR: Always copy forward for disjoint arrays Message-ID: For disjoint array copying, it can only copy forward, due to checkcast. For example: a[]: array of Integer b[]: array of Object, but b[0] contains Integer object, and the rest of elements are not Integers. when copy b => a, it expects b[0] is copied to a[0], but aborts afterward, due to incompatible type. If copying backward, none of them are copied. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/disjoint_arraycopy/webrev.00/index.html Test: tier3_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From roman at kennke.org Fri Nov 9 20:30:16 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 09 Nov 2018 20:30:16 +0000 Subject: hg: shenandoah/jdk: Backed out "Remove UseShenandoahGC check in ArrayCopyNode::finish_transform()" Message-ID: <201811092030.wA9KUGOX017643@aojmv0008.oracle.com> Changeset: 8f605e4a7f26 Author: rkennke Date: 2018-11-09 14:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8f605e4a7f26 Backed out "Remove UseShenandoahGC check in ArrayCopyNode::finish_transform()" ! src/hotspot/share/opto/arraycopynode.cpp From shade at redhat.com Fri Nov 9 20:34:24 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 21:34:24 +0100 Subject: RFR: Always copy forward for disjoint arrays In-Reply-To: References: Message-ID: <621c8470-a257-0f76-ab81-5ff766dc7e4d@redhat.com> On 11/09/2018 09:24 PM, Zhengyu Gu wrote: > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/disjoint_arraycopy/webrev.00/index.html Awww. So conjoint copies do not run into this problem, because their types are guaranteed to match, right? Note these are the "disjoint" cases, you can just change them to "should only copy forward, because types may mismatch": b) src < dst, non-intersecting, can copy forward/backward d) src > dst, non-intersecting, can copy forward/backward Otherwise looks good. Any chance for a quick regression test that triggers it? -Aleksey From zgu at redhat.com Fri Nov 9 20:49:33 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 9 Nov 2018 15:49:33 -0500 Subject: RFR: Always copy forward for disjoint arrays In-Reply-To: <621c8470-a257-0f76-ab81-5ff766dc7e4d@redhat.com> References: <621c8470-a257-0f76-ab81-5ff766dc7e4d@redhat.com> Message-ID: On 11/9/18 3:34 PM, Aleksey Shipilev wrote: > On 11/09/2018 09:24 PM, Zhengyu Gu wrote: >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/disjoint_arraycopy/webrev.00/index.html > > Awww. So conjoint copies do not run into this problem, because their types are guaranteed to match, > right? Right! Also made me wonder if you can bypass checkcast for conjoint copies. Note these are the "disjoint" cases, you can just change them to "should only copy forward, > because types may mismatch": Fixed. > > b) src < dst, non-intersecting, can copy forward/backward > d) src > dst, non-intersecting, can copy forward/backward > > Otherwise looks good. > > Any chance for a quick regression test that triggers it? Yep, added Jiri's reproducer. Updated webrev: http://cr.openjdk.java.net/~zgu/shenandoah/disjoint_arraycopy/webrev.01/ Okay? Thanks, -Zhengyu > > -Aleksey > From shade at redhat.com Fri Nov 9 21:43:00 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 22:43:00 +0100 Subject: RFR: Always copy forward for disjoint arrays In-Reply-To: References: <621c8470-a257-0f76-ab81-5ff766dc7e4d@redhat.com> Message-ID: <93d407be-100b-ccc8-0cfb-43c77eaba88f@redhat.com> On 11/09/2018 09:49 PM, Zhengyu Gu wrote: >> Any chance for a quick regression test that triggers it? > > Yep, added Jiri's reproducer. > > Updated webrev: http://cr.openjdk.java.net/~zgu/shenandoah/disjoint_arraycopy/webrev.01/ Thanks! Minor corrections are in this patch, please consider applying it before pushing: http://cr.openjdk.java.net/~shade/shenandoah/shade-ac-fixes-1.patch -Aleksey From shade at redhat.com Fri Nov 9 22:11:53 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 9 Nov 2018 23:11:53 +0100 Subject: RFR: Rename BrooksPointer to ShenandoahBrooksPointer Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/rename-brooksptr/webrev.01/ There is the convention to have Shenandoah-specific files and types to have "Shenandoah" in their names. This changeset renames the major offender to that rule: BrooksPointer. Testing: {x86_64, aarch64} builds, tier1_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri Nov 9 22:35:28 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 09 Nov 2018 23:35:28 +0100 Subject: RFR: Rename BrooksPointer to ShenandoahBrooksPointer In-Reply-To: References: Message-ID: <0DD988FF-9629-4497-8766-170A6B0ADB26@redhat.com> Ok Am 9. November 2018 23:11:53 MEZ schrieb Aleksey Shipilev : >http://cr.openjdk.java.net/~shade/shenandoah/rename-brooksptr/webrev.01/ > >There is the convention to have Shenandoah-specific files and types to >have "Shenandoah" in their >names. This changeset renames the major offender to that rule: >BrooksPointer. > >Testing: {x86_64, aarch64} builds, tier1_gc_shenandoah > >Thanks, >-Aleksey From zgu at redhat.com Fri Nov 9 22:40:22 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Fri, 09 Nov 2018 22:40:22 +0000 Subject: hg: shenandoah/jdk: Always copy forward for disjoint arrays Message-ID: <201811092240.wA9MeMPY015407@aojmv0008.oracle.com> Changeset: 3b2e397608b5 Author: zgu Date: 2018-11-09 17:38 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3b2e397608b5 Always copy forward for disjoint arrays ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp + test/hotspot/jtreg/gc/shenandoah/WrongArrayMember.java From shade at redhat.com Fri Nov 9 23:40:00 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 10 Nov 2018 00:40:00 +0100 Subject: RFR: Fix build failures when Shenandoah is disabled, after #include reshuffles In-Reply-To: References: Message-ID: <028a2bf6-8656-a534-0507-f2b95f8ce81e@redhat.com> On 11/09/2018 08:40 PM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/build/include-brooks/webrev.01/ This probably got missed in barrage of recent reviews. Please take a look. -Aleksey From rkennke at redhat.com Sat Nov 10 10:07:07 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 10 Nov 2018 11:07:07 +0100 Subject: RFR: Fix build failures when Shenandoah is disabled, after #include reshuffles In-Reply-To: <028a2bf6-8656-a534-0507-f2b95f8ce81e@redhat.com> References: <028a2bf6-8656-a534-0507-f2b95f8ce81e@redhat.com> Message-ID: Good! Thanks for reminding! Roman > On 11/09/2018 08:40 PM, Aleksey Shipilev wrote: >> http://cr.openjdk.java.net/~shade/shenandoah/build/include-brooks/webrev.01/ > > This probably got missed in barrage of recent reviews. Please take a look. > > -Aleksey > From shade at redhat.com Sat Nov 10 15:29:44 2018 From: shade at redhat.com (shade at redhat.com) Date: Sat, 10 Nov 2018 15:29:44 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811101529.wAAFTiK4007661@aojmv0008.oracle.com> Changeset: 78eeba61d033 Author: shade Date: 2018-11-10 14:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/78eeba61d033 Fix build failures when Shenandoah is disabled, after #include reshuffles ! src/hotspot/share/asm/assembler.cpp Changeset: b4f04f6f9425 Author: shade Date: 2018-11-10 14:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b4f04f6f9425 Rename BrooksPointer to ShenandoahBrooksPointer ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp - src/hotspot/share/gc/shenandoah/brooksPointer.hpp - src/hotspot/share/gc/shenandoah/brooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp + src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp + src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/opto/type.cpp From shade at redhat.com Sun Nov 11 14:29:06 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 11 Nov 2018 15:29:06 +0100 Subject: RFR [8]: 2018-11-11, Bulk backports to sh/jdk8u Message-ID: <17766470-6356-3481-c524-9d38b2e15aac@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181111/webrev.01/ Includes bugfixes and cleanups from last week: [backport] Remove old code from escape analysis [backport] Cleanup .ad files includes [backport] Make ResourceMark use consistent in ShenandoahCodeRoots [backport] Always copy forward for disjoint arrays (test) [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles [backport] Rename BrooksPointer to ShenandoahBrooksPointer Testing: x86_64 hotspot_tier3_gc_shenandoah {fastdebug|release}, aarch64 build Thanks, -Aleksey From shade at redhat.com Sun Nov 11 14:29:00 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 11 Nov 2018 15:29:00 +0100 Subject: RFR [11]: 2018-11-11, Bulk backports to sh/jdk11 Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181111/webrev.01/ Includes bugfixes and cleanups from last week: [backport] Remove old code from escape analysis [backport] Filter out serviceability tests that not applicable to Shenandoah [backport] Cleanup .ad files includes [backport] Make ResourceMark use consistent in ShenandoahCodeRoots [backport] Fix superfluous and unprotected includes [backport] Fix superfluous whitespace changes [backport] Always copy forward for disjoint arrays [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles [backport] Rename BrooksPointer to ShenandoahBrooksPointer Testing: x86_64 tier3_gc_shenandoah {fastdebug|release}, aarch64 build Thanks, -Aleksey From zgu at redhat.com Mon Nov 12 00:31:30 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Sun, 11 Nov 2018 19:31:30 -0500 Subject: RFR [11]: 2018-11-11, Bulk backports to sh/jdk11 In-Reply-To: References: Message-ID: <6c277d2a-ff8e-901a-5b06-eb4483980af5@redhat.com> Good to me. Thanks, -Zhengyu On 11/11/18 9:29 AM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181111/webrev.01/ > > Includes bugfixes and cleanups from last week: > > [backport] Remove old code from escape analysis > [backport] Filter out serviceability tests that not applicable to Shenandoah > [backport] Cleanup .ad files includes > [backport] Make ResourceMark use consistent in ShenandoahCodeRoots > [backport] Fix superfluous and unprotected includes > [backport] Fix superfluous whitespace changes > [backport] Always copy forward for disjoint arrays > [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles > [backport] Rename BrooksPointer to ShenandoahBrooksPointer > > Testing: x86_64 tier3_gc_shenandoah {fastdebug|release}, aarch64 build > > Thanks, > -Aleksey > From zgu at redhat.com Mon Nov 12 00:31:40 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Sun, 11 Nov 2018 19:31:40 -0500 Subject: RFR [8]: 2018-11-11, Bulk backports to sh/jdk8u In-Reply-To: <17766470-6356-3481-c524-9d38b2e15aac@redhat.com> References: <17766470-6356-3481-c524-9d38b2e15aac@redhat.com> Message-ID: <0f44eecd-914f-c909-298d-e522a93e2d62@redhat.com> Good. -Zhengyu On 11/11/18 9:29 AM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181111/webrev.01/ > > Includes bugfixes and cleanups from last week: > > [backport] Remove old code from escape analysis > [backport] Cleanup .ad files includes > [backport] Make ResourceMark use consistent in ShenandoahCodeRoots > [backport] Always copy forward for disjoint arrays (test) > [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles > [backport] Rename BrooksPointer to ShenandoahBrooksPointer > > Testing: x86_64 hotspot_tier3_gc_shenandoah {fastdebug|release}, aarch64 build > > Thanks, > -Aleksey > From rwestrel at redhat.com Mon Nov 12 09:25:33 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 12 Nov 2018 10:25:33 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 In-Reply-To: References: Message-ID: > Let me take another look at this one. I have to figure out why it's > needed again. I thought some more about whether this could be upstreamed > even though it's shenandoah and I may give it a try. I ran a bunch of tests without that change and nothing broke. Let's remove it. We can add it back if needed: http://cr.openjdk.java.net/~roland/shenandoah/undo-superword/webrev.00/ Roland. From rkennke at redhat.com Mon Nov 12 09:31:51 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 10:31:51 +0100 Subject: RFR [11]: 2018-11-11, Bulk backports to sh/jdk11 In-Reply-To: References: Message-ID: Ok. Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181111/webrev.01/ > > Includes bugfixes and cleanups from last week: > > [backport] Remove old code from escape analysis > [backport] Filter out serviceability tests that not applicable to Shenandoah > [backport] Cleanup .ad files includes > [backport] Make ResourceMark use consistent in ShenandoahCodeRoots > [backport] Fix superfluous and unprotected includes > [backport] Fix superfluous whitespace changes > [backport] Always copy forward for disjoint arrays > [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles > [backport] Rename BrooksPointer to ShenandoahBrooksPointer > > Testing: x86_64 tier3_gc_shenandoah {fastdebug|release}, aarch64 build > > Thanks, > -Aleksey > From rkennke at redhat.com Mon Nov 12 09:32:13 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 10:32:13 +0100 Subject: RFR [8]: 2018-11-11, Bulk backports to sh/jdk8u In-Reply-To: <17766470-6356-3481-c524-9d38b2e15aac@redhat.com> References: <17766470-6356-3481-c524-9d38b2e15aac@redhat.com> Message-ID: <4ed4c06a-d7c7-0b5d-6cf0-ce511fab8f46@redhat.com> Ok. Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181111/webrev.01/ > > Includes bugfixes and cleanups from last week: > > [backport] Remove old code from escape analysis > [backport] Cleanup .ad files includes > [backport] Make ResourceMark use consistent in ShenandoahCodeRoots > [backport] Always copy forward for disjoint arrays (test) > [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles > [backport] Rename BrooksPointer to ShenandoahBrooksPointer > > Testing: x86_64 hotspot_tier3_gc_shenandoah {fastdebug|release}, aarch64 build > > Thanks, > -Aleksey > From rkennke at redhat.com Mon Nov 12 10:00:48 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 11:00:48 +0100 Subject: RFR: Extract Shenandoah superword check into ShenandoahBarrierSetC2 In-Reply-To: References: Message-ID: <8cd3cc25-0080-8829-b300-868f344402f7@redhat.com> > >> Let me take another look at this one. I have to figure out why it's >> needed again. I thought some more about whether this could be upstreamed >> even though it's shenandoah and I may give it a try. > > I ran a bunch of tests without that change and nothing broke. Let's > remove it. We can add it back if needed: > > http://cr.openjdk.java.net/~roland/shenandoah/undo-superword/webrev.00/ > > Roland. Ok. From rwestrel at redhat.com Mon Nov 12 10:24:22 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Mon, 12 Nov 2018 10:24:22 +0000 Subject: hg: shenandoah/jdk: undo superword change for shenandoah Message-ID: <201811121024.wACAOMki004332@aojmv0008.oracle.com> Changeset: adeae7d67375 Author: roland Date: 2018-11-12 10:20 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/adeae7d67375 undo superword change for shenandoah ! src/hotspot/share/opto/superword.cpp From shade at redhat.com Mon Nov 12 10:59:36 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 12 Nov 2018 10:59:36 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 6 new changesets Message-ID: <201811121059.wACAxasQ021633@aojmv0008.oracle.com> Changeset: 59eeb51f52af Author: rkennke Date: 2018-11-05 14:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/59eeb51f52af [backport] Remove old code from escape analysis ! src/share/vm/opto/escape.cpp Changeset: 966f2f2f0aa3 Author: shade Date: 2018-11-08 11:04 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/966f2f2f0aa3 [backport] Cleanup .ad files includes ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/x86/vm/x86_64.ad Changeset: e20e4da128f1 Author: rkennke Date: 2018-11-08 17:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e20e4da128f1 [backport] Make ResourceMark use consistent in ShenandoahCodeRoots ! src/share/vm/gc_implementation/shenandoah/shenandoahCodeRoots.cpp Changeset: eb767f51f5b9 Author: zgu Date: 2018-11-09 17:38 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/eb767f51f5b9 [backport] Always copy forward for disjoint arrays (test) + test/gc/shenandoah/WrongArrayMember.java Changeset: 9b41b9a04c31 Author: shade Date: 2018-11-10 14:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/9b41b9a04c31 [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles ! src/share/vm/asm/assembler.cpp Changeset: bffbdb3f8f13 Author: shade Date: 2018-11-11 13:20 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/bffbdb3f8f13 [backport] Rename BrooksPointer to ShenandoahBrooksPointer ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/shenandoahBarrierSet_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp ! src/cpu/sparc/vm/shenandoahBarrierSet_sparc.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/shenandoahBarrierSet_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_64.ad ! src/cpu/zero/vm/shenandoahBarrierSet_zero.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciInstanceKlass.cpp - src/share/vm/gc_implementation/shenandoah/brooksPointer.hpp - src/share/vm/gc_implementation/shenandoah/brooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahAsserts.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.inline.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahBrooksPointer.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahStringDedup.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/shenandoahSupport.cpp ! src/share/vm/opto/shenandoahSupport.hpp ! src/share/vm/opto/type.cpp From shade at redhat.com Mon Nov 12 10:59:21 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 12 Nov 2018 10:59:21 +0000 Subject: hg: shenandoah/jdk11: 9 new changesets Message-ID: <201811121059.wACAxMBg021434@aojmv0008.oracle.com> Changeset: 01fd763e5dd1 Author: rkennke Date: 2018-11-05 14:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/01fd763e5dd1 [backport] Remove old code from escape analysis ! src/hotspot/share/opto/escape.cpp Changeset: 9ea56660fc0b Author: zgu Date: 2018-11-06 11:00 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/9ea56660fc0b [backport] Filter out serviceability tests that not applicable to Shenandoah ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCapacityTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest02.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest03.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest02.java Changeset: 91ab325af514 Author: shade Date: 2018-11-08 11:04 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/91ab325af514 [backport] Cleanup .ad files includes ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad Changeset: 342672da40ec Author: rkennke Date: 2018-11-08 17:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/342672da40ec [backport] Make ResourceMark use consistent in ShenandoahCodeRoots ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Changeset: 145609e98304 Author: shade Date: 2018-11-09 12:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/145609e98304 [backport] Fix superfluous and unprotected includes ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/gc/shared/gcTraceTime.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java Changeset: 1e4229c1a99b Author: shade Date: 2018-11-09 12:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/1e4229c1a99b [backport] Fix superfluous whitespace changes ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp Changeset: 9c4bf4a86cd8 Author: zgu Date: 2018-11-09 17:38 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/9c4bf4a86cd8 [backport] Always copy forward for disjoint arrays ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp + test/hotspot/jtreg/gc/shenandoah/WrongArrayMember.java Changeset: c59bbf12fe34 Author: shade Date: 2018-11-10 14:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/c59bbf12fe34 [backport] Fix build failures when Shenandoah is disabled, after #include reshuffles ! src/hotspot/share/asm/assembler.cpp Changeset: d18b500f63bc Author: shade Date: 2018-11-10 14:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/d18b500f63bc [backport] Rename BrooksPointer to ShenandoahBrooksPointer ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp - src/hotspot/share/gc/shenandoah/brooksPointer.hpp - src/hotspot/share/gc/shenandoah/brooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp + src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp + src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/type.cpp From shade at redhat.com Mon Nov 12 12:14:31 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 13:14:31 +0100 Subject: RFR [11]: Fix PCH build failure Message-ID: <97ac7524-2b2f-c1b9-6261-88416437459d@redhat.com> There appears to be a weird header dependency issue somewhere in sh/jdk11. In file included from /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/compiler/compileBroker.cpp:72:0: /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:260:15: error: using typedef-name ?Value? after ?class? start_class(Value) \ ^ /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:320:7: note: in definition of macro ?START_CLASS? class name : AllStatic { \ ^ /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:362:1: note: in expansion of macro ?COMPILER_CLASSES_DO? I did similar fix on aarch64 when doing backports, and it also fixes to be in x86_64. --- a/src/hotspot/cpu/x86/x86_64.ad Sat Nov 10 14:01:20 2018 +0100 +++ b/src/hotspot/cpu/x86/x86_64.ad Mon Nov 12 13:09:03 2018 +0100 @@ -543,7 +543,7 @@ #include "gc/z/zBarrierSetAssembler.hpp" #endif #if INCLUDE_SHENANDOAHGC -#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp" +#include "gc/shenandoah/shenandoahBrooksPointer.hpp" #endif %} Testing: x86_64 PCH/no-PCH build Thanks, -Aleksey From gnu.andrew at redhat.com Mon Nov 12 16:34:06 2018 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 12 Nov 2018 16:34:06 +0000 Subject: PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16 Message-ID: The build of Shenandoah is still broken on s390 (the 31-bit platform) after the latest merge, due to a mismatch in the MAX2 macro: https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3634 The working solution I have for this at present (and used in our latest RPMs & IcedTea release) is to update ShenandoahMinRegionSize and ShenandoahMaxRegionSize to be size_t instead of uintx. This shouldn't make a difference on other platforms where they are the same. It does on s390 where size_t is bigger than uintx. https://cr.openjdk.java.net/~andrew/shenandoah-8/pr3634/webrev.01/ Ok to push to aarch64/shenandoah-jdk8u? And maybe elsewhere? Thanks, -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Web Site: http://fuseyism.com Twitter: https://twitter.com/gnu_andrew_java PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Mon Nov 12 17:03:03 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 18:03:03 +0100 Subject: PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16 In-Reply-To: References: Message-ID: <4e0df8ae-54eb-f77d-f7ed-5de7afd8b772@redhat.com> On 11/12/2018 05:34 PM, Andrew Hughes wrote: > The build of Shenandoah is still broken on s390 (the 31-bit platform) > after the latest merge, due to a mismatch in the MAX2 macro: > > https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3634 > > The working solution I have for this at present (and used in our > latest RPMs & IcedTea release) is to update ShenandoahMinRegionSize > and ShenandoahMaxRegionSize to be size_t instead of uintx. This > shouldn't make a difference on other platforms where they are the > same. It does on s390 where size_t is bigger than uintx. > > https://cr.openjdk.java.net/~andrew/shenandoah-8/pr3634/webrev.01/ I think this would not work without: https://bugs.openjdk.java.net/browse/JDK-8054823 If you run Shenandoah tests with patch right now, then gc/shenandoah/options/TestRegionSizeArgs.java would fail with "Improperly specified VM option 'ShenandoahMinRegionSize=255K" In other words, we have to keep it uintx, and cast where appropriate. For example, like this: # HG changeset patch # User shade # Date 1542042122 -3600 # Mon Nov 12 18:02:02 2018 +0100 # Node ID d215450bcdcad401497f2269f9448104ac483b29 # Parent bffbdb3f8f1354f92a16913ee55ce8d507ce8474 Cast Shenandoah{Min,Max}RegionSize to size_t diff -r bffbdb3f8f13 -r d215450bcdca src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Sun Nov 11 13:20:44 2018 +0100 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Mon Nov 12 18:02:02 2018 +0100 @@ -508,8 +508,8 @@ region_size = max_heap_size / ShenandoahTargetNumRegions; // Now make sure that we don't go over or under our limits. - region_size = MAX2(ShenandoahMinRegionSize, region_size); - region_size = MIN2(ShenandoahMaxRegionSize, region_size); + region_size = MAX2(ShenandoahMinRegionSize, region_size); + region_size = MIN2(ShenandoahMaxRegionSize, region_size); } else { if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) { Can you try if this helps s390? If so, we would push it to sh/jdk8u, and it can then be either cherry-picked to integration repo, or come with the next bulk integration. -Aleksey From shade at redhat.com Mon Nov 12 17:34:33 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 18:34:33 +0100 Subject: RFR [8u]: ShenandoahSATBBufferSize cannot be size_t in 8u Message-ID: <6ae2d73e-ba80-dd1a-e986-0605761d7b20@redhat.com> This is 8u-specific. We cannot have the size_t flag here, because it would not be settable without: https://bugs.openjdk.java.net/browse/JDK-8054823 The attempt to set it would fail with "Improperly specified VM option: -XX:ShenandoahSATBBufferSize=1K". Fix: diff -r d215450bcdca -r 3355d7c81b7b src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Mon Nov 12 18:02:02 2018 +0100 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Mon Nov 12 18:31:06 2018 +0100 @@ -235,7 +235,7 @@ experimental(bool, ShenandoahWriteBarrierCsetTestInIR, true, \ "Perform cset test in IR rather than in the stub") \ \ - experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \ + experimental(intx, ShenandoahSATBBufferSize, 1 * K, \ "Number of entries in an SATB log buffer.") \ \ product_rw(int, ShenandoahRegionSamplingRate, 40, \ Testing: tier1_gc_shenandoah, ad-hoc tests Thanks, -Aleksey From rkennke at redhat.com Mon Nov 12 18:31:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 19:31:33 +0100 Subject: RFR [8u]: ShenandoahSATBBufferSize cannot be size_t in 8u In-Reply-To: <6ae2d73e-ba80-dd1a-e986-0605761d7b20@redhat.com> References: <6ae2d73e-ba80-dd1a-e986-0605761d7b20@redhat.com> Message-ID: Ok. > This is 8u-specific. We cannot have the size_t flag here, because it would not be settable without: > https://bugs.openjdk.java.net/browse/JDK-8054823 > > The attempt to set it would fail with "Improperly specified VM option: -XX:ShenandoahSATBBufferSize=1K". > > Fix: > > diff -r d215450bcdca -r 3355d7c81b7b src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Mon Nov 12 18:02:02 2018 +0100 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Mon Nov 12 18:31:06 2018 +0100 > @@ -235,7 +235,7 @@ > experimental(bool, ShenandoahWriteBarrierCsetTestInIR, true, \ > "Perform cset test in IR rather than in the stub") \ > \ > - experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \ > + experimental(intx, ShenandoahSATBBufferSize, 1 * K, \ > "Number of entries in an SATB log buffer.") \ > \ > product_rw(int, ShenandoahRegionSamplingRate, 40, \ > > > Testing: tier1_gc_shenandoah, ad-hoc tests > > Thanks, > -Aleksey > From rkennke at redhat.com Mon Nov 12 18:37:51 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 19:37:51 +0100 Subject: RFR [11]: Fix PCH build failure In-Reply-To: <97ac7524-2b2f-c1b9-6261-88416437459d@redhat.com> References: <97ac7524-2b2f-c1b9-6261-88416437459d@redhat.com> Message-ID: Ok. Roman > There appears to be a weird header dependency issue somewhere in sh/jdk11. > > In file included from > /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/compiler/compileBroker.cpp:72:0: > /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:260:15: > error: using typedef-name ?Value? after ?class? > start_class(Value) \ > ^ > /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:320:7: > note: in definition of macro ?START_CLASS? > class name : AllStatic { \ > ^ > /home/jenkins/workspace/nightly/shenandoah-jdk11/src/hotspot/share/jvmci/jvmciJavaClasses.hpp:362:1: > note: in expansion of macro ?COMPILER_CLASSES_DO? > > I did similar fix on aarch64 when doing backports, and it also fixes to be in x86_64. > > --- a/src/hotspot/cpu/x86/x86_64.ad Sat Nov 10 14:01:20 2018 +0100 > +++ b/src/hotspot/cpu/x86/x86_64.ad Mon Nov 12 13:09:03 2018 +0100 > @@ -543,7 +543,7 @@ > #include "gc/z/zBarrierSetAssembler.hpp" > #endif > #if INCLUDE_SHENANDOAHGC > -#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp" > +#include "gc/shenandoah/shenandoahBrooksPointer.hpp" > #endif > %} > > Testing: x86_64 PCH/no-PCH build > > Thanks, > -Aleksey > From shade at redhat.com Mon Nov 12 18:43:41 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 12 Nov 2018 18:43:41 +0000 Subject: hg: shenandoah/jdk8u/hotspot: ShenandoahSATBBufferSize cannot be size_t in 8u Message-ID: <201811121843.wACIhfO6009949@aojmv0008.oracle.com> Changeset: dd55274df3b3 Author: shade Date: 2018-11-12 19:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/dd55274df3b3 ShenandoahSATBBufferSize cannot be size_t in 8u ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp From shade at redhat.com Mon Nov 12 18:43:59 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 12 Nov 2018 18:43:59 +0000 Subject: hg: shenandoah/jdk11: Fix PCH build failure Message-ID: <201811121843.wACIhxde010038@aojmv0008.oracle.com> Changeset: 90786d76b273 Author: shade Date: 2018-11-12 13:09 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/90786d76b273 Fix PCH build failure ! src/hotspot/cpu/x86/x86_64.ad From rkennke at redhat.com Mon Nov 12 21:36:14 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 22:36:14 +0100 Subject: RFR: Cherry-pick: 8213199: GC abstraction for Assembler::needs_explicit_null_check() plus Shenandoah parts Message-ID: In preparation for next upstream merge (reduce conflicts and headaches sorting it out), this cherry picks "8213199: GC abstraction for Assembler::needs_explicit_null_check()" plus the corresponding Zero fixes by Aleksey (JDK-8213711) and adds the Shenandoah parts. http://cr.openjdk.java.net/~rkennke/JDK-8213199-shenandoah/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From shade at redhat.com Mon Nov 12 21:53:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 22:53:43 +0100 Subject: RFR: Cherry-pick: 8213199: GC abstraction for Assembler::needs_explicit_null_check() plus Shenandoah parts In-Reply-To: References: Message-ID: <7f89a647-57ce-c1f8-9788-6150fa6505a7@redhat.com> On 11/12/2018 10:36 PM, Roman Kennke wrote: > In preparation for next upstream merge (reduce conflicts and headaches > sorting it out), this cherry picks "8213199: GC abstraction for > Assembler::needs_explicit_null_check()" plus the corresponding Zero > fixes by Aleksey (JDK-8213711) and adds the Shenandoah parts. > > http://cr.openjdk.java.net/~rkennke/JDK-8213199-shenandoah/webrev.00/ OK. I think there are trailing newline differences in: src/hotspot/cpu/arm/macroAssembler_arm.hpp src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp -Aleksey From rkennke at redhat.com Mon Nov 12 21:56:50 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 22:56:50 +0100 Subject: RFR: Cherry-pick: 8213199: GC abstraction for Assembler::needs_explicit_null_check() plus Shenandoah parts In-Reply-To: <7f89a647-57ce-c1f8-9788-6150fa6505a7@redhat.com> References: <7f89a647-57ce-c1f8-9788-6150fa6505a7@redhat.com> Message-ID: <1eae0a9a-5f37-b2eb-5027-3a266b3b4794@redhat.com> >> In preparation for next upstream merge (reduce conflicts and headaches >> sorting it out), this cherry picks "8213199: GC abstraction for >> Assembler::needs_explicit_null_check()" plus the corresponding Zero >> fixes by Aleksey (JDK-8213711) and adds the Shenandoah parts. >> >> http://cr.openjdk.java.net/~rkennke/JDK-8213199-shenandoah/webrev.00/ > > OK. > > I think there are trailing newline differences in: > src/hotspot/cpu/arm/macroAssembler_arm.hpp > src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp > src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp I did a straight hg qimport and those files did not conflict or anything, how would that have happened? The orginal patch includes the same trailing newline removals: http://hg.openjdk.java.net/jdk/jdk/rev/4ad404da0088 Roman From rkennke at redhat.com Mon Nov 12 22:01:37 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 23:01:37 +0100 Subject: RFR: Cherry-pick: 8213473: Replace testB_mem_imm matcher with testUB_mem_imm plus Shenandoah parts Message-ID: This seems an obvious fix in hindsight, but somehow we did not originally make it ;-) In order to reduce mess when merging from upstream, I'd like to cherry-pick "8213473: Replace testB_mem_imm matcher with testUB_mem_imm" and remove the Shenandoah parts from mulnode.cpp Testing: tier3_gc_shenandoah Ok? From shade at redhat.com Mon Nov 12 22:00:41 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 23:00:41 +0100 Subject: RFR: Cherry-pick: 8213199: GC abstraction for Assembler::needs_explicit_null_check() plus Shenandoah parts In-Reply-To: <1eae0a9a-5f37-b2eb-5027-3a266b3b4794@redhat.com> References: <7f89a647-57ce-c1f8-9788-6150fa6505a7@redhat.com> <1eae0a9a-5f37-b2eb-5027-3a266b3b4794@redhat.com> Message-ID: <9b4c0600-2910-ccd7-e807-e2e58f4a4656@redhat.com> On 11/12/2018 10:56 PM, Roman Kennke wrote: >>> In preparation for next upstream merge (reduce conflicts and headaches >>> sorting it out), this cherry picks "8213199: GC abstraction for >>> Assembler::needs_explicit_null_check()" plus the corresponding Zero >>> fixes by Aleksey (JDK-8213711) and adds the Shenandoah parts. >>> >>> http://cr.openjdk.java.net/~rkennke/JDK-8213199-shenandoah/webrev.00/ >> >> OK. >> >> I think there are trailing newline differences in: >> src/hotspot/cpu/arm/macroAssembler_arm.hpp >> src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp >> src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp > > I did a straight hg qimport and those files did not conflict or > anything, how would that have happened? The orginal patch includes the > same trailing newline removals: > > http://hg.openjdk.java.net/jdk/jdk/rev/4ad404da0088 Looks to me, these are legit whitespace changes that are coming from upstream. So, we are fine with cherry-picking the patch. -Aleksey From shade at redhat.com Mon Nov 12 22:03:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 23:03:43 +0100 Subject: RFR: Cherry-pick: 8213473: Replace testB_mem_imm matcher with testUB_mem_imm plus Shenandoah parts In-Reply-To: References: Message-ID: <109d01c8-fbf6-21da-63bf-ada1fef0c9f6@redhat.com> On 11/12/2018 11:01 PM, Roman Kennke wrote: > This seems an obvious fix in hindsight, but somehow we did not > originally make it ;-) > > In order to reduce mess when merging from upstream, I'd like to > cherry-pick "8213473: Replace testB_mem_imm matcher with testUB_mem_imm" > and remove the Shenandoah parts from mulnode.cpp > > Testing: tier3_gc_shenandoah OK, it should go as separate changeset not because it reduces merge load, but because it needs to be backported. -Aleksey From roman at kennke.org Mon Nov 12 22:09:56 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 12 Nov 2018 22:09:56 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811122209.wACM9v55018533@aojmv0008.oracle.com> Changeset: 1efb74f94b40 Author: rkennke Date: 2018-11-08 23:31 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1efb74f94b40 Cherry-pick: 8213199: GC abstraction for Assembler::needs_explicit_null_check() plus Shenandoah parts ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/zero/assembler_zero.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Changeset: 939b8d51b0e7 Author: rkennke Date: 2018-11-09 10:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/939b8d51b0e7 Cherry-pick: 8213473: Replace testB_mem_imm matcher with testUB_mem_imm plus Shenandoah parts ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/mulnode.cpp From rkennke at redhat.com Mon Nov 12 22:42:20 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 12 Nov 2018 23:42:20 +0100 Subject: RFR: Cherry-pick: 8213489: GC/C2 abstraction for Compile::final_graph_reshaping() plus Shenandoah parts Message-ID: <5522c569-eb43-fb68-fa4e-038b543dab6a@redhat.com> In preparation and to ease next upstream merge, I'd like to cherry-pick "8213489: GC/C2 abstraction for Compile::final_graph_reshaping()" and the corresponding Shenandoah parts. This is a particularily nasty one to merge because it doesn't actually conflict and would compile just fine, yet leave all the Shenandoah parts in shared code. http://cr.openjdk.java.net/~rkennke/JDK-8213489-shenandoah/webrev.00/ Passes tier3_gc_shenandoah OK? Roman From shade at redhat.com Mon Nov 12 22:44:55 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 12 Nov 2018 23:44:55 +0100 Subject: RFR: Cherry-pick: 8213489: GC/C2 abstraction for Compile::final_graph_reshaping() plus Shenandoah parts In-Reply-To: <5522c569-eb43-fb68-fa4e-038b543dab6a@redhat.com> References: <5522c569-eb43-fb68-fa4e-038b543dab6a@redhat.com> Message-ID: On 11/12/2018 11:42 PM, Roman Kennke wrote: > In preparation and to ease next upstream merge, I'd like to cherry-pick > "8213489: GC/C2 abstraction for Compile::final_graph_reshaping()" and > the corresponding Shenandoah parts. > > This is a particularily nasty one to merge because it doesn't actually > conflict and would compile just fine, yet leave all the Shenandoah parts > in shared code. > > http://cr.openjdk.java.net/~rkennke/JDK-8213489-shenandoah/webrev.00/ OK. -Aleksey From roman at kennke.org Mon Nov 12 22:56:12 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 12 Nov 2018 22:56:12 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8213489: GC/C2 abstraction for Compile::final_graph_reshaping() plus Shenandoah parts Message-ID: <201811122256.wACMuCY8007901@aojmv0008.oracle.com> Changeset: 196048166f09 Author: rkennke Date: 2018-11-09 10:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/196048166f09 Cherry-pick: 8213489: GC/C2 abstraction for Compile::final_graph_reshaping() plus Shenandoah parts ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp From rkennke at redhat.com Mon Nov 12 23:45:41 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 13 Nov 2018 00:45:41 +0100 Subject: RFR: Cherry-pick: 8213473: Replace testB_mem_imm matcher with testUB_mem_imm plus Shenandoah parts In-Reply-To: <109d01c8-fbf6-21da-63bf-ada1fef0c9f6@redhat.com> References: <109d01c8-fbf6-21da-63bf-ada1fef0c9f6@redhat.com> Message-ID: <6b6ee201-62d6-c1ac-086b-7f15d3f1bf61@redhat.com> >> This seems an obvious fix in hindsight, but somehow we did not >> originally make it ;-) >> >> In order to reduce mess when merging from upstream, I'd like to >> cherry-pick "8213473: Replace testB_mem_imm matcher with testUB_mem_imm" >> and remove the Shenandoah parts from mulnode.cpp >> >> Testing: tier3_gc_shenandoah > > OK, it should go as separate changeset not because it reduces merge load, but because it needs to be > backported. Yes. But notice that the change opens the optimization that was previously strictly only applicable to Shenandoah's gc-state-load (other code would never match because of the transformation to LoadUB), to all sorts of Java-level constructs that would now receive the same treatment. I'd say the risk is fairly low, but we should consider if we really want this in backports. Roman From rkennke at redhat.com Tue Nov 13 12:22:26 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 13 Nov 2018 13:22:26 +0100 Subject: RFR: Quick-fix C1 assert with cherry-picked "8213199: GC abstraction for Assembler::needs_explicit_null_check()" Message-ID: <8b56df4b-0568-2c42-cf16-7e9e1380a088@redhat.com> Yesterday I cherry-picked "8213199: GC abstraction for Assembler::needs_explicit_null_check()". However, there is a problem with this patch: for code that needs patching, it uses offset=-1 and it is expected to return true for needs_explict_null_check(). However, since we're checking the *range* [-8..page_size) in Shenandoah, this would result in needs_explicit_null_check=false and later on fail in funny ways like the assert that we have seen in specjvm. A quick-fix is: diff --git a/src/hotspot/share/asm/assembler.cpp b/src/hotspot/share/asm/assembler.cpp --- a/src/hotspot/share/asm/assembler.cpp +++ b/src/hotspot/share/asm/assembler.cpp @@ -334,6 +334,7 @@ bool MacroAssembler::needs_explicit_null_check(intptr_t offset) { // Check if offset is outside of [-cell_header_size, os::vm_page_size) + if (offset == -1) return true; return offset < -Universe::heap()->cell_header_size() || offset >= os::vm_page_size(); } I am also discussing it upstream and come up with a proper fix, until then we should push this. OK? Testing: tier3_gc_shenandoah plus spot-testing the specjvm test that failed before Roman From shade at redhat.com Tue Nov 13 12:28:06 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 13 Nov 2018 13:28:06 +0100 Subject: RFR: Quick-fix C1 assert with cherry-picked "8213199: GC abstraction for Assembler::needs_explicit_null_check()" In-Reply-To: <8b56df4b-0568-2c42-cf16-7e9e1380a088@redhat.com> References: <8b56df4b-0568-2c42-cf16-7e9e1380a088@redhat.com> Message-ID: <889a92c7-1ab2-f6ca-2f76-8150d559723f@redhat.com> On 11/13/2018 01:22 PM, Roman Kennke wrote: > Yesterday I cherry-picked "8213199: GC abstraction for > Assembler::needs_explicit_null_check()". However, there is a problem > with this patch: for code that needs patching, it uses offset=-1 and it > is expected to return true for needs_explict_null_check(). However, > since we're checking the *range* [-8..page_size) in Shenandoah, this > would result in needs_explicit_null_check=false and later on fail in > funny ways like the assert that we have seen in specjvm. > > A quick-fix is: > diff --git a/src/hotspot/share/asm/assembler.cpp > b/src/hotspot/share/asm/assembler.cpp > --- a/src/hotspot/share/asm/assembler.cpp > +++ b/src/hotspot/share/asm/assembler.cpp > @@ -334,6 +334,7 @@ > > bool MacroAssembler::needs_explicit_null_check(intptr_t offset) { > // Check if offset is outside of [-cell_header_size, os::vm_page_size) > + if (offset == -1) return true; > return offset < -Universe::heap()->cell_header_size() || > offset >= os::vm_page_size(); > } > > > I am also discussing it upstream and come up with a proper fix, until > then we should push this. OK? Yeah, but please put the comment why this check is there, e.g.: // Patching code expects to return true for "special" offsets like -1. -Aleksey From roman at kennke.org Tue Nov 13 12:30:18 2018 From: roman at kennke.org (roman at kennke.org) Date: Tue, 13 Nov 2018 12:30:18 +0000 Subject: hg: shenandoah/jdk: Quick-fix C1 assert with cherry-picked '8213199: GC abstraction for Assembler::needs_explicit_null_check()' Message-ID: <201811131230.wADCUIUZ004457@aojmv0008.oracle.com> Changeset: 2c13e3e13775 Author: rkennke Date: 2018-11-13 13:30 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2c13e3e13775 Quick-fix C1 assert with cherry-picked '8213199: GC abstraction for Assembler::needs_explicit_null_check()' ! src/hotspot/share/asm/assembler.cpp From rwestrel at redhat.com Tue Nov 13 14:21:53 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 13 Nov 2018 15:21:53 +0100 Subject: RFR: remove useless change from ifnode.cpp Message-ID: http://cr.openjdk.java.net/~roland/shenandoah/revert-ifnode-change/webrev.00/ MultiNode::proj_out() asserts the returned value is not null so the check in ifnode.cpp is dead code. Roland. From shade at redhat.com Tue Nov 13 14:29:48 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 13 Nov 2018 15:29:48 +0100 Subject: RFR: remove useless change from ifnode.cpp In-Reply-To: References: Message-ID: <266af7b8-e758-2f95-7c6e-9c0e43e66dbd@redhat.com> On 11/13/2018 03:21 PM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/shenandoah/revert-ifnode-change/webrev.00/ > > MultiNode::proj_out() asserts the returned value is not null so the > check in ifnode.cpp is dead code. Looks good. -Aleksey From rwestrel at redhat.com Tue Nov 13 14:43:55 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Tue, 13 Nov 2018 14:43:55 +0000 Subject: hg: shenandoah/jdk: undo useless ifnode.cpp change Message-ID: <201811131443.wADEhuu6015459@aojmv0008.oracle.com> Changeset: 51cbe99eb8f4 Author: roland Date: 2018-11-13 15:00 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/51cbe99eb8f4 undo useless ifnode.cpp change ! src/hotspot/share/opto/ifnode.cpp From rkennke at redhat.com Tue Nov 13 16:57:41 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 13 Nov 2018 17:57:41 +0100 Subject: RFR: Clean up leftovers from type.cpp Message-ID: <484a5f77-5677-41cd-73c2-3c5cf26ad1ca@redhat.com> http://cr.openjdk.java.net/~rkennke/cleanup-type-cpp/webrev.00/ From rkennke at redhat.com Tue Nov 13 16:59:02 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 13 Nov 2018 17:59:02 +0100 Subject: RFR: Clean up leftovers from type.cpp In-Reply-To: <484a5f77-5677-41cd-73c2-3c5cf26ad1ca@redhat.com> References: <484a5f77-5677-41cd-73c2-3c5cf26ad1ca@redhat.com> Message-ID: This went out too early. I meant to say that I wanted to do this cleanup when I merged: http://hg.openjdk.java.net/jdk/jdk/rev/6082c529aed8 but then forgot. We don't need this checks anymore because when we get there it can't be Shenandoah barrier because of stricter check above: - if (_offset != 0) { + if (_offset > 0 || _offset == Type::OffsetTop || _offset == Type::OffsetBot) { > http://cr.openjdk.java.net/~rkennke/cleanup-type-cpp/webrev.00/ Ok? Roman From zgu at redhat.com Tue Nov 13 21:25:50 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 13 Nov 2018 16:25:50 -0500 Subject: RFR: ShenandoahMemoryPool should support usage threshold Message-ID: <66c796f4-b4a4-19eb-98fc-5ae16448d1a6@redhat.com> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/mpool_usage_threshold/webrev.00/ Support usage threshold to enable MBean java.management.memory.threshold.exceeded notification and to pass vmTestbase/nsk/monitoring/MemoryNotificationInfo/from/from001/TestDescription.java test, which will, otherwise, timed out. The above test registers notification listener to MBean and expects to receive java.management.memory.threshold.exceeded notification. Without usage threshold support on VM side, will cause the test to wait forever, until timeout. Test: tier3_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Tue Nov 13 21:58:29 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 13 Nov 2018 22:58:29 +0100 Subject: RFR: ShenandoahMemoryPool should support usage threshold In-Reply-To: <66c796f4-b4a4-19eb-98fc-5ae16448d1a6@redhat.com> References: <66c796f4-b4a4-19eb-98fc-5ae16448d1a6@redhat.com> Message-ID: <022e263d-b390-c928-cecc-9fac93034dff@redhat.com> Ok! Thanks, Roman > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/mpool_usage_threshold/webrev.00/ > > Support usage threshold to enable MBean > java.management.memory.threshold.exceeded notification and to pass > vmTestbase/nsk/monitoring/MemoryNotificationInfo/from/from001/TestDescription.java > test, which will, otherwise, timed out. > > The above test registers notification listener to MBean and expects to > receive java.management.memory.threshold.exceeded notification. Without > usage threshold support on VM side, will cause the test to wait forever, > until timeout. > > Test: > ? tier3_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu > From zgu at redhat.com Tue Nov 13 22:13:11 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 13 Nov 2018 22:13:11 +0000 Subject: hg: shenandoah/jdk: ShenandoahMemoryPool should support usage threshold Message-ID: <201811132213.wADMDBTh015375@aojmv0008.oracle.com> Changeset: 56a8b1e570b2 Author: zgu Date: 2018-11-13 17:13 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/56a8b1e570b2 ShenandoahMemoryPool should support usage threshold ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp From rwestrel at redhat.com Wed Nov 14 08:32:08 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 14 Nov 2018 09:32:08 +0100 Subject: RFR: Clean up leftovers from type.cpp In-Reply-To: References: <484a5f77-5677-41cd-73c2-3c5cf26ad1ca@redhat.com> Message-ID: >> http://cr.openjdk.java.net/~rkennke/cleanup-type-cpp/webrev.00/ Good. Roland. From roman at kennke.org Wed Nov 14 10:03:30 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 14 Nov 2018 10:03:30 +0000 Subject: hg: shenandoah/jdk: Clean up leftovers from type.cpp Message-ID: <201811141003.wAEA3UfM003201@aojmv0008.oracle.com> Changeset: 94baec816559 Author: rkennke Date: 2018-11-14 11:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/94baec816559 Clean up leftovers from type.cpp ! src/hotspot/share/opto/type.cpp From gnu.andrew at redhat.com Wed Nov 14 15:50:52 2018 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 14 Nov 2018 15:50:52 +0000 Subject: PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16 In-Reply-To: <4e0df8ae-54eb-f77d-f7ed-5de7afd8b772@redhat.com> References: <4e0df8ae-54eb-f77d-f7ed-5de7afd8b772@redhat.com> Message-ID: On Mon, 12 Nov 2018 at 17:03, Aleksey Shipilev wrote: > > On 11/12/2018 05:34 PM, Andrew Hughes wrote: > > The build of Shenandoah is still broken on s390 (the 31-bit platform) > > after the latest merge, due to a mismatch in the MAX2 macro: > > > > https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3634 > > > > The working solution I have for this at present (and used in our > > latest RPMs & IcedTea release) is to update ShenandoahMinRegionSize > > and ShenandoahMaxRegionSize to be size_t instead of uintx. This > > shouldn't make a difference on other platforms where they are the > > same. It does on s390 where size_t is bigger than uintx. > > > > https://cr.openjdk.java.net/~andrew/shenandoah-8/pr3634/webrev.01/ > > I think this would not work without: > https://bugs.openjdk.java.net/browse/JDK-8054823 > > If you run Shenandoah tests with patch right now, then gc/shenandoah/options/TestRegionSizeArgs.java > would fail with "Improperly specified VM option 'ShenandoahMinRegionSize=255K" > > In other words, we have to keep it uintx, and cast where appropriate. For example, like this: > > # HG changeset patch > # User shade > # Date 1542042122 -3600 > # Mon Nov 12 18:02:02 2018 +0100 > # Node ID d215450bcdcad401497f2269f9448104ac483b29 > # Parent bffbdb3f8f1354f92a16913ee55ce8d507ce8474 > Cast Shenandoah{Min,Max}RegionSize to size_t > > diff -r bffbdb3f8f13 -r d215450bcdca src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Sun Nov 11 13:20:44 > 2018 +0100 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp Mon Nov 12 18:02:02 > 2018 +0100 > @@ -508,8 +508,8 @@ > region_size = max_heap_size / ShenandoahTargetNumRegions; > > // Now make sure that we don't go over or under our limits. > - region_size = MAX2(ShenandoahMinRegionSize, region_size); > - region_size = MIN2(ShenandoahMaxRegionSize, region_size); > + region_size = MAX2(ShenandoahMinRegionSize, region_size); > + region_size = MIN2(ShenandoahMaxRegionSize, region_size); > > } else { > if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) { > > Can you try if this helps s390? If so, we would push it to sh/jdk8u, and it can then be either > cherry-picked to integration repo, or come with the next bulk integration. > > -Aleksey > > Yes, it builds with that fix instead. -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Web Site: http://fuseyism.com Twitter: https://twitter.com/gnu_andrew_java 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 Nov 14 15:52:18 2018 From: shade at redhat.com (shade at redhat.com) Date: Wed, 14 Nov 2018 15:52:18 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Cast Shenandoah{Min, Max}RegionSize to size_t Message-ID: <201811141552.wAEFqIci021185@aojmv0008.oracle.com> Changeset: 695d6228c9f7 Author: shade Date: 2018-11-14 16:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/695d6228c9f7 Cast Shenandoah{Min,Max}RegionSize to size_t ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp From shade at redhat.com Wed Nov 14 15:53:04 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 14 Nov 2018 16:53:04 +0100 Subject: PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16 In-Reply-To: References: <4e0df8ae-54eb-f77d-f7ed-5de7afd8b772@redhat.com> Message-ID: <24734a22-26e8-b77c-6b04-babd2b448759@redhat.com> On 11/14/2018 04:50 PM, Andrew Hughes wrote: > Yes, it builds with that fix instead. Pushed: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/695d6228c9f7 Kicked off our builds, let's see if it accidentally breaks some other platform. Thanks, -Aleksey From rkennke at redhat.com Wed Nov 14 15:56:43 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 14 Nov 2018 16:56:43 +0100 Subject: RFR: Enable TLHS by default (again) Message-ID: A while ago we re-enabled TLHS only disable it again because the Serial benchmark with Traversal was hanging. http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-June/006524.html and: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-June/006534.html I tried today, at least 10 times with both release and fastdebug builds, with and without traversal, and it did not hang. I also ran the whole specjvm (with -f3) with adaptive and traversal, plus the tier3_gc_shenandoah release+fastdebug. No problems. Do we want to finally enable TLHS for good? Or do we considere too risky compared to (almost zero immediate) usefulness? It'd allow some more concurrent processing going forward. http://cr.openjdk.java.net/~rkennke/tlhs/webrev.00/ Roman From shade at redhat.com Wed Nov 14 16:00:20 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 14 Nov 2018 17:00:20 +0100 Subject: RFR: Enable TLHS by default (again) In-Reply-To: References: Message-ID: On 11/14/2018 04:56 PM, Roman Kennke wrote: > Do we want to finally enable TLHS for good? Or do we considere too risky > compared to (almost zero immediate) usefulness? It'd allow some more > concurrent processing going forward. I think it is too risky without apparent benefit, at this point. Adding the simple regression test with TLHS specifically enabled would be nice, though. -Aleksey From rkennke at redhat.com Wed Nov 14 16:11:39 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 14 Nov 2018 17:11:39 +0100 Subject: RFR: Enable TLHS by default (again) In-Reply-To: References: Message-ID: <35f47acd-dbb5-662c-1dad-dc71cdce1474@redhat.com> > On 11/14/2018 04:56 PM, Roman Kennke wrote: >> Do we want to finally enable TLHS for good? Or do we considere too risky >> compared to (almost zero immediate) usefulness? It'd allow some more >> concurrent processing going forward. > > I think it is too risky without apparent benefit, at this point. Ok, right. Fair enough. > Adding the simple regression test > with TLHS specifically enabled would be nice, though. The problem with that is that TLHS did work for most code from day 1, the only program that I remember being problematic is serial benchmark, and then only with traversal mode. That hardly qualifies as 'simple regression test' that we could include in our jtreg tests. We could, however, add something to CI that runs this specific setup nightly? In the future, should we have have an actual use-case for TLHS, we could look at those CI jobs and have some confidence that it's now safe to enable TLHS? WDYT? Roman From shade at redhat.com Wed Nov 14 16:14:26 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 14 Nov 2018 17:14:26 +0100 Subject: RFR: Enable TLHS by default (again) In-Reply-To: <35f47acd-dbb5-662c-1dad-dc71cdce1474@redhat.com> References: <35f47acd-dbb5-662c-1dad-dc71cdce1474@redhat.com> Message-ID: <989b386e-fe1e-5870-7f0d-bbdc217c5817@redhat.com> On 11/14/2018 05:11 PM, Roman Kennke wrote: >> Adding the simple regression test >> with TLHS specifically enabled would be nice, though. > > The problem with that is that TLHS did work for most code from day 1, > the only program that I remember being problematic is serial benchmark, > and then only with traversal mode. That hardly qualifies as 'simple > regression test' that we could include in our jtreg tests. We could, > however, add something to CI that runs this specific setup nightly? In > the future, should we have have an actual use-case for TLHS, we could > look at those CI jobs and have some confidence that it's now safe to > enable TLHS? Yeah, we can do that. -Aleksey From zgu at redhat.com Wed Nov 14 19:39:00 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 14 Nov 2018 14:39:00 -0500 Subject: RFR: Shenandoah filter for gc/TestFullGCCount.java test Message-ID: <3a5f7494-5339-d923-9ece-c20d2f0d299e@redhat.com> Shenandoah, by default, sets ExplicitGCInvokesConcurrent = true, which means it runs concurrent GC for System.gc(). We need to filter out the test, unless ExplicitGCInvokesConcurrent is explicitly set to false. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/filter_conc_system_gc/webrev.00/ Test: make CONF=linux-x86_64-server-fastdebug run-test TEST=gc/TestFullGCCount.java JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" and make CONF=linux-x86_64-server-fastdebug run-test TEST=gc/TestFullGCCount.java JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ExplicitGCInvokesConcurrent" Thanks, -Zhengyu From shade at redhat.com Wed Nov 14 19:50:34 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 14 Nov 2018 20:50:34 +0100 Subject: RFR: Shenandoah filter for gc/TestFullGCCount.java test In-Reply-To: <3a5f7494-5339-d923-9ece-c20d2f0d299e@redhat.com> References: <3a5f7494-5339-d923-9ece-c20d2f0d299e@redhat.com> Message-ID: <523975b1-6bb8-8699-1343-50e3a38e9dfd@redhat.com> On 11/14/2018 08:39 PM, Zhengyu Gu wrote: > Shenandoah, by default, sets ExplicitGCInvokesConcurrent = true, which means it runs concurrent GC > for System.gc(). > > We need to filter out the test, unless ExplicitGCInvokesConcurrent is explicitly set to false. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/filter_conc_system_gc/webrev.00/ I think this is one of those rare cases when multiple @requires are better, e.g: * @requires !(vm.gc.ConcMarkSweep & vm.opt.ExplicitGCInvokesConcurrent == true) * @requires !(vm.gc.Shenandoah & vm.opt.ExplicitGCInvokesConcurrent == false) Does this work? -Aleksey From zgu at redhat.com Wed Nov 14 19:53:52 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 14 Nov 2018 14:53:52 -0500 Subject: RFR: Shenandoah filter for gc/TestFullGCCount.java test In-Reply-To: <523975b1-6bb8-8699-1343-50e3a38e9dfd@redhat.com> References: <3a5f7494-5339-d923-9ece-c20d2f0d299e@redhat.com> <523975b1-6bb8-8699-1343-50e3a38e9dfd@redhat.com> Message-ID: <11ae980e-32f5-52e4-de04-bb3907000622@redhat.com> On 11/14/18 2:50 PM, Aleksey Shipilev wrote: > On 11/14/2018 08:39 PM, Zhengyu Gu wrote: >> Shenandoah, by default, sets ExplicitGCInvokesConcurrent = true, which means it runs concurrent GC >> for System.gc(). >> >> We need to filter out the test, unless ExplicitGCInvokesConcurrent is explicitly set to false. >> >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/filter_conc_system_gc/webrev.00/ > > I think this is one of those rare cases when multiple @requires are better, e.g: > > * @requires !(vm.gc.ConcMarkSweep & vm.opt.ExplicitGCInvokesConcurrent == true) > * @requires !(vm.gc.Shenandoah & vm.opt.ExplicitGCInvokesConcurrent == false) > > Does this work? Yep, it works. Will push this one once Roman ack. Thanks, -Zhengyu > > -Aleksey > From rkennke at redhat.com Wed Nov 14 20:07:04 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 14 Nov 2018 21:07:04 +0100 Subject: RFR: Shenandoah filter for gc/TestFullGCCount.java test In-Reply-To: <11ae980e-32f5-52e4-de04-bb3907000622@redhat.com> References: <3a5f7494-5339-d923-9ece-c20d2f0d299e@redhat.com> <523975b1-6bb8-8699-1343-50e3a38e9dfd@redhat.com> <11ae980e-32f5-52e4-de04-bb3907000622@redhat.com> Message-ID: <774aebaa-e8d5-a9bd-801b-1e0d931bdc5f@redhat.com> > On 11/14/18 2:50 PM, Aleksey Shipilev wrote: >> On 11/14/2018 08:39 PM, Zhengyu Gu wrote: >>> Shenandoah, by default, sets ExplicitGCInvokesConcurrent = true, >>> which means it runs concurrent GC >>> for System.gc(). >>> >>> We need to filter out the test, unless ExplicitGCInvokesConcurrent is >>> explicitly set to false. >>> >>> Webrev: >>> http://cr.openjdk.java.net/~zgu/shenandoah/filter_conc_system_gc/webrev.00/ >>> >> >> I think this is one of those rare cases when multiple @requires are >> better, e.g: >> >> ? * @requires !(vm.gc.ConcMarkSweep & >> vm.opt.ExplicitGCInvokesConcurrent == true) >> ? * @requires !(vm.gc.Shenandoah??? & >> vm.opt.ExplicitGCInvokesConcurrent == false) >> >> Does this work? > > Yep, it works. > > Will push this one once Roman ack. Ok. Roman From zgu at redhat.com Wed Nov 14 20:09:07 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 14 Nov 2018 20:09:07 +0000 Subject: hg: shenandoah/jdk: Shenandoah filter for gc/TestFullGCCount.java test Message-ID: <201811142009.wAEK98Vu019633@aojmv0008.oracle.com> Changeset: e758939d97f8 Author: zgu Date: 2018-11-14 15:08 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e758939d97f8 Shenandoah filter for gc/TestFullGCCount.java test ! test/hotspot/jtreg/gc/TestFullGCCount.java From rwestrel at redhat.com Thu Nov 15 08:44:35 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 15 Nov 2018 09:44:35 +0100 Subject: RFR: move logic for post wb expansion optimization out of shared code Message-ID: At the expense of some code duplication, this removes some changes from shared code. http://cr.openjdk.java.net/~roland/shenandoah/post-wb-expand-cleanup/webrev.00/ Roland. From rkennke at redhat.com Thu Nov 15 09:19:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 15 Nov 2018 10:19:24 +0100 Subject: RFR: move logic for post wb expansion optimization out of shared code In-Reply-To: References: Message-ID: <40B26A96-984E-4A93-8924-4F71B934182A@redhat.com> OK. Thanks! Am 15. November 2018 09:44:35 MEZ schrieb Roland Westrelin : > >At the expense of some code duplication, this removes some changes from >shared code. > >http://cr.openjdk.java.net/~roland/shenandoah/post-wb-expand-cleanup/webrev.00/ > >Roland. From rwestrel at redhat.com Thu Nov 15 09:31:32 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Thu, 15 Nov 2018 09:31:32 +0000 Subject: hg: shenandoah/jdk: move loop opts logic for post write barrier expansion opts out of shared code Message-ID: <201811150931.wAF9VWFc016560@aojmv0008.oracle.com> Changeset: 26f3a5f9b818 Author: roland Date: 2018-11-14 16:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/26f3a5f9b818 move loop opts logic for post write barrier expansion opts out of shared code ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp From rkennke at redhat.com Thu Nov 15 10:40:59 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 15 Nov 2018 11:40:59 +0100 Subject: RFR: Upstream merge to jdk-12+20 Message-ID: jdk-12+20 arrived. Let's merge it. Lots of highlights, trivial merge because of cherry-picked changes. http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-15/outgoing.txt Testing: tier3_gc_shenandoah (release/fastdebug) passes Ok? From shade at redhat.com Thu Nov 15 10:44:08 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 11:44:08 +0100 Subject: RFR: Upstream merge to jdk-12+20 In-Reply-To: References: Message-ID: On 11/15/2018 11:40 AM, Roman Kennke wrote: > jdk-12+20 arrived. Let's merge it. Lots of highlights, trivial merge > because of cherry-picked changes. > > http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-15/outgoing.txt OK -Aleksey From roman at kennke.org Thu Nov 15 11:56:37 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 15 Nov 2018 11:56:37 +0000 Subject: hg: shenandoah/jdk: 120 new changesets Message-ID: <201811151156.wAFBuk8a001817@aojmv0008.oracle.com> Changeset: bec2391579f8 Author: erikj Date: 2018-11-07 15:57 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bec2391579f8 8213428: Add a no precompiled header Linux build to builds-tier1 and jdk-submit Reviewed-by: ihse, tbell ! make/conf/jib-profiles.js Changeset: 5b82f10dc823 Author: jwilhelm Date: 2018-11-08 02:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b82f10dc823 Added tag jdk-12+19 for changeset dc1f9dec2018 ! .hgtags Changeset: a1eb4f1b94c1 Author: sspitsyn Date: 2018-11-08 00:07 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a1eb4f1b94c1 8080406: VM_GetOrSetLocal doesn't check local slot type against requested type Summary: Provide possible type checks when LVT is absent Reviewed-by: jcbeyler, cjplummer ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiImpl.hpp + test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetLocalVars.java + test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/libGetLocalVars.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal003/getlocal003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal004/getlocal004.cpp Changeset: 187d16766a63 Author: ihse Date: 2018-11-08 12:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/187d16766a63 8213338: Reduce the number of generated make targets Reviewed-by: erikj ! make/Main.gmk Changeset: 4547f8303f2d Author: simonis Date: 2018-11-08 12:24 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4547f8303f2d 8213515: Improve freetype detection on linux/ppc64/ppc64le/s390x Reviewed-by: shade, ihse, stuefe ! make/autoconf/lib-freetype.m4 Changeset: bc5c7f63dbae Author: dholmes Date: 2018-11-08 07:42 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bc5c7f63dbae 8213137: Remove static initialization of monitor/mutex instances Summary: moved to the global mutex list in mutexLocker Reviewed-by: tschatzl, dcubed, rehn, eosterlund ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/sweeper.cpp ! src/hotspot/share/runtime/sweeper.hpp ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/runtime/threadSMR.hpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/diagnosticFramework.hpp ! src/hotspot/share/utilities/decoder.cpp ! src/hotspot/share/utilities/decoder.hpp Changeset: bac05440d98c Author: roland Date: 2018-11-08 10:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bac05440d98c 8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance" Reviewed-by: thartmann, kvn, shade ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/gcbarriers/EqvUncastStepOverBarrier.java Changeset: 2790da836dc3 Author: rehn Date: 2018-11-08 14:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2790da836dc3 8211403: Rename SafepointMechanism::poll(...) Reviewed-by: mdoerr, dcubed, dholmes ! src/hotspot/cpu/zero/cppInterpreter_zero.cpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/safepointMechanism.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/sweeper.cpp Changeset: 82de990dfa10 Author: bsrbnd Date: 2018-11-08 15:11 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/82de990dfa10 8213479: Missing x86_64.ad patterns for 8-bit logical operators with destination in memory Reviewed-by: kvn ! src/hotspot/cpu/x86/x86_64.ad + test/hotspot/jtreg/compiler/c2/Test8bitLogicalOperators.java Changeset: 3315e47741c7 Author: rehn Date: 2018-11-08 15:31 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3315e47741c7 8209139: globalCounter bootstrap issue Reviewed-by: dcubed, dholmes ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/runtime/threadSMR.hpp ! src/hotspot/share/utilities/globalCounter.cpp Changeset: 6e99148dbf33 Author: eosterlund Date: 2018-11-08 15:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6e99148dbf33 8213411: JDK-8209189 incorrect for Big Endian (JVM crashes) Reviewed-by: kvn, mdoerr ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.cpp Changeset: 9b20fe769046 Author: stuefe Date: 2018-11-08 16:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9b20fe769046 8211845: A new switch to control verbosity of hs-err files Reviewed-by: goetz, mdoerr ! src/hotspot/share/runtime/globals.hpp Changeset: bbbc110cdffe Author: vromero Date: 2018-11-08 10:36 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bbbc110cdffe 8210197: javac can't tell during speculative attribution if a diamond expression is creating an anonymous inner class or not Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/langtools/tools/javac/T8210197/DiamondWithAnonymousInnerClassTest.java Changeset: 90ff0e286a5e Author: chegar Date: 2018-11-08 16:16 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/90ff0e286a5e 8213418: Socket/ServerSocket supportedOptions does not work with custom SocketImpl Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java + test/jdk/java/net/SocketImpl/ImplSupportedOptions.java Changeset: 6954394aa33a Author: kvn Date: 2018-11-08 09:04 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6954394aa33a 8212928: Assertion too strict in compiledVFrame::update_deferred_value on SPARC Reviewed-by: kvn Contributed-by: richard.reingruber at sap.com ! src/hotspot/share/runtime/vframe_hp.cpp + test/jdk/com/sun/jdi/SetLocalWhileThreadInNative.java + test/jdk/com/sun/jdi/compilerDirectives.json Changeset: 66a0e6b3ec1a Author: joehw Date: 2018-11-08 09:50 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/66a0e6b3ec1a 8202285: (fs) Add a method to Files for comparing file contents Reviewed-by: alanb, rriggs, smarks, bpb, dfuchs, weijun, igerasim ! src/java.base/share/classes/java/nio/file/Files.java + test/jdk/java/nio/file/Files/Mismatch.java Changeset: cbe83e9c2100 Author: mikael Date: 2018-11-08 11:22 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cbe83e9c2100 8213438: Remove ClearResponsibleAtSTW Reviewed-by: dholmes, eosterlund, dcubed ! src/hotspot/share/runtime/synchronizer.cpp Changeset: f1bb77833b59 Author: mikael Date: 2018-11-08 11:45 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f1bb77833b59 8213436: Obsolete UseMembar Reviewed-by: kvn, dholmes, mdoerr, adinn ! src/hotspot/cpu/aarch64/globals_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/arm/globals_arm.hpp ! src/hotspot/cpu/ppc/globals_ppc.hpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/nativeInst_ppc.hpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/s390/globals_s390.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/nativeInst_s390.hpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp ! src/hotspot/cpu/sparc/globals_sparc.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/sparc/templateInterpreterGenerator_sparc.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/zero/globals_zero.hpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/os_windows.hpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp ! src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/runtime/safepointMechanism.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: b391c62e38b1 Author: mbalao Date: 2018-11-08 18:10 -0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b391c62e38b1 8213154: Update copyright headers of files in src tree that are missing Classpath exception Reviewed-by: andrew ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS12_KEY_MAT_PARAMS.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS12_MASTER_KEY_DERIVE_PARAMS.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_TLS_MAC_PARAMS.java ! test/jdk/sun/security/pkcs11/fips/TestTLS12.java Changeset: 4ad404da0088 Author: rkennke Date: 2018-11-08 23:31 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ad404da0088 8213199: GC abstraction for Assembler::needs_explicit_null_check() Reviewed-by: adinn, eosterlund ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp Changeset: 52155b28cdb7 Author: vromero Date: 2018-11-08 18:23 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/52155b28cdb7 8211450: UndetVar::dup is not copying the kind field to the duplicated instance Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java + test/langtools/tools/javac/T8211450/ThrownTypeVarTest.java Changeset: c139884bd80e Author: dlong Date: 2018-11-08 15:19 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor 8211781: re-building fails after changing Graal sources Reviewed-by: erikj, mchung ! make/Main.gmk ! make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk + make/gensrc/Gensrc-jdk.internal.vm.compiler.management.gmk Changeset: 3e0ebf913679 Author: jiangli Date: 2018-11-08 19:16 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3e0ebf913679 8213439: Run class initialization for boot loader classes with registered subgraph archiving entry field during CDS dump time. Summary: Run class initialization for boot classes with registered subgraph archiving entry fieldi(s) at CDS dump time. Reviewed-by: dholmes, iklam ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 3b1d026699fc Author: dcubed Date: 2018-11-08 20:54 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3b1d026699fc 8204529: gc/TestAllocateHeapAtMultiple.java fail with Agent 7 timed out Summary: Increase default timeout to 360 seconds. Reviewed-by: erikj, dholmes ! test/hotspot/jtreg/gc/TestAllocateHeapAtMultiple.java Changeset: 1256c8d923e8 Author: amlu Date: 2018-11-09 12:08 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1256c8d923e8 8213576: Make test AsyncCloseChannel.java run in othervm Reviewed-by: dholmes ! test/jdk/java/nio/channels/SocketChannel/AsyncCloseChannel.java Changeset: e0fd97beab7e Author: iklam Date: 2018-11-01 10:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e0fd97beab7e 8213250: CDS archive creation aborts due to metaspace object allocation failure Reviewed-by: jiangli, ccheung ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 190b77982361 Author: asapre Date: 2018-11-09 12:47 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/190b77982361 8211951: Broken links in java.management files Summary: Corrected broken Javadoc links. Reviewed-by: alanb, sspitsyn Contributed-by: amit.sapre at oracle.com ! src/java.management/share/classes/java/lang/management/package.html ! src/java.management/share/classes/javax/management/Query.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java ! src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java Changeset: 656d2f222b42 Author: rkennke Date: 2018-11-09 10:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/656d2f222b42 8213473: Replace testB_mem_imm matcher with testUB_mem_imm Reviewed-by: kvn, roland ! src/hotspot/cpu/x86/x86_64.ad Changeset: 04d7e790aa2e Author: rkennke Date: 2018-11-09 10:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/04d7e790aa2e 8213489: GC/C2 abstraction for Compile::final_graph_reshaping() Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 60064c7527f4 Author: mdoerr Date: 2018-11-09 15:19 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/60064c7527f4 8213604: Fix missing includes after JDK-8212673 Reviewed-by: tschatzl, roland ! src/hotspot/share/opto/callnode.cpp Changeset: a8389aeabf90 Author: stuefe Date: 2018-11-09 16:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a8389aeabf90 8213592: Misaligned code in globals.hpp after 8211845 Reviewed-by: dholmes ! src/hotspot/share/runtime/globals.hpp Changeset: 13266dac5fdb Author: xuelei Date: 2018-11-09 08:24 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/13266dac5fdb 8212261: Add SSLSession accessors to HttpsURLConnection and SecureCacheResponse Reviewed-by: mullan, chegar ! src/java.base/share/classes/java/net/SecureCacheResponse.java ! src/java.base/share/classes/javax/net/ssl/HttpsURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java + test/jdk/javax/net/ssl/HttpsURLConnection/DefaultCacheResponse.java + test/jdk/javax/net/ssl/HttpsURLConnection/DummyCacheResponse.java + test/jdk/javax/net/ssl/HttpsURLConnection/HttpsSession.java Changeset: 9887f04b0e0f Author: dlong Date: 2018-11-09 09:57 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9887f04b0e0f 8213588: compiler/graalunit/HotspotTest.java fails after 8213348 / 8211781 were pushed Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/module-info.java Changeset: 23beda532ebe Author: dlong Date: 2018-11-09 09:59 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/23beda532ebe 8213596: test failure with Graal when security manager and policy file are used Reviewed-by: kvn ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalRuntimeMBean.java Changeset: 139afe113654 Author: xuelei Date: 2018-11-09 10:15 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/139afe113654 8213694: Test Timeout.java should run in othervm mode Reviewed-by: jnimeh ! test/jdk/sun/security/ssl/SSLSessionContextImpl/Timeout.java Changeset: b915bd68d907 Author: rriggs Date: 2018-11-09 13:28 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b915bd68d907 8185496: Improve performance of system properties initialization in initPhase1 8213424: VersionProps duplicate and skipped initialization Reviewed-by: mchung, redestad, dholmes ! src/hotspot/share/prims/jvm.cpp ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/VersionProps.java.template ! src/java.base/share/classes/jdk/internal/misc/VM.java ! src/java.base/share/native/libjava/System.c ! src/java.base/share/native/libjava/java_props.h ! src/java.base/unix/native/libjava/java_props_md.c ! src/java.base/windows/native/libjava/java_props_md.c - test/jdk/java/lang/System/ClearProperty.java + test/jdk/java/lang/System/PropertyTest.java - test/jdk/java/lang/System/SetPropertiesNull.java ! test/jdk/java/util/concurrent/atomic/VMSupportsCS8.java Changeset: 5b9b99de56a7 Author: dlong Date: 2018-11-09 11:36 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b9b99de56a7 8213701: Add org.graalvm.compiler.debug.test.TimerKeyTest to problem list Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 4c5d48f3bc84 Author: manc Date: 2018-11-09 12:13 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4c5d48f3bc84 8213113: Dead code related to UseAdaptiveSizePolicy in ParNewGeneration Summary: Removed dead code related to UseAdaptiveSizePolicy for CMS Reviewed-by: pliden, tschatzl ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.hpp Changeset: fad3614d1f0f Author: dcubed Date: 2018-11-09 15:19 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fad3614d1f0f 8213704: increase default timeout for vmTestbase/metaspace/stressDictionary/StressDictionary.java Reviewed-by: rehn ! test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java Changeset: 8a88bbeb1d1c Author: igerasim Date: 2018-11-09 16:21 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8a88bbeb1d1c 8213383: Wrap up pthread_cond_wait into a loop to workaround potential spurious wakeups Reviewed-by: dlong, sspitsyn, dholmes, rriggs ! src/java.base/unix/native/libjsig/jsig.c Changeset: 5643a5bff514 Author: zgu Date: 2018-11-10 09:06 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5643a5bff514 8213707: [TEST] vmTestbase/nsk/stress/except/except011.java failed due to wrong class name Summary: Fixed wrong class name in test Reviewed-by: dholmes, jcbeyler ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java Changeset: 18bd95c0e463 Author: shade Date: 2018-11-10 19:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/18bd95c0e463 8213711: Zero build broken after JDK-8213199 (GC abstraction for Assembler::needs_explicit_null_check()) Reviewed-by: rkennke, stuefe ! src/hotspot/cpu/zero/assembler_zero.hpp Changeset: e5534cc91a10 Author: shade Date: 2018-11-10 20:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e5534cc91a10 8211926: Catastrophic size_t underflow in BitMap::*_large methods Reviewed-by: kbarrett, stuefe ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp + test/hotspot/gtest/utilities/test_bitMap_large.cpp Changeset: 6f5948597697 Author: redestad Date: 2018-11-11 21:24 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6f5948597697 8213478: Reduce rebinds when applying repeated filters and conversions Reviewed-by: vlivanov, jrose ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 5d1d07b72f15 Author: pmuthuswamy Date: 2018-11-12 13:31 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5d1d07b72f15 5076751: System properties documentation needed in javadocs Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java + src/jdk.compiler/share/classes/com/sun/source/doctree/SystemPropertyTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SystemPropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out ! test/langtools/tools/javac/doctree/DocCommentTester.java + test/langtools/tools/javac/doctree/SystemPropertyTest.java Changeset: 43081c586d77 Author: rraghavan Date: 2018-11-12 01:15 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/43081c586d77 8210803: Compilation failure in codeBlob.cpp for Windows 32-bit Summary: Added ordinary operator delete declaration within class Reviewed-by: kvn, rlichten, thartmann ! src/hotspot/share/code/codeBlob.hpp Changeset: 1a6aeca4a8c9 Author: jlahoda Date: 2018-11-12 09:35 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1a6aeca4a8c9 8209055: c.s.t.javac.code.DeferredCompletionFailureHandler seems to use WeakHashMap incorrectly Summary: Do not keep speculative Symbols in DeferredCompletionFailureHandler. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/DeferredCompletionFailureHandler.java + test/langtools/tools/javac/processing/model/completionfailure/SymbolsDontCumulate.java Changeset: 61915e1458bc Author: roland Date: 2018-11-09 10:52 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/61915e1458bc 8205574: Loop predication "assert(f <= 1 && f >= 0) failed Incorrect frequency" Reviewed-by: kvn ! src/hotspot/share/opto/loopPredicate.cpp Changeset: 23b3a46fa159 Author: prappo Date: 2018-11-12 12:55 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/23b3a46fa159 8210493: Bind to node- or linklocal ipv6 multicast address fails Reviewed-by: alanb, chegar ! src/java.base/unix/native/libnet/net_util_md.c + test/jdk/java/net/MulticastSocket/PromiscuousIPv6.java + test/jdk/java/nio/channels/DatagramChannel/PromiscuousIPv6.java Changeset: c22997db2a22 Author: goetz Date: 2018-11-12 16:40 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c22997db2a22 8213527: [testbug] Fix PrintMetaspaceDcmd test using UseCompressedOops for 32-bit. Reviewed-by: dholmes, mdoerr ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java Changeset: a609d549992a Author: robm Date: 2018-11-12 08:33 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a609d549992a 8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider Reviewed-by: alanb, dfuchs, chegar, mchung, vtewari + src/java.naming/share/classes/com/sun/jndi/ldap/DefaultLdapDnsProvider.java ! src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java + src/java.naming/share/classes/com/sun/jndi/ldap/LdapDnsProviderService.java ! src/java.naming/share/classes/com/sun/jndi/ldap/ServiceLocator.java ! src/java.naming/share/classes/javax/naming/directory/InitialDirContext.java + src/java.naming/share/classes/javax/naming/ldap/spi/LdapDnsProvider.java + src/java.naming/share/classes/javax/naming/ldap/spi/LdapDnsProviderResult.java ! src/java.naming/share/classes/module-info.java + test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java + test/jdk/com/sun/jndi/ldap/dnsprovider/TestDnsProvider.java ! test/jdk/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.policy Changeset: 710e5a66a64e Author: rkennke Date: 2018-11-12 22:00 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/710e5a66a64e 8213745: Don't use memset to initialize array of RegMask in matcher.cpp Reviewed-by: kvn, shade ! src/hotspot/share/opto/matcher.cpp Changeset: 52be2c714a2f Author: jcbeyler Date: 2018-11-12 13:13 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/52be2c714a2f 8212939: Add space after if/while/for/switch and parenthesis Summary: Add spaces where needed Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn004/libforceEarlyReturn004a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn005/libforceEarlyReturn005a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/libforceEarlyReturn002a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe002/popframe002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe005/popframe005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe011/popframe011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass006/redefclass006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/retransform003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/setjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/ap11t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t002/ji03t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/ji05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/MonitorEnterExecutor.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jni/JNIreferences.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/locks/JNIMonitorLocker.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/locks/LockingThread.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress005.cpp Changeset: 13f0aac77d60 Author: dholmes Date: 2018-11-12 16:36 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/13f0aac77d60 8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/except/except002 and except003 Reviewed-by: zgu, jcbeyler ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except002.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except003.java Changeset: 34510f65fb58 Author: redestad Date: 2018-11-13 11:34 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/34510f65fb58 8213741: Consolidate Object and String Stringifiers Reviewed-by: shade ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java Changeset: c3066f7465fa Author: tschatzl Date: 2018-11-13 11:45 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c3066f7465fa 8213307: G1 should clean up RMT with ClassUnloadingWithConcurrentMark Summary: Re-enable cleanup of the ResolvedMethodTable after changes in JDK-8206423. Reviewed-by: shade, coleenp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java Changeset: 768b1c612100 Author: prappo Date: 2018-11-13 12:24 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/768b1c612100 8213490: Networking area typos and inconsistencies cleanup Reviewed-by: alanb, chegar, dfuchs ! src/java.base/share/classes/java/net/CookieManager.java ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/HttpCookie.java ! src/java.base/share/classes/java/net/IDN.java ! src/java.base/share/classes/java/net/InMemoryCookieStore.java ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/share/classes/java/net/ProxySelector.java ! src/java.base/share/classes/java/net/ResponseCache.java ! src/java.base/share/classes/java/net/SecureCacheResponse.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/java/net/SocketOutputStream.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/net/SocksSocketImpl.java ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLEncoder.java ! src/java.base/share/classes/java/net/URLPermission.java ! src/java.base/share/classes/java/net/URLStreamHandler.java ! src/java.base/share/classes/java/net/spi/URLStreamHandlerProvider.java ! src/java.base/share/classes/java/nio/channels/MulticastChannel.java ! src/java.base/share/classes/sun/net/NetworkClient.java ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/net/www/URLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthCacheValue.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/unix/native/libnet/ResolverConfigurationImpl.c ! src/java.base/unix/native/libnet/net_util_md.c ! src/java.base/windows/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/java.base/windows/native/libnet/net_util_md.c ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1AsyncReceiver.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/SocketTube.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java Changeset: 2e64b70c03b1 Author: aph Date: 2018-11-13 11:21 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2e64b70c03b1 8209415: Fix JVMTI test failure HS202 Summary: Fix test for static method in exception throw handler Reviewed-by: adinn ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Changeset: 2b5d37ad7d06 Author: kbarrett Date: 2018-11-13 13:45 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2b5d37ad7d06 8213440: Lingering INCLUDE_ALL_GCS in test_oopStorage_parperf.cpp Summary: Remove INCLUDE_ALL_GCS conditionalization. Reviewed-by: tschatzl ! test/hotspot/gtest/gc/shared/test_oopStorage_parperf.cpp Changeset: 4ca6a67d1672 Author: sspitsyn Date: 2018-11-13 12:11 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ca6a67d1672 8213525: new unit test GetLocalVariable/LocalVars is not stable Summary: Comment out unstable checks in the test Reviewed-by: jcbeyler, cjplummer ! test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/libGetLocalVars.cpp Changeset: 7d3b82b338f7 Author: jiangli Date: 2018-11-13 15:11 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7d3b82b338f7 8213563: appcds/sharedStrings/SharedStringsStress.java fails with 'GC triggered before VM initialization completed' error Summary: Move MetaspaceShared::read_extra_data() call to the main MetaspaceShared::preload_and_dump() operation. Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 29977ee892ad Author: jiangli Date: 2018-11-13 15:13 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/29977ee892ad Merge Changeset: 7e6010986c73 Author: mseledtsov Date: 2018-11-13 12:24 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7e6010986c73 8213570: [TESTBUG] Update JFR sanity test set Summary: Added tests to the jdk jfr sanity group Reviewed-by: hseigel ! test/jdk/TEST.groups Changeset: 2a223aded0ec Author: epavlova Date: 2018-11-13 12:52 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2a223aded0ec 8212221: GraalUnitTestLauncher should generate MX_SUBPROCESS_COMMAND_FILE Reviewed-by: dlong ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Changeset: 4608107a90ef Author: sspitsyn Date: 2018-11-13 13:42 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4608107a90ef 8213814: build error in jtreg test jvmti/GetLocalVariable Summary: fix the build error by restoring the macro definitions for missed functions Reviewed-by: dcubed ! test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/libGetLocalVars.cpp Changeset: bbbcd90f0adb Author: dholmes Date: 2018-11-13 16:49 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bbbcd90f0adb 8213760: os::obsolete_option is obsolete and should be removed Reviewed-by: jiangli, igerasim, stuefe ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/os.hpp Changeset: b091b768fea4 Author: mikael Date: 2018-11-13 15:25 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b091b768fea4 8213569: Bump minimum boot jdk to JDK 11 Reviewed-by: dholmes, tbell, erikj ! make/autoconf/version-numbers ! make/conf/jib-profiles.js Changeset: 3b91496409fc Author: jjg Date: 2018-11-13 16:17 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3b91496409fc 8213820: unknown tag: @returns Reviewed-by: darcy ! src/java.base/share/classes/java/lang/ref/Reference.java Changeset: ddcbc20e8c6a Author: weijun Date: 2018-11-14 08:46 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ddcbc20e8c6a 8213400: Support choosing group name in keytool keypair generation Reviewed-by: apetcher, xuelei ! src/java.base/share/classes/sun/security/tools/keytool/CertAndKeyGen.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources.java + test/jdk/sun/security/tools/keytool/GroupName.java Changeset: 1838347a803b Author: jnimeh Date: 2018-11-13 18:22 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1838347a803b 8212885: TLS 1.3 resumed session does not retain peer certificate chain Reviewed-by: xuelei, wetmore ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! test/jdk/sun/security/ssl/SSLSessionImpl/ResumeChecksClient.java Changeset: d4f3e37d1fda Author: dholmes Date: 2018-11-13 21:43 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d4f3e37d1fda 8213826: Disable ARMv6 memory barriers on ARMv5 processors Reviewed-by: dholmes, bulasevich Contributed-by: Jakub Vanek ! src/hotspot/cpu/arm/assembler_arm_32.hpp ! src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp Changeset: f4e3900c8d08 Author: iklam Date: 2018-11-07 19:40 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f4e3900c8d08 8213346: Re-implement shared dictionary using CompactHashtable Reviewed-by: jiangli ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/dictionary.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/hashtable.hpp + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/MetaspaceObj.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Metadata.java ! test/hotspot/jtreg/runtime/appcds/CDSandJFR.java ! test/hotspot/jtreg/runtime/appcds/SignedJar.java Changeset: 746df0ae4fe1 Author: vromero Date: 2018-11-13 23:33 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/746df0ae4fe1 8213480: update internal ASM version to 7.0 Reviewed-by: dholmes, iignatyev, alanb ! make/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/AnnotationVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/AnnotationWriter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Attribute.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassTooLargeException.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/ConstantDynamic.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/Constants.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Context.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/CurrentFrame.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Edge.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/FieldVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/FieldWriter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Handle.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Handler.java - src/java.base/share/classes/jdk/internal/org/objectweb/asm/Item.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Label.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/MethodTooLargeException.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ModuleVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/ModuleWriter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/Symbol.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/SymbolTable.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/TypePath.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/TypeReference.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/AnnotationRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ClassRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/FieldRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/Method.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/MethodRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ModuleHashesAttribute.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ModuleRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ModuleResolutionAttribute.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/ModuleTargetAttribute.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/Remapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingAnnotationAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingClassAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingFieldAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/SignatureRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/SimpleRemapper.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/TableSwitchGenerator.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureReader.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureWriter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/AbstractInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/FieldInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/FrameNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/IincInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/InnerClassNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/InsnList.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/InsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/IntInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/InvokeDynamicInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/JumpInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LabelNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LdcInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LineNumberNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LocalVariableAnnotationNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LocalVariableNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/LookupSwitchInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ModuleExportNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ModuleNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ModuleOpenNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ModuleProvideNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ModuleRequireNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/MultiANewArrayInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/ParameterNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/TableSwitchInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/TryCatchBlockNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/TypeInsnNode.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/UnsupportedClassVersionException.java + src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/Util.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/VarInsnNode.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Analyzer.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicInterpreter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicValue.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicVerifier.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Interpreter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SimpleVerifier.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SmallSet.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SourceInterpreter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SourceValue.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Subroutine.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Value.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/ASMifiable.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckAnnotationAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckModuleAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/CheckSignatureAdapter.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/Textifiable.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceAnnotationVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceClassVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceFieldVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceModuleVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/util/TraceSignatureVisitor.java ! src/java.base/share/classes/jdk/internal/org/objectweb/asm/version.txt ! src/java.base/share/legal/asm.md ! src/jdk.jartool/share/classes/sun/tools/jar/FingerPrint.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventClassBuilder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/ConstructorTracerWriter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/ConstructorWriter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JIClassInstrumentation.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JIInliner.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JIMethodCallInliner.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JIMethodMergeAdapter.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/debug/NashornTextifier.java ! test/hotspot/jtreg/compiler/jvmci/common/CTVMUtilities.java ! test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/correctBootstrap/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/incorrectBootstrap/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mh/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mt/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/gc/createLotsOfMHConsts/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/patches/java.base/jdk/internal/org/objectweb/asm/ClassWriterExt.java ! test/jdk/java/lang/instrument/asmlib/Instrumentor.java ! test/jdk/java/lang/invoke/accessProtectedSuper/Test.java ! test/jdk/jdk/jfr/event/compiler/TestCompilerInlining.java ! test/jdk/jdk/jfr/event/io/TestInstrumentation.java Changeset: d5eebe1e03fe Author: rehn Date: 2018-11-14 07:50 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d5eebe1e03fe 8213574: Deadlock in string table expansion when dumping lots of CDS classes Reviewed-by: jiangli, iklam, dholmes ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp Changeset: 59065e5d56ec Author: stuefe Date: 2018-11-14 09:19 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/59065e5d56ec 8213591: running bin/idea.sh in Cygwin: generated project cannot be imported Reviewed-by: erikj, stuefe, mbaesken Contributed-by: mvala at redhat.com ! bin/idea.sh Changeset: 6f18c23b0185 Author: dholmes Date: 2018-11-14 04:56 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6f18c23b0185 8213767: Remove the -Xconcurrentio flag and associated code Reviewed-by: lfoltan, rehn ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/safepoint.hpp ! test/hotspot/jtreg/runtime/CommandLine/TestNullTerminatedFlags.java Changeset: e202d04f4973 Author: psadhukhan Date: 2018-10-25 13:07 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e202d04f4973 8192888: AllSwingComponentsBaselineTest fails with NullPointerException for NimbusLookAndFeel Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthButtonUI.java + test/jdk/javax/swing/plaf/nimbus/AllSwingComponentsBaselineTest.java Changeset: 39720384f74a Author: psadhukhan Date: 2018-10-25 13:09 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/39720384f74a 8212735: Compilation issue with javax.swing.InputVerifier example in javadoc section Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/InputVerifier.java Changeset: 7335ac58f32b Author: sveerabhadra Date: 2018-10-26 13:52 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7335ac58f32b 8211443: Enable different look and feels in SwingSet3 demo test SplitPaneDemoTest Reviewed-by: serb Contributed-by: gauri.patil at oracle.com ! test/jdk/sanity/client/SwingSet/src/SplitPaneDemoTest.java Changeset: e57405e79cd7 Author: sveerabhadra Date: 2018-10-26 14:03 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e57405e79cd7 8210057: Enable different look and feels in SwingSet3 demo test InternalFrameDemoTest Reviewed-by: serb Contributed-by: gauri.patil at oracle.com ! test/jdk/sanity/client/SwingSet/src/InternalFrameDemoTest.java Changeset: 56585eb10314 Author: jdv Date: 2018-10-26 15:44 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/56585eb10314 8212865: Broken external link to TIFF6.pdf in ImageIO package-info.java Reviewed-by: psadhukhan ! src/java.desktop/share/classes/javax/imageio/package-info.java Changeset: add2ef6e79c4 Author: serb Date: 2018-10-29 17:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/add2ef6e79c4 8212790: Javadoc cleanup of java.awt.color package Reviewed-by: prr, kaddepalli ! src/java.desktop/share/classes/java/awt/color/CMMException.java ! src/java.desktop/share/classes/java/awt/color/ColorSpace.java ! src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileGray.java ! src/java.desktop/share/classes/java/awt/color/ICC_ProfileRGB.java ! src/java.desktop/share/classes/java/awt/color/ProfileDataException.java Changeset: 191411a26c71 Author: jdv Date: 2018-10-26 22:20 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/191411a26c71 8213130: Update ProblemList after verification of jtreg tests in Win 7 Reviewed-by: psadhukhan ! test/jdk/ProblemList.txt Changeset: 524aa6a5cada Author: psadhukhan Date: 2018-10-30 15:43 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/524aa6a5cada 8213138: Update ProblemList.txt for mac Reviewed-by: jdv ! test/jdk/ProblemList.txt Changeset: 6daafebf8189 Author: mhalder Date: 2018-10-30 17:06 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6daafebf8189 8208543: [macos] Support for apple.awt.documentModalSheet incomplete Reviewed-by: dmarkov, kaddepalli ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m + test/jdk/java/awt/Dialog/DocumentModalSheetTest/DocumentModalSheetTest.java Changeset: edc729e2ee36 Author: itakiguchi Date: 2018-10-30 15:51 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/edc729e2ee36 8211810: X11 Time stamp data should be unsigned Reviewed-by: serb ! src/java.desktop/unix/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/java.desktop/unix/classes/sun/awt/X11/XMSelection.java Changeset: 755e08f972c3 Author: pbansal Date: 2018-10-31 14:22 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/755e08f972c3 8212903: [TestBug] Tests test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh and DemandGTK3.sh fail on Ubuntu 18.04 LTS Reviewed-by: prr, psadhukhan ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh ! test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK3.sh Changeset: 20e47d686221 Author: serb Date: 2018-10-31 10:01 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/20e47d686221 8208702: javax/swing/reliability/HangDuringStaticInitialization.java may hang on macos Reviewed-by: prr, denis ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m ! test/jdk/javax/swing/reliability/HangDuringStaticInitialization.java Changeset: 869b2c3823b7 Author: prr Date: 2018-10-31 11:45 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/869b2c3823b7 8210886: Remove references in xwindows.md to non-existent files. Reviewed-by: serb, dmarkov ! src/java.desktop/unix/legal/xwindows.md Changeset: 5b5e66c298c3 Author: prr Date: 2018-10-31 13:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b5e66c298c3 Merge - src/hotspot/cpu/arm/arm_64.ad - src/hotspot/cpu/arm/assembler_arm_64.cpp - src/hotspot/cpu/arm/assembler_arm_64.hpp - src/hotspot/cpu/arm/nativeInst_arm_64.cpp - src/hotspot/cpu/arm/nativeInst_arm_64.hpp - src/hotspot/cpu/arm/vm_version_arm_64.cpp - src/hotspot/os_cpu/linux_arm/linux_arm_64.s - src/java.base/share/classes/jdk/internal/misc/VMNotification.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java - test/jdk/java/util/prefs/CheckUserPrefsStorage.sh - test/jdk/java/util/prefs/PrefsSpi.sh - test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 7d99b410be1b Author: prr Date: 2018-10-31 16:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7d99b410be1b 8210863: Remove Xrandr include files from JDK sources Reviewed-by: serb - src/java.desktop/unix/native/libawt_xawt/awt/Xrandr.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c - src/java.desktop/unix/native/libawt_xawt/awt/randr.h Changeset: 356e75119d31 Author: sveerabhadra Date: 2018-11-01 18:13 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/356e75119d31 7124293: [macosx] VoiceOver reads percentages rather than the actual values for sliders. Reviewed-by: serb, kaddepalli ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m Changeset: 45a5c4d812d9 Author: prr Date: 2018-11-01 13:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/45a5c4d812d9 8213213: Remove src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h Reviewed-by: serb ! src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java - src/java.desktop/unix/classes/sun/awt/X11/genhash.awk - src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h ! src/java.desktop/unix/legal/xwindows.md Changeset: d09e1ab4bd1d Author: arapte Date: 2018-11-02 23:05 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d09e1ab4bd1d 8198001: java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java debug assert on Windows Reviewed-by: prr, serb ! src/java.desktop/windows/native/libawt/windows/awt_MenuBar.cpp ! test/jdk/java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java Changeset: 814c49afb1a7 Author: serb Date: 2018-11-02 12:15 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/814c49afb1a7 8211992: GraphicsConfiguration.getDevice().getDisplayMode() causes JVM crash on Mac Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/awt/CGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java ! src/java.desktop/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java - src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m Changeset: 6cf31480d3a3 Author: serb Date: 2018-11-02 15:38 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6cf31480d3a3 8207070: Webstart app popup on wrong screen in a one-screen setup changing to multi-monitor Reviewed-by: prr ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java + test/jdk/java/awt/Toolkit/DisplayChangesException/DisplayChangesException.java Changeset: b0dcecb339c4 Author: psadhukhan Date: 2018-11-03 09:50 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b0dcecb339c4 8213261: test javax/swing/plaf/nimbus/AllSwingComponentsBaselineTest.java fails Reviewed-by: serb ! test/jdk/javax/swing/plaf/nimbus/AllSwingComponentsBaselineTest.java Changeset: a00f1403dbe9 Author: serb Date: 2018-11-06 17:57 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a00f1403dbe9 8211822: Some tests fail after JDK-8210039 8202886: [macos] Test java/awt/MenuBar/8007006/bug8007006.java fails on MacOS Reviewed-by: prr, iignatyev, jdv, kaddepalli ! test/jdk/ProblemList.txt ! test/jdk/java/awt/MenuBar/8007006/bug8007006.java ! test/jdk/javax/swing/JComboBox/4199622/bug4199622.java ! test/jdk/javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java ! test/jdk/javax/swing/JPopupMenu/7154841/bug7154841.java Changeset: 7f67b8184ffc Author: psadhukhan Date: 2018-11-08 12:09 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7f67b8184ffc 8213116: javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java fails in Windows Reviewed-by: prr ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java Changeset: 8c7638601045 Author: prr Date: 2018-11-08 10:34 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8c7638601045 8210776: Upgrade X Window System 6.8.2 to the latest XWD 1.0.7 Reviewed-by: serb + src/java.desktop/unix/legal/xwd.md - src/java.desktop/unix/legal/xwindows.md ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c ! src/java.desktop/unix/native/libawt_xawt/awt/list.c ! src/java.desktop/unix/native/libawt_xawt/awt/list.h ! src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c ! src/java.desktop/unix/native/libawt_xawt/awt/multiVis.h - src/java.desktop/unix/native/libawt_xawt/awt/robot_common.c - src/java.desktop/unix/native/libawt_xawt/awt/robot_common.h ! src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h ! test/jdk/java/awt/Window/ShapedAndTranslucentWindows/Common.java Changeset: 3853631e6a07 Author: psadhukhan Date: 2018-11-09 09:29 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3853631e6a07 8213181: Updation of ProblemList.txt for removal of passing swing test Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: c1389b2371c9 Author: arapte Date: 2018-11-09 12:08 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c1389b2371c9 8198000: java/awt/List/EmptyListEventTest/EmptyListEventTest.java debug assert on Windows Reviewed-by: prr, serb ! src/java.desktop/windows/native/libawt/windows/awt_List.cpp ! test/jdk/java/awt/List/EmptyListEventTest/EmptyListEventTest.java Changeset: e944ea36af05 Author: arapte Date: 2018-11-09 18:35 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e944ea36af05 8198002: java/awt/Mixing/Validating.java debug assert on Windows Reviewed-by: serb, kaddepalli ! src/java.desktop/windows/native/libawt/windows/awt_Frame.cpp ! test/jdk/java/awt/Mixing/Validating.java Changeset: 36c051a354a0 Author: serb Date: 2018-11-09 22:25 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/36c051a354a0 8213568: Typo in java/awt/GraphicsEnvironment/LoadLock/GE_init5.java Reviewed-by: prr ! test/jdk/java/awt/GraphicsEnvironment/LoadLock/GE_init5.java Changeset: 55f835bdb9e0 Author: serb Date: 2018-11-10 09:52 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/55f835bdb9e0 8199072: Test javax/swing/GroupLayout/6613904/bug6613904.java is unstable Reviewed-by: prr, psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/GroupLayout/6613904/bug6613904.java Changeset: 472f10d8a501 Author: serb Date: 2018-11-10 18:41 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/472f10d8a501 8198321: javax/swing/JEditorPane/5076514/bug5076514.java fails Reviewed-by: psadhukhan ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JEditorPane/5076514/bug5076514.java Changeset: 50de7d1f6b64 Author: serb Date: 2018-11-10 18:48 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/50de7d1f6b64 8211435: Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException: null source Reviewed-by: dmarkov, lbourges, kaddepalli, prr ! src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java + test/jdk/java/awt/Focus/NullActiveWindowOnFocusLost/NullActiveWindowOnFocusLost.java Changeset: 65407a437327 Author: sveerabhadra Date: 2018-11-12 10:55 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/65407a437327 8198624: java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html fails on mac Reviewed-by: serb ! test/jdk/ProblemList.txt - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html ! test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java Changeset: 339963bcff24 Author: psadhukhan Date: 2018-11-12 11:10 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/339963bcff24 Merge - src/hotspot/share/prims/privilegedStack.cpp - src/hotspot/share/prims/privilegedStack.hpp - src/hotspot/share/utilities/internalVMTests.cpp - src/hotspot/share/utilities/internalVMTests.hpp - src/java.base/share/classes/jdk/internal/misc/JavaAWTAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaAWTFontAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaBeansAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFileDescriptorAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIOFilePermissionAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaIORandomAccessFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangModuleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaLangRefAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetHttpCookieAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetInetAddressAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetSocketAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetURLClassLoaderAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNetUriAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaNioAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputFilterAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaObjectInputStreamAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaSecurityAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilResourceBundleAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaUtilZipFileAccess.java - src/java.base/share/classes/jdk/internal/misc/JavaxCryptoSealedObjectAccess.java - src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java - src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/internal/ReflectionAccessJDK.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_noCompactStrings.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_stringDedup.java - test/hotspot/jtreg/sanity/ExecuteInternalVMTests.java ! test/jdk/ProblemList.txt - test/jdk/java/lang/System/ClearProperty.java - test/jdk/java/lang/System/SetPropertiesNull.java - test/jdk/java/util/TimeZone/Bug8066652.sh - test/jdk/java/util/TimeZone/OldIDMappingTest.sh - test/jdk/java/util/TimeZone/TimeZoneDatePermissionCheck.sh Changeset: 1a62b3420c27 Author: pbansal Date: 2018-11-12 12:39 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1a62b3420c27 8213536: Update ProblemList for Linux Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 9ca9aa224c39 Author: psadhukhan Date: 2018-11-14 17:16 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9ca9aa224c39 Merge - src/java.base/share/classes/jdk/internal/org/objectweb/asm/Item.java Changeset: 5f1ca46703f9 Author: michaelm Date: 2018-11-14 14:23 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5f1ca46703f9 8213189: Make restricted headers in HTTP Client configurable and remove Date by default Reviewed-by: dfuchs ! src/java.base/share/conf/net.properties ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/Http1Request.java ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java ! test/jdk/java/net/httpclient/RequestBuilderTest.java + test/jdk/java/net/httpclient/RestrictedHeadersTest.java ! test/jdk/java/net/httpclient/SpecialHeadersTest.java + test/jdk/java/net/httpclient/security/16.policy + test/jdk/java/net/httpclient/security/17.policy ! test/jdk/java/net/httpclient/security/Driver.java ! test/jdk/java/net/httpclient/security/Security.java Changeset: 3b2d22602c16 Author: pchilanomate Date: 2018-11-14 09:50 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3b2d22602c16 8213708: Different #ifdef guards cause incorrect use of Monitor::check_block_state() Summary: Wrapped check_block_state() method in DEBUG_ONLY macro and make the use of the latter more consistent Reviewed-by: dcubed, dholmes ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutex.hpp Changeset: 6b05634db714 Author: erikj Date: 2018-11-14 09:26 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6b05634db714 8211727: Adjust default concurrency settings for running tests on Sparc Reviewed-by: ctornqvi, tbell, mikael ! make/RunTests.gmk ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 2f6f97629aa7 Author: erikj Date: 2018-11-14 09:31 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2f6f97629aa7 8213709: jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java missing modules declaration Reviewed-by: jjg ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java Changeset: 08a0bf1592bd Author: mbalao Date: 2018-11-09 10:34 -0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/08a0bf1592bd 8204142: AWT hang occurs when sequenced events arrive out of sequence in multiple AppContexts Summary: Improvements on the synchronization of SequencedEvent events from different AppContexts Reviewed-by: serb ! src/java.desktop/share/classes/java/awt/SequencedEvent.java + test/jdk/java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java + test/jdk/java/awt/event/SequencedEvent/MultipleContextsUnitTest.java - test/jdk/java/awt/event/SequencedEvent/SequencedEventTest.java Changeset: f642ede2eb07 Author: rkennke Date: 2018-11-14 18:57 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f642ede2eb07 8213795: Force explicit null check on patching placeholder offset Reviewed-by: kvn, adinn ! src/hotspot/share/asm/assembler.cpp Changeset: f5011100c920 Author: naoto Date: 2018-11-14 11:42 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f5011100c920 8213818: @return has already been specified Reviewed-by: rriggs ! src/java.base/share/classes/java/time/chrono/IsoChronology.java Changeset: 40098289d580 Author: jcbeyler Date: 2018-11-14 12:25 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/40098289d580 8213622: Windows VS2013 build failure - "'snprintf': identifier not found" Summary: Replace snprintf with strlen and memcpy Reviewed-by: dholmes, mvala, kbarrett ! test/hotspot/jtreg/vmTestbase/nsk/share/jni/ExceptionCheckingJniEnv.cpp Changeset: 509403d31498 Author: rkennke Date: 2018-11-15 11:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/509403d31498 Merge ! .hgtags ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp ! src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp ! src/hotspot/share/asm/assembler.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/java.base/share/classes/jdk/internal/org/objectweb/asm/Item.java - src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m - src/java.desktop/unix/classes/sun/awt/X11/genhash.awk - src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h - src/java.desktop/unix/legal/xwindows.md - src/java.desktop/unix/native/libawt_xawt/awt/Xrandr.h - src/java.desktop/unix/native/libawt_xawt/awt/randr.h - src/java.desktop/unix/native/libawt_xawt/awt/robot_common.c - src/java.desktop/unix/native/libawt_xawt/awt/robot_common.h ! test/hotspot/jtreg/compiler/gcbarriers/EqvUncastStepOverBarrier.java ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn004/libforceEarlyReturn004a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/forceEarlyReturn/forceEarlyReturn005/libforceEarlyReturn005a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/libforceEarlyReturn002a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe002/popframe002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe005/popframe005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe011/popframe011.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass006/redefclass006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RetransformClasses/retransform003/retransform003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/setjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP11/ap11t001/ap11t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t002/ji03t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/ji05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal003/getlocal003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/GetLocalVariable/getlocal004/getlocal004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/ThreadController.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/aod/aod.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/MonitorEnterExecutor.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jni/JNIreferences.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/Injector.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/locks/JNIMonitorLocker.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/locks/LockingThread.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress005.cpp - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html - test/jdk/java/awt/event/SequencedEvent/SequencedEventTest.java - test/jdk/java/lang/System/ClearProperty.java - test/jdk/java/lang/System/SetPropertiesNull.java From shade at redhat.com Thu Nov 15 16:12:17 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 17:12:17 +0100 Subject: RFR: Compact heuristics adjustments Message-ID: <6a57857b-7b5f-a0d1-ce3e-0c394b7964dd@redhat.com> I want to do a few "compact" heuristics adjustments after my yesterday's experiments with it: more aggressive uncommit, denser compaction, reacting on minimum free threshold it case allocation threshold is too high. diff -r 509403d31498 src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Thu Nov 15 11:12:27 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Thu Nov 15 17:10:24 2018 +0100 @@ -35,20 +35,27 @@ SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent); SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahUncommit); SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahAlwaysClearSoftRefs); SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahAllocationThreshold, 10); SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 100); - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahUncommitDelay, 5000); + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahUncommitDelay, 1000); SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGuaranteedGCInterval, 30000); - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGarbageThreshold, 20); + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGarbageThreshold, 10); } bool ShenandoahCompactHeuristics::should_start_normal_gc() const { ShenandoahHeap* heap = ShenandoahHeap::heap(); size_t available = heap->free_set()->available(); size_t threshold_bytes_allocated = heap->capacity() * ShenandoahAllocationThreshold / 100; + size_t min_threshold = ShenandoahMinFreeThreshold * heap->capacity() / 100; + + if (available < min_threshold) { + log_info(gc)("Trigger: Free (" SIZE_FORMAT "M) is below minimum threshold (" SIZE_FORMAT "M)", + available / M, min_threshold / M); + return true; + } if (available < threshold_bytes_allocated) { log_info(gc)("Trigger: Free (" SIZE_FORMAT "M) is lower than allocated recently (" SIZE_FORMAT "M)", available / M, threshold_bytes_allocated / M); return true; Testing: tier3_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Thu Nov 15 16:19:35 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 15 Nov 2018 17:19:35 +0100 Subject: RFR: Compact heuristics adjustments In-Reply-To: <6a57857b-7b5f-a0d1-ce3e-0c394b7964dd@redhat.com> References: <6a57857b-7b5f-a0d1-ce3e-0c394b7964dd@redhat.com> Message-ID: <3ff71401-2196-a1e8-b979-688ed33ab61b@redhat.com> Ok. Out of curiousity: what is the practical consequence of this? Even compacter heap at the expense of even more CPU burn? Roman > I want to do a few "compact" heuristics adjustments after my yesterday's experiments with it: more > aggressive uncommit, denser compaction, reacting on minimum free threshold it case allocation > threshold is too high. > > diff -r 509403d31498 src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp > --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Thu Nov 15 > 11:12:27 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Thu Nov 15 > 17:10:24 2018 +0100 > @@ -35,20 +35,27 @@ > SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent); > SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahUncommit); > SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahAlwaysClearSoftRefs); > SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahAllocationThreshold, 10); > SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 100); > - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahUncommitDelay, 5000); > + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahUncommitDelay, 1000); > SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGuaranteedGCInterval, 30000); > - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGarbageThreshold, 20); > + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahGarbageThreshold, 10); > } > > bool ShenandoahCompactHeuristics::should_start_normal_gc() const { > ShenandoahHeap* heap = ShenandoahHeap::heap(); > > size_t available = heap->free_set()->available(); > size_t threshold_bytes_allocated = heap->capacity() * ShenandoahAllocationThreshold / 100; > + size_t min_threshold = ShenandoahMinFreeThreshold * heap->capacity() / 100; > + > + if (available < min_threshold) { > + log_info(gc)("Trigger: Free (" SIZE_FORMAT "M) is below minimum threshold (" SIZE_FORMAT "M)", > + available / M, min_threshold / M); > + return true; > + } > > if (available < threshold_bytes_allocated) { > log_info(gc)("Trigger: Free (" SIZE_FORMAT "M) is lower than allocated recently (" SIZE_FORMAT > "M)", > available / M, threshold_bytes_allocated / M); > return true; > > Testing: tier3_gc_shenandoah > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 15 16:27:09 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 17:27:09 +0100 Subject: RFR: Compact heuristics adjustments In-Reply-To: <3ff71401-2196-a1e8-b979-688ed33ab61b@redhat.com> References: <6a57857b-7b5f-a0d1-ce3e-0c394b7964dd@redhat.com> <3ff71401-2196-a1e8-b979-688ed33ab61b@redhat.com> Message-ID: <2d2e1bc2-80b1-f92f-5fd7-b80b83b4223b@redhat.com> On 11/15/2018 05:19 PM, Roman Kennke wrote: > Out of curiousity: what is the practical consequence of this? Even > compacter heap at the expense of even more CPU burn? More prompt uncommit seems have no detectable overhead under load. Lower garbage threshold makes apps have ~10% denser heap at expense of little more evacuation work. The most effect would be changing allocation threshold, as it mostly defines how frequently GC runs under load. Current value of 10% seems to work fine for the tests I tried. But this is where the min-free-threshold rule comes in: it was possible to make allocation threshold "too high", and make GC OOM. -Aleksey From rkennke at redhat.com Thu Nov 15 18:54:28 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 15 Nov 2018 19:54:28 +0100 Subject: RFR: Move save/restore vector registers into ShenandoahBarrierSetAssembler Message-ID: <4738e104-db24-1af4-f8e8-11cad09875db@redhat.com> I took at look at our additions of MacroAssembler::save_vector_registers() and MacroAssembler::restore_vector_registers(). I turns out that we have (at least) two other similar implementations of this: one in sharedRuntime_x86_64.cpp and one in c1_Runtime1_x86.cpp. After a day of experimentation, I come to the conclusion that ours is different enough from the other two (and the other two different enough from each other) that it is far from trivial to consolidate them. At the same time, it seems like a hard sell to upstream to add one more implementation of basically the same thing without consolidating the other two as well. Let's not open this can of worms now, and move both new methods under ShenandoahBarrierSetAssembler for now. We can sort it out later. (Side notes: I tried to use push/pop_FPU_state() and it seemed to work, but I suspect I was only lucky because, I believe, push_FPU_state() only pushes the lower parts of xmm0..xmm15, and not the rest of it. I am not sure if FPU spilling would be restricted to those. Also, there seems to be a rather easy way out of this in the form of xsave/xrstore, which can save, e.g., only a subset of registers, including xmm0..xmm31, etc, but I found it hard to figure out how to configure that). http://cr.openjdk.java.net/~rkennke/saverestorevectors/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From shade at redhat.com Thu Nov 15 18:57:44 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 19:57:44 +0100 Subject: RFR: Move save/restore vector registers into ShenandoahBarrierSetAssembler In-Reply-To: <4738e104-db24-1af4-f8e8-11cad09875db@redhat.com> References: <4738e104-db24-1af4-f8e8-11cad09875db@redhat.com> Message-ID: On 11/15/2018 07:54 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/saverestorevectors/webrev.00/ Makes sense. Patch looks good. -Aleksey From roman at kennke.org Thu Nov 15 19:00:02 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 15 Nov 2018 19:00:02 +0000 Subject: hg: shenandoah/jdk: Move save/restore vector registers into ShenandoahBarrierSetAssembler Message-ID: <201811151900.wAFJ023F001646@aojmv0008.oracle.com> Changeset: ae1d64a2872b Author: rkennke Date: 2018-11-15 19:45 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ae1d64a2872b Move save/restore vector registers into ShenandoahBarrierSetAssembler ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp From shade at redhat.com Thu Nov 15 19:01:55 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 15 Nov 2018 19:01:55 +0000 Subject: hg: shenandoah/jdk: Compact heuristics adjustments Message-ID: <201811151901.wAFJ1tx5002453@aojmv0008.oracle.com> Changeset: b96e6bac5744 Author: shade Date: 2018-11-15 16:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b96e6bac5744 Compact heuristics adjustments ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp From shade at redhat.com Thu Nov 15 20:17:40 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 21:17:40 +0100 Subject: RFR: Cherry-pick: 8213373: Bulk MarkBitMap clearing methods Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/cp-8213373/webrev.01/ This cherry-picks JDK-8213373 and cleans up obsolete Shenandoah code. It will be backported to keep Shenandoah code in sync, this would be safe as we own markBitMap code everywhere except current jdk/jdk. Testing: tier3_gc_shenandoah {fastdebug|release} Thanks, -Aleksey From zgu at redhat.com Thu Nov 15 20:18:47 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 15 Nov 2018 15:18:47 -0500 Subject: RFR: Cherry-pick: 8213373: Bulk MarkBitMap clearing methods In-Reply-To: References: Message-ID: <05ef0c78-2337-2544-92d8-08cad39e226b@redhat.com> Good to me. -Zhengyu On 11/15/18 3:17 PM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/cp-8213373/webrev.01/ > > This cherry-picks JDK-8213373 and cleans up obsolete Shenandoah code. It will be backported to keep > Shenandoah code in sync, this would be safe as we own markBitMap code everywhere except current jdk/jdk. > > Testing: tier3_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From rkennke at redhat.com Thu Nov 15 20:19:15 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 15 Nov 2018 21:19:15 +0100 Subject: RFR: Cherry-pick: 8213373: Bulk MarkBitMap clearing methods In-Reply-To: References: Message-ID: Yes, this looks good. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/cp-8213373/webrev.01/ > > This cherry-picks JDK-8213373 and cleans up obsolete Shenandoah code. It will be backported to keep > Shenandoah code in sync, this would be safe as we own markBitMap code everywhere except current jdk/jdk. > > Testing: tier3_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 15 20:50:27 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 15 Nov 2018 20:50:27 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8213373: Bulk MarkBitMap clearing methods Message-ID: <201811152050.wAFKoRSK024517@aojmv0008.oracle.com> Changeset: 1e802a29c2d0 Author: shade Date: 2018-11-15 17:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1e802a29c2d0 Cherry-pick: 8213373: Bulk MarkBitMap clearing methods ! src/hotspot/share/gc/shared/markBitMap.cpp ! src/hotspot/share/gc/shared/markBitMap.hpp From zgu at redhat.com Thu Nov 15 20:58:33 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 15 Nov 2018 15:58:33 -0500 Subject: RFR: Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 Message-ID: Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh_concgc_gf08t001/webrev.00/ Shenandoah supports explicit invocation of concurrent GC, but not Graal, so handles it accordingly. Test: vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java (fastdebug and release) Thanks, -Zhengyu From shade at redhat.com Thu Nov 15 21:02:28 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 15 Nov 2018 22:02:28 +0100 Subject: RFR: Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 In-Reply-To: References: Message-ID: <13f540ca-cde1-6f91-e488-d12e158c6f91@redhat.com> On 11/15/2018 09:58 PM, Zhengyu Gu wrote: > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh_concgc_gf08t001/webrev.00/ Looks good. -Aleksey From zgu at redhat.com Thu Nov 15 21:55:04 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 15 Nov 2018 21:55:04 +0000 Subject: hg: shenandoah/jdk: Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 Message-ID: <201811152155.wAFLt4fh027484@aojmv0008.oracle.com> Changeset: a5cd168ab92b Author: zgu Date: 2018-11-15 16:54 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a5cd168ab92b Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java From rkennke at redhat.com Fri Nov 16 18:14:01 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 16 Nov 2018 19:14:01 +0100 Subject: RFR: Use CallNode for clone-barrier Message-ID: <50cf6288-0a32-0f21-7689-c8a5ccc85b25@redhat.com> While looking around the code that calls shenandoah runtime barriers, I noticed a little discrepancy. In one place we have: bool ShenandoahBarrierSetC2::is_gc_barrier_node(Node* node) const { if (node->Opcode() != Op_CallLeaf) { return false; ... return strcmp(call->_name, "shenandoah_clone_barrier") == 0 || .. } But we do generate the clone barrier with CallLeafNoFP. The above can never match. Also, since Roland's work and what's happening upstream, CallLeaf and CallLeafNoFP is basically the same, and we find that it is not safe to assume runtime doesn't touch FP registers, especially when bulk copying is involved (which is the case for clone barrier). Let's change it like this: diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp @@ -964,9 +964,9 @@ Node* dest = ac->in(ArrayCopyNode::Dest); assert(dest->is_AddP(), "bad input"); - Node* barrier_call = new CallLeafNoFPNode(ShenandoahBarrierSetC2::shenandoah_clone_barrier_Type(), - CAST_FROM_FN_PTR(address, ShenandoahRuntime::shenandoah_clone_barrier), - "shenandoah_clone_barrier", raw_adr_type); + Node* barrier_call = new CallLeafNode(ShenandoahBarrierSetC2::shenandoah_clone_barrier_Type(), + CAST_FROM_FN_PTR(address, ShenandoahRuntime::shenandoah_clone_barrier), + "shenandoah_clone_barrier", raw_adr_type); barrier_call->init_req(TypeFunc::Control, c); barrier_call->init_req(TypeFunc::I_O , igvn.C->top()); barrier_call->init_req(TypeFunc::Memory , m); Testing: tier3_gc_shenandoah ok Ok? Roman From rkennke at redhat.com Sat Nov 17 10:40:49 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 17 Nov 2018 11:40:49 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> I'd like to propose to let C2 call directly to write-barrier runtime, instead of going via the stub. The original reason for going through the stub was to do the cset-check there (which we now do in C2 IR), and to be able to use XMM spills are WB calls in fast path. We used to see fairly bad regressions in serial benchmark without that. Given that: - We're basically working around limitation in C2 RA - We're adding a *lot* of code, some of it in shared paths (that we'd need to upstream somehow) - I don't see much impact when simply doing the right thing (see below) I would like to propose to revert and get rid of all that fluff and do the straight call using CallLeaf to ShenandoahRuntime::write_barrier_JRT(). I checked the serial benchmark and it seems to be consistently 1% worse with this patch. Other benchmarks (specjbb/specjvm) seem unaffected. I'd encourage you (esp. Aleksey) to run some benchmarks of your own to check this. I don't want to push anything that causes regressions. http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.00/ Testing: tier3_gc_shenandoah, selected benchmarks Thoughts? Roman From rwestrel at redhat.com Mon Nov 19 08:22:38 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 19 Nov 2018 09:22:38 +0100 Subject: RFR: Use CallNode for clone-barrier In-Reply-To: <50cf6288-0a32-0f21-7689-c8a5ccc85b25@redhat.com> References: <50cf6288-0a32-0f21-7689-c8a5ccc85b25@redhat.com> Message-ID: <87r2fhqxwx.fsf@redhat.com> Looks ok. Roland. From roman at kennke.org Mon Nov 19 09:28:12 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 19 Nov 2018 09:28:12 +0000 Subject: hg: shenandoah/jdk: Use CallNode for clone-barrier Message-ID: <201811190928.wAJ9SClu005343@aojmv0008.oracle.com> Changeset: b821a7cd244f Author: rkennke Date: 2018-11-19 10:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b821a7cd244f Use CallNode for clone-barrier ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp From rkennke at redhat.com Mon Nov 19 09:42:06 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 10:42:06 +0100 Subject: RFR: Remove ShenandoahWriteBarrierCsetTestInIR flag Message-ID: This is actually a prerequisite to removing the wb-stub for C2, because if we don't call via the stub, we can't do the cset there. We've no use for this flag anyway, doing cset test in ideal is what we do since a long time. Let's remove it. http://cr.openjdk.java.net/~rkennke/remove-cset-in-ideal-flag/webrev.00/ Testing: tier3_gc_shenandoah OK? Roman From rkennke at redhat.com Mon Nov 19 09:45:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 10:45:24 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass Message-ID: I believe the changes in ciInstanceKlass::get_canonical_holder() are a leftover from *long* time ago when we did not create extra slices for -8 offset. We can remove it. Testing: tier3_gc_shenandoah http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/ Ok? Roman From shade at redhat.com Mon Nov 19 10:30:53 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 11:30:53 +0100 Subject: RFR: Remove ShenandoahWriteBarrierCsetTestInIR flag In-Reply-To: References: Message-ID: <0c5f5ccb-4fdf-d6d2-6f8f-99e3c1b08c6d@redhat.com> On 11/19/18 10:42 AM, Roman Kennke wrote: > This is actually a prerequisite to removing the wb-stub for C2, because > if we don't call via the stub, we can't do the cset there. We've no use > for this flag anyway, doing cset test in ideal is what we do since a > long time. Let's remove it. > > http://cr.openjdk.java.net/~rkennke/remove-cset-in-ideal-flag/webrev.00/ Looks good. Please rebase the other change ("avoid stub") after this? -Aleksey From shade at redhat.com Mon Nov 19 10:31:51 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 11:31:51 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass In-Reply-To: References: Message-ID: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> On 11/19/18 10:45 AM, Roman Kennke wrote: > I believe the changes in ciInstanceKlass::get_canonical_holder() are a > leftover from *long* time ago when we did not create extra slices for -8 > offset. We can remove it. > > Testing: tier3_gc_shenandoah > > http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/ Looks good to me. -Aleksey From roman at kennke.org Mon Nov 19 10:36:52 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 19 Nov 2018 10:36:52 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811191036.wAJAaqwt006434@aojmv0008.oracle.com> Changeset: a0fb2fb70c19 Author: rkennke Date: 2018-11-19 10:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a0fb2fb70c19 Cleanup obsolete Shenandoah changes in ciInstanceKlass ! src/hotspot/share/ci/ciInstanceKlass.cpp Changeset: 867eee19004b Author: rkennke Date: 2018-11-19 10:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/867eee19004b Remove ShenandoahWriteBarrierCsetTestInIR flag ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp From rkennke at redhat.com Mon Nov 19 10:39:08 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 11:39:08 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> Message-ID: <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> And rebased on top of removal of ShenandoahWriteBarrierCsetTestInIR: http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.01/ Roman > I'd like to propose to let C2 call directly to write-barrier runtime, > instead of going via the stub. The original reason for going through the > stub was to do the cset-check there (which we now do in C2 IR), and to > be able to use XMM spills are WB calls in fast path. We used to see > fairly bad regressions in serial benchmark without that. > > Given that: > - We're basically working around limitation in C2 RA > - We're adding a *lot* of code, some of it in shared paths (that we'd > need to upstream somehow) > - I don't see much impact when simply doing the right thing (see below) > > I would like to propose to revert and get rid of all that fluff and do > the straight call using CallLeaf to ShenandoahRuntime::write_barrier_JRT(). > > I checked the serial benchmark and it seems to be consistently 1% worse > with this patch. Other benchmarks (specjbb/specjvm) seem unaffected. > > I'd encourage you (esp. Aleksey) to run some benchmarks of your own to > check this. I don't want to push anything that causes regressions. > > http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.00/ > > Testing: tier3_gc_shenandoah, selected benchmarks > > Thoughts? > > Roman > From rkennke at redhat.com Mon Nov 19 11:07:32 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 12:07:32 +0100 Subject: RFR: Hook up Shenandoah barrier expand to ShBSC2::expand_macro_nodes() Message-ID: <6c1b3c15-ba1a-d80f-7a41-d0323beae555@redhat.com> As $SUBJECT says. Some comments: - Instead of using the global loop_opts_cnt, it uses a local loop_opts_cnt. That means, even if global loop opts have been depleted, we still give it 7 (default value) more tries. - Compile* C and PhaseIGVN* igvn is now fetched from PhaseMacroExpand*. http://cr.openjdk.java.net/~rkennke/c2-barrier-expand/webrev.00/ Testing: tier3_gc_shenandoah, I intend to run a few benchmarks too Thoughts? Did I miss something? Roman From rwestrel at redhat.com Mon Nov 19 13:18:59 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 19 Nov 2018 14:18:59 +0100 Subject: RFR: Hook up Shenandoah barrier expand to ShBSC2::expand_macro_nodes() In-Reply-To: <6c1b3c15-ba1a-d80f-7a41-d0323beae555@redhat.com> References: <6c1b3c15-ba1a-d80f-7a41-d0323beae555@redhat.com> Message-ID: <87in0tqk70.fsf@redhat.com> > Thoughts? Did I miss something? I found pushing the barrier expand in a PhaseMacroExpand that we don't need quite ugly. What about this instead? http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-expand/webrev.00/ Roland. From rkennke at redhat.com Mon Nov 19 13:43:41 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 14:43:41 +0100 Subject: RFR: Hook up Shenandoah barrier expand to ShBSC2::expand_macro_nodes() In-Reply-To: <87in0tqk70.fsf@redhat.com> References: <6c1b3c15-ba1a-d80f-7a41-d0323beae555@redhat.com> <87in0tqk70.fsf@redhat.com> Message-ID: <54d2db52-921e-8ded-3cf6-042d740c6c61@redhat.com> I'm fine with that. We don't strictly need to pass Compile* C if we already have PhaseIterGVN& igvn, but that's ok either way for me. Would you try to upstream the non-Shenandoah changes asap, and then push the Shenandoah parts to shenandoah/jdk ? Roman >> Thoughts? Did I miss something? > > I found pushing the barrier expand in a PhaseMacroExpand that we don't > need quite ugly. What about this instead? > > http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-expand/webrev.00/ > > Roland. > From rwestrel at redhat.com Mon Nov 19 13:53:09 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 19 Nov 2018 14:53:09 +0100 Subject: RFR: Hook up Shenandoah barrier expand to ShBSC2::expand_macro_nodes() In-Reply-To: <54d2db52-921e-8ded-3cf6-042d740c6c61@redhat.com> References: <6c1b3c15-ba1a-d80f-7a41-d0323beae555@redhat.com> <87in0tqk70.fsf@redhat.com> <54d2db52-921e-8ded-3cf6-042d740c6c61@redhat.com> Message-ID: <87ftvxqim2.fsf@redhat.com> > Would you try to upstream the non-Shenandoah changes asap, and then push > the Shenandoah parts to shenandoah/jdk ? Yes. But first need to make sure I don't somehow break ZGC. Roland. From rkennke at redhat.com Mon Nov 19 14:18:59 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 15:18:59 +0100 Subject: RFR: Trivial C2 cleanups Message-ID: <8006c058-0048-76d1-92e8-75c7a834d671@redhat.com> One whitespace leftover and one gratuitous fwd decl. http://cr.openjdk.java.net/~rkennke/c2-cleanups/webrev.00/ Ok? Roman From zgu at redhat.com Mon Nov 19 14:25:40 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 19 Nov 2018 09:25:40 -0500 Subject: RFR: Trivial C2 cleanups In-Reply-To: <8006c058-0048-76d1-92e8-75c7a834d671@redhat.com> References: <8006c058-0048-76d1-92e8-75c7a834d671@redhat.com> Message-ID: <12723a05-1ac1-5f01-180e-3f4366f68e50@redhat.com> Good. -Zhengyu On 11/19/18 9:18 AM, Roman Kennke wrote: > One whitespace leftover and one gratuitous fwd decl. > > http://cr.openjdk.java.net/~rkennke/c2-cleanups/webrev.00/ > Ok? > > Roman > From roman at kennke.org Mon Nov 19 14:27:41 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 19 Nov 2018 14:27:41 +0000 Subject: hg: shenandoah/jdk: Trivial C2 cleanups Message-ID: <201811191427.wAJERgxn000931@aojmv0008.oracle.com> Changeset: cdb526c1dac2 Author: rkennke Date: 2018-11-19 15:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cdb526c1dac2 Trivial C2 cleanups ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopUnswitch.cpp From rkennke at redhat.com Mon Nov 19 14:56:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 15:56:24 +0100 Subject: RFR: Clean up changes in phaseX.cpp Message-ID: This cleans up our changes around has_special_unique_user(). Looks like all uses of this method are followed by calls into BarrierSetC2, which we can use to achieve what we need. Testing: tier3_gc_shenandoah http://cr.openjdk.java.net/~rkennke/phasex-cleanups/webrev.00/ Ok? Roman From rwestrel at redhat.com Mon Nov 19 15:19:17 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 19 Nov 2018 16:19:17 +0100 Subject: RFR: Clean up changes in phaseX.cpp In-Reply-To: References: Message-ID: <87d0r1qemi.fsf@redhat.com> > This cleans up our changes around has_special_unique_user(). Looks like > all uses of this method are followed by calls into BarrierSetC2, which > we can use to achieve what we need. The phaseX.cpp is useless so I'm fine with it being removed. I disagree with the other changes. Sure it might be functionally equivalent, but Node::has_special_unique_user() has a purpose which is to flag nodes that require special work when they have a special unique user. That's the case of our write barriers. Shuffling the code around to hide our code being the gc api makes the code less readable and more error prone. Roland From roman at kennke.org Mon Nov 19 15:29:26 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 19 Nov 2018 15:29:26 +0000 Subject: hg: shenandoah/jdk: Clean up changes in phaseX.cpp Message-ID: <201811191529.wAJFTQpp029886@aojmv0008.oracle.com> Changeset: 516ab0aa09fe Author: rkennke Date: 2018-11-19 16:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/516ab0aa09fe Clean up changes in phaseX.cpp ! src/hotspot/share/opto/phaseX.cpp From rkennke at redhat.com Mon Nov 19 15:32:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 16:32:00 +0100 Subject: RFR: Clean up changes in phaseX.cpp In-Reply-To: <87d0r1qemi.fsf@redhat.com> References: <87d0r1qemi.fsf@redhat.com> Message-ID: <1a4ebb93-2656-40c2-3373-8014afd0a3b2@redhat.com> Ok. I pushed only the phaseX.cpp changes. I've also filed https://bugs.openjdk.java.net/browse/JDK-8214057 to cover has_special_unique_user(). Thanks, Roman >> This cleans up our changes around has_special_unique_user(). Looks like >> all uses of this method are followed by calls into BarrierSetC2, which >> we can use to achieve what we need. > > The phaseX.cpp is useless so I'm fine with it being removed. I disagree > with the other changes. Sure it might be functionally equivalent, but > Node::has_special_unique_user() has a purpose which is to flag nodes > that require special work when they have a special unique user. That's > the case of our write barriers. Shuffling the code around to hide our > code being the gc api makes the code less readable and more error prone. > > Roland > From shade at redhat.com Mon Nov 19 16:44:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 17:44:43 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> Message-ID: On 11/19/18 11:39 AM, Roman Kennke wrote: > And rebased on top of removal of ShenandoahWriteBarrierCsetTestInIR: > http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.01/ I am actually pleasantly surprised the effects are almost invisible after this change. There are some generated code differences -- for example, XMM spills seem to be less frequent when barriers are present in the hot loops -- but otherwise the change is performance-neutral. I guess that is a testament for WB slowpath improvements. Do we really need to check for flags here? ShenandoahBarrierSetC2::is_shenandoah_wb_pre_call does not check any SATB-related flags. 362 bool ShenandoahBarrierSetC2::is_shenandoah_wb_call(Node* call) { 363 if (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier) { 364 return call->is_CallLeaf() && 365 call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_barrier_JRT); 366 } else { 367 return false; 368 } 369 } 370 -Aleksey From rkennke at redhat.com Mon Nov 19 18:13:56 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 19:13:56 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> Message-ID: <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> Hi Aleksey, >> And rebased on top of removal of ShenandoahWriteBarrierCsetTestInIR: >> http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.01/ > > I am actually pleasantly surprised the effects are almost invisible after this change. There are > some generated code differences -- for example, XMM spills seem to be less frequent when barriers > are present in the hot loops -- but otherwise the change is performance-neutral. > > I guess that is a testament for WB slowpath improvements. Thanks for verifying this. Yeah, I was pleasantly surprised too. > Do we really need to check for flags here? ShenandoahBarrierSetC2::is_shenandoah_wb_pre_call does > not check any SATB-related flags. > > 362 bool ShenandoahBarrierSetC2::is_shenandoah_wb_call(Node* call) { > 363 if (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier) { > 364 return call->is_CallLeaf() && > 365 call->as_CallLeaf()->entry_point() == CAST_FROM_FN_PTR(address, > ShenandoahRuntime::write_barrier_JRT); > 366 } else { > 367 return false; > 368 } > 369 } > 370 You're right, that's not needed. http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.01/ Good now? Roman From shade at redhat.com Mon Nov 19 18:16:38 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 19:16:38 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> Message-ID: <7637c9b9-23a9-861b-98a6-2df283cf0b57@redhat.com> On 11/19/18 7:13 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.01/ That must be webrev.02. Looks good. -Aleksey From roman at kennke.org Mon Nov 19 18:18:26 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 19 Nov 2018 18:18:26 +0000 Subject: hg: shenandoah/jdk: Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <201811191818.wAJIIQnq022374@aojmv0008.oracle.com> Changeset: 630f375aaf9a Author: rkennke Date: 2018-11-17 11:34 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/630f375aaf9a Avoid stub when calling to write-barrier from C2, remove all related code ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp - src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.cpp ! src/hotspot/share/opto/lcm.cpp From shade at redhat.com Mon Nov 19 19:31:15 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 20:31:15 +0100 Subject: RFR: is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP Message-ID: <1dd12e8f-8bf3-91b3-381f-37687b878aed@redhat.com> Roman made the last "wrong" call go away here: http://hg.openjdk.java.net/shenandoah/jdk/rev/b821a7cd244f Unfortunately, that change is not backportable. sh/jdk11, for example, uses PhaseMacroExpand::make_leaf_call to emit clone barrier, which emits CallLeafNoFPNode. It seems more prudent to allow matches to accept both call forms. This should be safe, as is_gc_barrier_node checks the call by target name at the end. Fix: diff -r 630f375aaf9a src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Sat Nov 17 11:34:34 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Mon Nov 19 20:30:25 2018 +0100 @@ -891,7 +891,7 @@ // Support for GC barriers emitted during parsing bool ShenandoahBarrierSetC2::is_gc_barrier_node(Node* node) const { - if (node->Opcode() != Op_CallLeaf) { + if (node->Opcode() != Op_CallLeaf && node->Opcode() != Op_CallLeafNoFP) { return false; } CallLeafNode *call = node->as_CallLeaf(); Testing: tier3_gc_shenandoah Thanks, -Aleksey From shade at redhat.com Mon Nov 19 19:36:16 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 20:36:16 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass In-Reply-To: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> References: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> Message-ID: On 11/19/18 11:31 AM, Aleksey Shipilev wrote: > On 11/19/18 10:45 AM, Roman Kennke wrote: >> I believe the changes in ciInstanceKlass::get_canonical_holder() are a >> leftover from *long* time ago when we did not create extra slices for -8 >> offset. We can remove it. >> >> Testing: tier3_gc_shenandoah >> >> http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/ > > Looks good to me. I wonder what is the definition of "leftover from *long* time ago when we did not create extra slices for -8 >> offset", because sh/jdk11 fails with this patch backported. What is up with that? Are we only safe in sh/jdk? # Internal Error (/home/shade/trunks/shenandoah-jdk11/src/hotspot/share/ci/ciInstanceKlass.cpp:209), pid=20684, tid=20715 # assert(offset >= 0 && offset < layout_helper()) failed: offset must be tame Current CompileTask: C2: 409 82 4 java.lang.String::charAt (25 bytes) Stack: [0x00007f5aec4f8000,0x00007f5aec5f9000], sp=0x00007f5aec5f4eb0, free space=1011k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x1a69e84] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x314 V [libjvm.so+0x1a6ad6f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f V [libjvm.so+0xb97d0a] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a V [libjvm.so+0x94e606] ciInstanceKlass::get_canonical_holder(int)+0x396 V [libjvm.so+0xaa3c3c] Compile::flatten_alias_type(TypePtr const*) const+0xbdc V [libjvm.so+0xaac13c] Compile::find_alias_type(TypePtr const*, bool, ciField*)+0x8c V [libjvm.so+0x17777fc] ShenandoahBarrierSetC2::shenandoah_read_barrier_impl(GraphKit*, Node*, bool, bool, bool) const+0x2cc V [libjvm.so+0x15edddb] Parse::do_get_xxx(Node*, ciField*, bool)+0x43b V [libjvm.so+0x15f090a] Parse::do_field_access(bool, bool)+0xafa -Aleksey From rkennke at redhat.com Mon Nov 19 19:47:07 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 20:47:07 +0100 Subject: RFR: is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP In-Reply-To: <1dd12e8f-8bf3-91b3-381f-37687b878aed@redhat.com> References: <1dd12e8f-8bf3-91b3-381f-37687b878aed@redhat.com> Message-ID: <55d85a82-bcce-1d32-81f2-eb19aef78292@redhat.com> ok Roman > Roman made the last "wrong" call go away here: > http://hg.openjdk.java.net/shenandoah/jdk/rev/b821a7cd244f > > Unfortunately, that change is not backportable. sh/jdk11, for example, uses > PhaseMacroExpand::make_leaf_call to emit clone barrier, which emits CallLeafNoFPNode. It seems more > prudent to allow matches to accept both call forms. This should be safe, as is_gc_barrier_node > checks the call by target name at the end. > > Fix: > > diff -r 630f375aaf9a src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Sat Nov 17 11:34:34 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Mon Nov 19 20:30:25 2018 +0100 > @@ -891,7 +891,7 @@ > > // Support for GC barriers emitted during parsing > bool ShenandoahBarrierSetC2::is_gc_barrier_node(Node* node) const { > - if (node->Opcode() != Op_CallLeaf) { > + if (node->Opcode() != Op_CallLeaf && node->Opcode() != Op_CallLeafNoFP) { > return false; > } > CallLeafNode *call = node->as_CallLeaf(); > > > Testing: tier3_gc_shenandoah > > Thanks, > -Aleksey > From rkennke at redhat.com Mon Nov 19 19:48:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 20:48:33 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass In-Reply-To: References: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> Message-ID: Uhuh. Let me check it. Maybe it was not so long ago, but instead happened with some recent changes related to GC-interfaces. Roman > On 11/19/18 11:31 AM, Aleksey Shipilev wrote: >> On 11/19/18 10:45 AM, Roman Kennke wrote: >>> I believe the changes in ciInstanceKlass::get_canonical_holder() are a >>> leftover from *long* time ago when we did not create extra slices for -8 >>> offset. We can remove it. >>> >>> Testing: tier3_gc_shenandoah >>> >>> http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/ >> >> Looks good to me. > > I wonder what is the definition of "leftover from *long* time ago when we did not create extra > slices for -8 >> offset", because sh/jdk11 fails with this patch backported. What is up with that? > Are we only safe in sh/jdk? > > # Internal Error > (/home/shade/trunks/shenandoah-jdk11/src/hotspot/share/ci/ciInstanceKlass.cpp:209), pid=20684, tid=20715 > # assert(offset >= 0 && offset < layout_helper()) failed: offset must be tame > > Current CompileTask: > C2: 409 82 4 java.lang.String::charAt (25 bytes) > > Stack: [0x00007f5aec4f8000,0x00007f5aec5f9000], sp=0x00007f5aec5f4eb0, free space=1011k > Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native > code) > V [libjvm.so+0x1a69e84] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, > Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x314 > V [libjvm.so+0x1a6ad6f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, > char const*, __va_list_tag*)+0x2f > V [libjvm.so+0xb97d0a] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a > V [libjvm.so+0x94e606] ciInstanceKlass::get_canonical_holder(int)+0x396 > V [libjvm.so+0xaa3c3c] Compile::flatten_alias_type(TypePtr const*) const+0xbdc > V [libjvm.so+0xaac13c] Compile::find_alias_type(TypePtr const*, bool, ciField*)+0x8c > V [libjvm.so+0x17777fc] ShenandoahBarrierSetC2::shenandoah_read_barrier_impl(GraphKit*, Node*, > bool, bool, bool) const+0x2cc > V [libjvm.so+0x15edddb] Parse::do_get_xxx(Node*, ciField*, bool)+0x43b > V [libjvm.so+0x15f090a] Parse::do_field_access(bool, bool)+0xafa > > -Aleksey > From shade at redhat.com Mon Nov 19 19:53:09 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 19 Nov 2018 19:53:09 +0000 Subject: hg: shenandoah/jdk: is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP Message-ID: <201811191953.wAJJr9B8013469@aojmv0008.oracle.com> Changeset: e64585600c1f Author: shade Date: 2018-11-19 20:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e64585600c1f is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp From rkennke at redhat.com Mon Nov 19 20:46:26 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 19 Nov 2018 21:46:26 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass In-Reply-To: References: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> Message-ID: <07f31496-366a-04aa-4b95-3f6c0846a77a@redhat.com> In-fact, I believe it's become possible by a very recent change: http://hg.openjdk.java.net/shenandoah/jdk/rev/6082c529aed8 In other words, it's not backportable, unless you also want to backport this other change, and probably a huge tail of other stuff (certainly in 8u). Roman > On 11/19/18 11:31 AM, Aleksey Shipilev wrote: >> On 11/19/18 10:45 AM, Roman Kennke wrote: >>> I believe the changes in ciInstanceKlass::get_canonical_holder() are a >>> leftover from *long* time ago when we did not create extra slices for -8 >>> offset. We can remove it. >>> >>> Testing: tier3_gc_shenandoah >>> >>> http://cr.openjdk.java.net/~rkennke/cleanup-ciinstanceklass/webrev.00/ >> >> Looks good to me. > > I wonder what is the definition of "leftover from *long* time ago when we did not create extra > slices for -8 >> offset", because sh/jdk11 fails with this patch backported. What is up with that? > Are we only safe in sh/jdk? > > # Internal Error > (/home/shade/trunks/shenandoah-jdk11/src/hotspot/share/ci/ciInstanceKlass.cpp:209), pid=20684, tid=20715 > # assert(offset >= 0 && offset < layout_helper()) failed: offset must be tame > > Current CompileTask: > C2: 409 82 4 java.lang.String::charAt (25 bytes) > > Stack: [0x00007f5aec4f8000,0x00007f5aec5f9000], sp=0x00007f5aec5f4eb0, free space=1011k > Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native > code) > V [libjvm.so+0x1a69e84] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, > Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x314 > V [libjvm.so+0x1a6ad6f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, > char const*, __va_list_tag*)+0x2f > V [libjvm.so+0xb97d0a] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a > V [libjvm.so+0x94e606] ciInstanceKlass::get_canonical_holder(int)+0x396 > V [libjvm.so+0xaa3c3c] Compile::flatten_alias_type(TypePtr const*) const+0xbdc > V [libjvm.so+0xaac13c] Compile::find_alias_type(TypePtr const*, bool, ciField*)+0x8c > V [libjvm.so+0x17777fc] ShenandoahBarrierSetC2::shenandoah_read_barrier_impl(GraphKit*, Node*, > bool, bool, bool) const+0x2cc > V [libjvm.so+0x15edddb] Parse::do_get_xxx(Node*, ciField*, bool)+0x43b > V [libjvm.so+0x15f090a] Parse::do_field_access(bool, bool)+0xafa > > -Aleksey > From shade at redhat.com Mon Nov 19 20:53:24 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 19 Nov 2018 21:53:24 +0100 Subject: RFR: Cleanup obsolete Shenandoah changes in ciInstanceKlass In-Reply-To: <07f31496-366a-04aa-4b95-3f6c0846a77a@redhat.com> References: <60536794-1f9a-022f-dc90-778541f9d3a8@redhat.com> <07f31496-366a-04aa-4b95-3f6c0846a77a@redhat.com> Message-ID: <2ddbad17-980e-2354-1021-d7c72aa59c10@redhat.com> On 11/19/18 9:46 PM, Roman Kennke wrote: > In-fact, I believe it's become possible by a very recent change: > > http://hg.openjdk.java.net/shenandoah/jdk/rev/6082c529aed8 Aha, that explains it. Thanks! > In other words, it's not backportable, unless you also want to backport > this other change, and probably a huge tail of other stuff (certainly in > 8u). Yeah, I'd keep it from backports for now; we would need to sync up C2 implementations across backports at some point, and that might be more convenient to test in bulk, and after sh/jdk C2 is not changing anymore. -Aleksey From shade at redhat.com Tue Nov 20 00:59:57 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 01:59:57 +0100 Subject: RFR [11] 2018-11-20: Bulk backports to sh/jdk11 Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181120/webrev.01/ This backports recent work to sh/jdk11. I skipped some C2 patches that are irrelevant in 11, because GC API is different. This also backports up to last unproblematic change, as far as Gotland sees it. List of changes: [backport] undo useless ifnode.cpp change [backport] ShenandoahMemoryPool should support usage threshold [backport] Shenandoah filter for gc/TestFullGCCount.java test [backport] Move save/restore vector registers into ShenandoahBarrierSetAssembler [backport] Compact heuristics adjustments [backport] Cherry-pick bulk MarkBitMap clearing methods [backport] Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 [backport] is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag [backport] Trivial C2 cleanups Testing: tier3_gc_shenandoah {fastdebug|release} Thanks, -Aleksey From shade at redhat.com Tue Nov 20 01:00:05 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 02:00:05 +0100 Subject: RFR [8] 2018-11-20: Bulk backports to sh/jdk8 Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181120/webrev.01/ This backports recent work to sh/jdk8u. Lots of things are skipped, because they make no sense in 8u. List of changes: [backport] ShenandoahMemoryPool should support usage threshold [backport] Compact heuristics adjustments [backport] Cherry-pick bulk MarkBitMap clearing methods [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag Testing: hotspot_tier3_gc_shenandoah {fastdebug|release} -Aleksey From rwestrel at redhat.com Tue Nov 20 08:40:51 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 20 Nov 2018 09:40:51 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <7637c9b9-23a9-861b-98a6-2df283cf0b57@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> <7637c9b9-23a9-861b-98a6-2df283cf0b57@redhat.com> Message-ID: <871s7gqgz0.fsf@redhat.com> Should I withdraw JDK-8213528 from review upstream, then? Roland. From rwestrel at redhat.com Tue Nov 20 09:28:25 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 20 Nov 2018 10:28:25 +0100 Subject: RFR: fix logic in PhaseIterGVN::add_users_to_worklist(), remove useless code from PhaseCCP::analyze() Message-ID: <87sgzwp07a.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/phaseX.cpp-fixes/webrev.00/ A small bug in PhaseIterGVN::add_users_to_worklist() and some useless code now that we never add barriers on constant oops. Roland. From rkennke at redhat.com Tue Nov 20 10:24:56 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 11:24:56 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <871s7gqgz0.fsf@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> <7637c9b9-23a9-861b-98a6-2df283cf0b57@redhat.com> <871s7gqgz0.fsf@redhat.com> Message-ID: <88DA8F56-554E-401A-9EB0-46FFD5BDCE03@redhat.com> If it's not otherwise useful, then yes, feel free to withdraw it. Thanks, Roman Am 20. November 2018 09:40:51 MEZ schrieb Roland Westrelin : > >Should I withdraw JDK-8213528 from review upstream, then? > >Roland. From rkennke at redhat.com Tue Nov 20 10:26:26 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 11:26:26 +0100 Subject: RFR: fix logic in PhaseIterGVN::add_users_to_worklist(), remove useless code from PhaseCCP::analyze() In-Reply-To: <87sgzwp07a.fsf@redhat.com> References: <87sgzwp07a.fsf@redhat.com> Message-ID: <49C19C6D-34C4-45BD-8C61-33FE759227AA@redhat.com> OK. Thanks! Roman Am 20. November 2018 10:28:25 MEZ schrieb Roland Westrelin : > >http://cr.openjdk.java.net/~roland/shenandoah/phaseX.cpp-fixes/webrev.00/ > >A small bug in PhaseIterGVN::add_users_to_worklist() and some useless >code now that we never add barriers on constant oops. > >Roland. From shade at redhat.com Tue Nov 20 10:32:26 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 11:32:26 +0100 Subject: RFR: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <88DA8F56-554E-401A-9EB0-46FFD5BDCE03@redhat.com> References: <708f4728-e5a6-74a2-d9dc-6944a0c960b4@redhat.com> <26810b8a-098f-5187-557e-41eb8bb9fce3@redhat.com> <33b39681-1766-0120-e52d-60eab3760f35@redhat.com> <7637c9b9-23a9-861b-98a6-2df283cf0b57@redhat.com> <871s7gqgz0.fsf@redhat.com> <88DA8F56-554E-401A-9EB0-46FFD5BDCE03@redhat.com> Message-ID: <17489fbf-1687-77ee-6483-cf886196aa57@redhat.com> Just wait a sec, let Roman figure out if recent failures were caused by this patch. Maybe we'll have to redo it, or it otherwise violates some critical assumption. -Aleksey On 11/20/18 11:24 AM, Roman Kennke wrote: > If it's not otherwise useful, then yes, feel free to withdraw it. > > Thanks, Roman > > Am 20. November 2018 09:40:51 MEZ schrieb Roland Westrelin : >> >> Should I withdraw JDK-8213528 from review upstream, then? >> >> Roland. From rkennke at redhat.com Tue Nov 20 11:41:44 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 12:41:44 +0100 Subject: RFR [11] 2018-11-20: Bulk backports to sh/jdk11 In-Reply-To: References: Message-ID: <4a6c6b4b-6e08-0b33-0b4f-59ac49ca7b3a@redhat.com> Looks good. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20181120/webrev.01/ > > This backports recent work to sh/jdk11. I skipped some C2 patches that are irrelevant in 11, because > GC API is different. This also backports up to last unproblematic change, as far as Gotland sees it. > List of changes: > > [backport] undo useless ifnode.cpp change > [backport] ShenandoahMemoryPool should support usage threshold > [backport] Shenandoah filter for gc/TestFullGCCount.java test > [backport] Move save/restore vector registers into ShenandoahBarrierSetAssembler > [backport] Compact heuristics adjustments > [backport] Cherry-pick bulk MarkBitMap clearing methods > [backport] Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 > [backport] is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP > [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag > [backport] Trivial C2 cleanups > > Testing: tier3_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From rkennke at redhat.com Tue Nov 20 12:20:14 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 13:20:14 +0100 Subject: RFR [8] 2018-11-20: Bulk backports to sh/jdk8 In-Reply-To: References: Message-ID: <5b611aee-858c-84ac-4ffd-9dda5bc964f8@redhat.com> Ok. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20181120/webrev.01/ > > This backports recent work to sh/jdk8u. Lots of things are skipped, because they make no sense in > 8u. List of changes: > > [backport] ShenandoahMemoryPool should support usage threshold > [backport] Compact heuristics adjustments > [backport] Cherry-pick bulk MarkBitMap clearing methods > [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag > > Testing: hotspot_tier3_gc_shenandoah {fastdebug|release} > > -Aleksey > From shade at redhat.com Tue Nov 20 13:16:52 2018 From: shade at redhat.com (shade at redhat.com) Date: Tue, 20 Nov 2018 13:16:52 +0000 Subject: hg: shenandoah/jdk11: 10 new changesets Message-ID: <201811201316.wAKDGrQD028076@aojmv0008.oracle.com> Changeset: 15ebbc8681fe Author: roland Date: 2018-11-13 15:00 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/15ebbc8681fe [backport] undo useless ifnode.cpp change ! src/hotspot/share/opto/ifnode.cpp Changeset: 4193017db15b Author: zgu Date: 2018-11-13 17:13 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/4193017db15b [backport] ShenandoahMemoryPool should support usage threshold ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp Changeset: 486ae1dc61d8 Author: zgu Date: 2018-11-14 15:08 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/486ae1dc61d8 [backport] Shenandoah filter for gc/TestFullGCCount.java test ! test/hotspot/jtreg/gc/TestFullGCCount.java Changeset: 30bd25f7b3dc Author: rkennke Date: 2018-11-15 19:45 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/30bd25f7b3dc [backport] Move save/restore vector registers into ShenandoahBarrierSetAssembler ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: 1d576f1e3fb5 Author: shade Date: 2018-11-15 16:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/1d576f1e3fb5 [backport] Compact heuristics adjustments ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Changeset: 0efa4754ef01 Author: shade Date: 2018-11-15 17:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/0efa4754ef01 [backport] Cherry-pick bulk MarkBitMap clearing methods ! src/hotspot/share/gc/shared/markBitMap.cpp ! src/hotspot/share/gc/shared/markBitMap.hpp Changeset: 6cca54241873 Author: zgu Date: 2018-11-15 16:54 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/6cca54241873 [backport] Shenandoah filter for vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001 ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/TestDriver.java Changeset: a62499c297fa Author: shade Date: 2018-11-19 20:28 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/a62499c297fa [backport] is_gc_barrier_node should accept barriers called with both CallLeaf and CallLeafNoFP ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Changeset: e2d5796a9779 Author: rkennke Date: 2018-11-19 10:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/e2d5796a9779 [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 24b78236a0de Author: rkennke Date: 2018-11-19 15:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/24b78236a0de [backport] Trivial C2 cleanups ! src/hotspot/share/opto/compile.hpp From shade at redhat.com Tue Nov 20 13:17:10 2018 From: shade at redhat.com (shade at redhat.com) Date: Tue, 20 Nov 2018 13:17:10 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 4 new changesets Message-ID: <201811201317.wAKDHA7L028227@aojmv0008.oracle.com> Changeset: 35e3f4c29bdd Author: zgu Date: 2018-11-13 17:13 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/35e3f4c29bdd [backport] ShenandoahMemoryPool should support usage threshold ! src/share/vm/services/shenandoahMemoryPool.cpp Changeset: c900ad005664 Author: shade Date: 2018-11-15 16:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/c900ad005664 [backport] Compact heuristics adjustments ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Changeset: 85aa52765a57 Author: shade Date: 2018-11-15 17:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/85aa52765a57 [backport] Cherry-pick bulk MarkBitMap clearing methods ! src/share/vm/gc_implementation/shared/markBitMap.cpp ! src/share/vm/gc_implementation/shared/markBitMap.hpp Changeset: 70ef3638af70 Author: rkennke Date: 2018-11-19 10:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/70ef3638af70 [backport] Remove ShenandoahWriteBarrierCsetTestInIR flag ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/opto/shenandoahSupport.cpp From rkennke at redhat.com Tue Nov 20 13:19:19 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 14:19:19 +0100 Subject: RFR: Save both IU and FPU state in WB stub around runtime call Message-ID: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> Turns out we do actually need to save FPU state (just not all of SSE regs) around runtime calls: interpreter might have xmm0 in use, C1 I am not sure. There's a nice MacroAssembler::push_CPU_state() that we can use and which produces nice compact code (using pusha/popa and similar FPU instructions). The only gotcha is that rsp must point to 16bytes aligned address. However, the call requires that anyway. That's why I pulled out the rsp alignment out of call_VM_leaf() and put it around the whole sequence push_CPU_state();call();pop_CPU_state(); And because that restores %rax too, I do get the result by consulting the fwd pointer of the input arg. The %rsp alignment is different than before: call_VM_leaf() generates a check+branch and 2 calls, while I do instead push %rbp; mov %rbp, %rsp; and %rsp, -16; The idea being that I don't want to generate the whole inner sequence 2x. I'm open to change that though. Testing: tier3_gc_shenandoah, previously failing test (specjvm/scimarklu_large with aggressive) http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/ Ok? Roman From shade at redhat.com Tue Nov 20 14:40:35 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 15:40:35 +0100 Subject: RFR: Save both IU and FPU state in WB stub around runtime call In-Reply-To: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> References: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> Message-ID: <7c9914e4-ca58-410e-0105-c72071a68166@redhat.com> On 11/20/18 2:19 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/ *) It is unfortunate we have to restore %rax and do the RB part of WB on this path. I don't see an easy way out, though. Please put the comment near RB on rax: // Need to restore the WB result, which have to be the forwarded object. *) Nit: movq vs. mov: 899 __ movq(rbp, rsp); ... 907 __ mov(rsp, rbp); Otherwise looks okay. -Aleksey From rkennke at redhat.com Tue Nov 20 14:46:56 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 15:46:56 +0100 Subject: RFR: Save both IU and FPU state in WB stub around runtime call In-Reply-To: <7c9914e4-ca58-410e-0105-c72071a68166@redhat.com> References: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> <7c9914e4-ca58-410e-0105-c72071a68166@redhat.com> Message-ID: <9cce0728-5224-adf9-724d-582ce8537455@redhat.com> Hi Aleksey, > On 11/20/18 2:19 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/ > > *) It is unfortunate we have to restore %rax and do the RB part of WB on this path. I don't see an > easy way out, though. Please put the comment near RB on rax: > // Need to restore the WB result, which have to be the forwarded object. The alternative would easy but ugly in other ways: do what we do now, i.e. push all (GP) registers one after the other, do the FPU parts with push_FPU_state() and pop_FPU_state(), and pop the GP registers in reverse order, except %rax. What would you prefer? Roman From shade at redhat.com Tue Nov 20 14:54:38 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 15:54:38 +0100 Subject: RFR: Save both IU and FPU state in WB stub around runtime call In-Reply-To: <9cce0728-5224-adf9-724d-582ce8537455@redhat.com> References: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> <7c9914e4-ca58-410e-0105-c72071a68166@redhat.com> <9cce0728-5224-adf9-724d-582ce8537455@redhat.com> Message-ID: <851979ff-0366-be1a-e20f-67ce24bdfa1c@redhat.com> On 11/20/18 3:46 PM, Roman Kennke wrote: >> On 11/20/18 2:19 PM, Roman Kennke wrote: >>> http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/ >> >> *) It is unfortunate we have to restore %rax and do the RB part of WB on this path. I don't see an >> easy way out, though. Please put the comment near RB on rax: >> // Need to restore the WB result, which have to be the forwarded object. > > The alternative would easy but ugly in other ways: do what we do now, > i.e. push all (GP) registers one after the other, do the FPU parts with > push_FPU_state() and pop_FPU_state(), and pop the GP registers in > reverse order, except %rax. What would you prefer? Both are ugly. RB on %eax seems a bit less ugly. I think AArch64 makes it non-ugly by doing MacroAssembler::push_call_clobbered_registers, but no such luck at x86. -Aleksey From rwestrel at redhat.com Tue Nov 20 14:52:40 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Tue, 20 Nov 2018 14:52:40 +0000 Subject: hg: shenandoah/jdk: mercurial fix logic in PhaseIterGVN::add_users_to_worklist(), remove useless code from PhaseCCP::analyze() Message-ID: <201811201452.wAKEqeA8021698@aojmv0008.oracle.com> Changeset: b02c4966d09a Author: roland Date: 2018-11-20 15:50 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b02c4966d09a mercurial fix logic in PhaseIterGVN::add_users_to_worklist(), remove useless code from PhaseCCP::analyze() ! src/hotspot/share/opto/phaseX.cpp From rkennke at redhat.com Tue Nov 20 14:57:20 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 15:57:20 +0100 Subject: RFR: Save both IU and FPU state in WB stub around runtime call In-Reply-To: <9cce0728-5224-adf9-724d-582ce8537455@redhat.com> References: <7b732b9f-5249-7e62-f077-af2de6e0516e@redhat.com> <7c9914e4-ca58-410e-0105-c72071a68166@redhat.com> <9cce0728-5224-adf9-724d-582ce8537455@redhat.com> Message-ID: <917510ac-4b34-b06c-af31-c4129c5e352f@redhat.com> Am 20.11.18 um 15:46 schrieb Roman Kennke: > Hi Aleksey, > >> On 11/20/18 2:19 PM, Roman Kennke wrote: >>> http://cr.openjdk.java.net/~rkennke/fixwbstub/webrev.00/ >> >> *) It is unfortunate we have to restore %rax and do the RB part of WB on this path. I don't see an >> easy way out, though. Please put the comment near RB on rax: >> // Need to restore the WB result, which have to be the forwarded object. > > The alternative would easy but ugly in other ways: do what we do now, > i.e. push all (GP) registers one after the other, do the FPU parts with > push_FPU_state() and pop_FPU_state(), and pop the GP registers in > reverse order, except %rax. What would you prefer? > > > Roman > In-fact, this might be better anyway because we already saved a bunch of regs at this point (%r8, %rdi, %rbb) and might not need to save some others (%rax, ..) so we can fine-tune it to do exactly what we need. Let me try this. Roman From rwestrel at redhat.com Tue Nov 20 15:18:16 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Tue, 20 Nov 2018 16:18:16 +0100 Subject: RFC: loopnode.cpp clean up Message-ID: <87pnuzpykn.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-loopopts/webrev.00/ This change includes some more gc interface entry point that I'd like to propose upstream. The one for barrier expansion from: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008288.html is included. There are also a couple for loop opts so we can call our own passes. Also loopnode.cpp currently includes tweaks to loop strip mining verification code. Strip mined loops are only fully built late in the optimization process and the expectation is that we don't run loop opts after that but with shenandoah we do. This removes most of the changes in loopnode.cpp related to loop strip mining. I intend to propose the only remaining change. Comments? Roland. From rkennke at redhat.com Tue Nov 20 17:03:45 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 18:03:45 +0100 Subject: RFR: Back out: Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <925a0c5f-69ab-02f6-d773-df8db8ee075f@redhat.com> This patch breaks C1 and interpreter because they might also use xmm registers. At the very least, we need to put our register saving code back in. We need to consider what to do with C2. I'll do the exact reverse of: http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.02/ using "hg backout" Testing: tier3_gc_shenandoah Roman From shade at redhat.com Tue Nov 20 17:06:36 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 18:06:36 +0100 Subject: RFR: Back out: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <925a0c5f-69ab-02f6-d773-df8db8ee075f@redhat.com> References: <925a0c5f-69ab-02f6-d773-df8db8ee075f@redhat.com> Message-ID: On 11/20/18 6:03 PM, Roman Kennke wrote: > This patch breaks C1 and interpreter because they might also use xmm > registers. At the very least, we need to put our register saving code > back in. We need to consider what to do with C2. > > I'll do the exact reverse of: > http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.02/ > > using "hg backout" OK. Make sure synopsis mentions "backout". -Aleksey From roman at kennke.org Tue Nov 20 17:28:20 2018 From: roman at kennke.org (roman at kennke.org) Date: Tue, 20 Nov 2018 17:28:20 +0000 Subject: hg: shenandoah/jdk: [backout] Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <201811201728.wAKHSLME016790@aojmv0008.oracle.com> Changeset: d969f26b125b Author: rkennke Date: 2018-11-20 18:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d969f26b125b [backout] Avoid stub when calling to write-barrier from C2, remove all related code ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.cpp ! src/hotspot/share/opto/lcm.cpp From rkennke at redhat.com Tue Nov 20 17:35:32 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 18:35:32 +0100 Subject: RFC: loopnode.cpp clean up In-Reply-To: <87pnuzpykn.fsf@redhat.com> References: <87pnuzpykn.fsf@redhat.com> Message-ID: <735e153e-99c8-ea16-6cf8-e4eec2726d48@redhat.com> This looks good to me. Thanks! Roman > http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-loopopts/webrev.00/ > > This change includes some more gc interface entry point that I'd like to > propose upstream. > > The one for barrier expansion from: > > http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008288.html > > is included. > > There are also a couple for loop opts so we can call our own > passes. > > Also loopnode.cpp currently includes tweaks to loop strip mining > verification code. Strip mined loops are only fully built late in the > optimization process and the expectation is that we don't run loop opts > after that but with shenandoah we do. This removes most of the changes > in loopnode.cpp related to loop strip mining. I intend to propose the > only remaining change. > > Comments? > > Roland. > From rkennke at redhat.com Tue Nov 20 18:14:21 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 19:14:21 +0100 Subject: Redo: Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <5cdcc4fc-8800-29b4-21a1-6b7ac9ab0fc1@redhat.com> This is a more conservative version of the previous patch. It preserves the exact code paths for interpreter and C1 versions of the stub, including saving+restoring the vector regs. C2 is changed to call straight into runtime as C2 obeys the C calling convention (albeit a little conservatively, apparently disabling XMM spills around calls). http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.03/ Testing: tier3_gc_shenandoah, specjvm+scimark+aggressive which was failing with previous patch WDYT? Roman From rkennke at redhat.com Tue Nov 20 20:23:58 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 20 Nov 2018 21:23:58 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub Message-ID: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> This builds on top of: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008331.html The above opens some opportunities to further improve+trim register savings around slowpath call: - r8 and rdi are already saved, no need to save them again - r12..r15 and rbx and rbp are callee-saved in all calling conventions, no need to save them - rax is used for return anyway, no need to save that - instead of moving the arg to rdi, and from there to c_rarg0 in the call, we can move it directly to c_rarg0. Notice that rdi and c_rarg0 the same on Linux, but not on windows. - instead of using pushs+pops, and thus doing both stack access and register math, do all the accesses in one sequence and then add/sub rsp in one instruction (that's how bulk saves/restores are done everywhere else) I don't think it's doing much performance wise because it's the slow-path anyway, and vector saving/restoring (32*8 words) would drown it anway, but it's slightly nicer too I think. I'll not push for it, if not considered useful. Testing: tier3_gc_shenandoah, specjvm+aggressive http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ Roman From shade at redhat.com Tue Nov 20 22:02:37 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 20 Nov 2018 23:02:37 +0100 Subject: Redo: Avoid stub when calling to write-barrier from C2, remove all related code In-Reply-To: <5cdcc4fc-8800-29b4-21a1-6b7ac9ab0fc1@redhat.com> References: <5cdcc4fc-8800-29b4-21a1-6b7ac9ab0fc1@redhat.com> Message-ID: On 11/20/18 7:14 PM, Roman Kennke wrote: > This is a more conservative version of the previous patch. It preserves > the exact code paths for interpreter and C1 versions of the stub, > including saving+restoring the vector regs. C2 is changed to call > straight into runtime as C2 obeys the C calling convention (albeit a > little conservatively, apparently disabling XMM spills around calls). > > http://cr.openjdk.java.net/~rkennke/remove-c2-wb-stub/webrev.03/ OK, let's try to push this one. -Aleksey From roman at kennke.org Tue Nov 20 22:17:26 2018 From: roman at kennke.org (roman at kennke.org) Date: Tue, 20 Nov 2018 22:17:26 +0000 Subject: hg: shenandoah/jdk: Redo: Avoid stub when calling to write-barrier from C2, remove all related code Message-ID: <201811202217.wAKMHQ3v005717@aojmv0008.oracle.com> Changeset: 1d4acad4a605 Author: rkennke Date: 2018-11-20 23:17 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1d4acad4a605 Redo: Avoid stub when calling to write-barrier from C2, remove all related code ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp - src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.cpp ! src/hotspot/share/opto/lcm.cpp From shade at redhat.com Wed Nov 21 11:31:02 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 21 Nov 2018 12:31:02 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> Message-ID: <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> On 11/20/18 9:23 PM, Roman Kennke wrote: > I don't think it's doing much performance wise because it's the > slow-path anyway, and vector saving/restoring (32*8 words) would drown > it anway, but it's slightly nicer too I think. I'll not push for it, if > not considered useful. It might be useful if it simplifies and streamlines things. Death by a thousand cuts is real. > Testing: tier3_gc_shenandoah, specjvm+aggressive > > http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ Can you rebase it to current Shenandoah, please? Thanks, -Aleksey From rkennke at redhat.com Wed Nov 21 11:56:15 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 12:56:15 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> Message-ID: <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> Hi Aleksey, >> I don't think it's doing much performance wise because it's the >> slow-path anyway, and vector saving/restoring (32*8 words) would drown >> it anway, but it's slightly nicer too I think. I'll not push for it, if >> not considered useful. > > It might be useful if it simplifies and streamlines things. Death by a thousand cuts is real. > >> Testing: tier3_gc_shenandoah, specjvm+aggressive >> >> http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ > > Can you rebase it to current Shenandoah, please? It is already based on current Shenandoah. Roman From shade at redhat.com Wed Nov 21 11:57:34 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 21 Nov 2018 12:57:34 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> Message-ID: On 11/21/18 12:56 PM, Roman Kennke wrote: >>> http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ >> >> Can you rebase it to current Shenandoah, please? > > It is already based on current Shenandoah. I meant, please rebase the patch against current sh/jdk, which now includes the "redo" of WB change. -Aleksey From rkennke at redhat.com Wed Nov 21 12:10:17 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 13:10:17 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> Message-ID: <1596997b-6a42-8c5f-1315-983504c1b083@redhat.com> Wait a sec. What I posted includes the redo. Sorry. Give me a minute. Roman > On 11/21/18 12:56 PM, Roman Kennke wrote: >>>> http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ >>> >>> Can you rebase it to current Shenandoah, please? >> >> It is already based on current Shenandoah. > > I meant, please rebase the patch against current sh/jdk, which now includes the "redo" of WB change. > > -Aleksey > From rkennke at redhat.com Wed Nov 21 12:09:39 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 13:09:39 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> Message-ID: > On 11/21/18 12:56 PM, Roman Kennke wrote: >>>> http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ >>> >>> Can you rebase it to current Shenandoah, please? >> >> It is already based on current Shenandoah. > > I meant, please rebase the patch against current sh/jdk, which now includes the "redo" of WB change. Yes, and I meant, it's already based on the redo ;-) Roman From rkennke at redhat.com Wed Nov 21 12:11:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 13:11:24 +0100 Subject: RFR: Improve/trim register saving/restoring around WB slowpath call in stub In-Reply-To: References: <9afe213c-916c-c2eb-b83c-86c63399fee1@redhat.com> <1043a044-9af2-b09a-19a1-2944b5abe95e@redhat.com> <5c93b67a-5106-7021-804a-6d9c1e4a75cf@redhat.com> Message-ID: http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.01/ Roman > On 11/21/18 12:56 PM, Roman Kennke wrote: >>>> http://cr.openjdk.java.net/~rkennke/improve-wb-stub/webrev.00/ >>> >>> Can you rebase it to current Shenandoah, please? >> >> It is already based on current Shenandoah. > > I meant, please rebase the patch against current sh/jdk, which now includes the "redo" of WB change. > > -Aleksey > From rkennke at redhat.com Wed Nov 21 16:23:37 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 17:23:37 +0100 Subject: RFR: Cherry-pick: 8213615: GC/C2 abstraction for escape analysis Message-ID: <5cb079f1-6699-6e30-eaa4-6aa47bc908fe@redhat.com> In order to ease (tomorrow's) upstream merge, I'd like to cherry-pick the escape analysis patch from upstream and add the relevant Shenandoah stuff to it. http://cr.openjdk.java.net/~rkennke/JDK-8213615-shenandoah/webrev.00/ Testing: Tier3_gc_shenandoah Ok? From zgu at redhat.com Wed Nov 21 16:36:34 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 21 Nov 2018 11:36:34 -0500 Subject: RFR: Cherry-pick: 8213615: GC/C2 abstraction for escape analysis In-Reply-To: <5cb079f1-6699-6e30-eaa4-6aa47bc908fe@redhat.com> References: <5cb079f1-6699-6e30-eaa4-6aa47bc908fe@redhat.com> Message-ID: <4e5957c3-657a-218d-05cd-f948e0363cff@redhat.com> Okay, -Zhengyu On 11/21/18 11:23 AM, Roman Kennke wrote: > In order to ease (tomorrow's) upstream merge, I'd like to cherry-pick > the escape analysis patch from upstream and add the relevant Shenandoah > stuff to it. > > http://cr.openjdk.java.net/~rkennke/JDK-8213615-shenandoah/webrev.00/ > > Testing: Tier3_gc_shenandoah > > Ok? > From roman at kennke.org Wed Nov 21 17:01:38 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 21 Nov 2018 17:01:38 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8213615: GC/C2 abstraction for escape analysis Message-ID: <201811211701.wALH1cOv011948@aojmv0008.oracle.com> Changeset: 6527441de37e Author: rkennke Date: 2018-11-15 10:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6527441de37e Cherry-pick: 8213615: GC/C2 abstraction for escape analysis ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp From rkennke at redhat.com Wed Nov 21 20:18:03 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 21 Nov 2018 21:18:03 +0100 Subject: RFR: Cherry-pick: 8213746: GC/C2 abstraction for C2 matcher Message-ID: <52f492fc-2b61-8460-49df-af1d6790d772@redhat.com> In order to ease merge from upstream, I'd like to cherry-pick "8213746: GC/C2 abstraction for C2 matcher" plus the corresponding Shenandoah changes: http://cr.openjdk.java.net/~rkennke/JDK-8213746-shenandoah/webrev/ Testing: tier3_gc_sheanndoah Ok? Roman From shade at redhat.com Wed Nov 21 22:52:30 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 21 Nov 2018 23:52:30 +0100 Subject: RFR: Cherry-pick: 8213746: GC/C2 abstraction for C2 matcher In-Reply-To: <52f492fc-2b61-8460-49df-af1d6790d772@redhat.com> References: <52f492fc-2b61-8460-49df-af1d6790d772@redhat.com> Message-ID: On 11/21/18 9:18 PM, Roman Kennke wrote: > In order to ease merge from upstream, I'd like to cherry-pick "8213746: > GC/C2 abstraction for C2 matcher" plus the corresponding Shenandoah changes: > > http://cr.openjdk.java.net/~rkennke/JDK-8213746-shenandoah/webrev/ *) Whitespace oddity at L1445: 1444 Node* newval = n->in(MemNode::ValueIn); 1445 Node* oldval = n->in(LoadStoreConditionalNode::ExpectedIn); Otherwise good. -Aleksey From roman at kennke.org Thu Nov 22 08:19:03 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 22 Nov 2018 08:19:03 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8213746: GC/C2 abstraction for C2 matcher Message-ID: <201811220819.wAM8J44n006280@aojmv0008.oracle.com> Changeset: f8eae592a9bf Author: rkennke Date: 2018-11-20 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f8eae592a9bf Cherry-pick: 8213746: GC/C2 abstraction for C2 matcher ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp From rkennke at redhat.com Thu Nov 22 15:43:49 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 16:43:49 +0100 Subject: RFR: Upstream merge to jdk-12+21 Message-ID: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> jdk-12+21 arrived, let's merge up to it: http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-22/outgoing.txt Relevant changes: - 8213615: GC/C2 abstraction for escape analysis - 8213373: Bulk MarkBitMap clearing methods - 8214027: Reinstate testB_mem_imm pattern in x86_64.ad - 8213779: Loop opts anti dependent store detection should ignore uncommon trap calls - 8212070: Introduce diagnostic flag to abort VM on failed JIT compilation - 8213746: GC/C2 abstraction for C2 matcher - 8213992: Rename and make DieOnSafepointTimeout the diagnostic option - 8213352: Separate BufferNode allocation from PtrQueueSet Testing: Tier3_gc_shenandoah (release+fastdebug) OK? Roman From zgu at redhat.com Thu Nov 22 16:32:55 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 22 Nov 2018 11:32:55 -0500 Subject: RFR: Adjust SA to reflect recent changes on JVM side Message-ID: Recently upstreamed additional CollectedHeap APIs are slightly different from the ones when SA was implemented. Adjusting SA code to match recent changes on JVM side. http://cr.openjdk.java.net/~zgu/shenandoah/sh-sa-refactor/webrev.00/index.html Test: tier3_gc_shenandoah and hotspot_serviceability (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Thu Nov 22 17:45:38 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 18:45:38 +0100 Subject: RFR: Adjust SA to reflect recent changes on JVM side In-Reply-To: References: Message-ID: Good! Thanks! Roman > Recently upstreamed additional CollectedHeap APIs are slightly different > from the ones when SA was implemented. Adjusting SA code to match recent > changes on JVM side. > > http://cr.openjdk.java.net/~zgu/shenandoah/sh-sa-refactor/webrev.00/index.html > > > > Test: > > ? tier3_gc_shenandoah and hotspot_serviceability (fastdebug and release) > > Thanks, > > -Zhengyu From shade at redhat.com Thu Nov 22 17:49:31 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 22 Nov 2018 18:49:31 +0100 Subject: RFR: Upstream merge to jdk-12+21 In-Reply-To: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> References: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> Message-ID: On 11/22/18 4:43 PM, Roman Kennke wrote: > jdk-12+21 arrived, let's merge up to it: > > http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-22/outgoing.txt Upstream is broken with JDK-8213419. We can pick up this merge, but we should really consider doing another merge/cherry-pick soon. Thanks, -Aleksey From rkennke at redhat.com Thu Nov 22 17:50:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 18:50:33 +0100 Subject: RFR: Upstream merge to jdk-12+21 In-Reply-To: References: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> Message-ID: Is there a fix to cherry-pick already? I can also wait a little... Roman > On 11/22/18 4:43 PM, Roman Kennke wrote: >> jdk-12+21 arrived, let's merge up to it: >> >> http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-22/outgoing.txt > > Upstream is broken with JDK-8213419. We can pick up this merge, but we should really consider doing > another merge/cherry-pick soon. > > Thanks, > -Aleksey > > From shade at redhat.com Thu Nov 22 17:52:18 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 22 Nov 2018 18:52:18 +0100 Subject: RFR: Upstream merge to jdk-12+21 In-Reply-To: References: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> Message-ID: <63e95952-7145-8700-9190-d9d3f78717a9@redhat.com> On 11/22/18 6:50 PM, Roman Kennke wrote: > Is there a fix to cherry-pick already? I can also wait a little... Roland and others are working on it here: http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-November/035402.html Realistically, I would give it a day to properly hit the repo and testing. -Aleksey From shade at redhat.com Thu Nov 22 17:52:54 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 22 Nov 2018 18:52:54 +0100 Subject: RFR: Adjust SA to reflect recent changes on JVM side In-Reply-To: References: Message-ID: On 11/22/18 5:32 PM, Zhengyu Gu wrote: > Recently upstreamed additional CollectedHeap APIs are slightly different from the ones when SA was > implemented. Adjusting SA code to match recent changes on JVM side. > > http://cr.openjdk.java.net/~zgu/shenandoah/sh-sa-refactor/webrev.00/index.html Looks good! -Aleksey From shade at redhat.com Thu Nov 22 17:54:19 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 22 Nov 2018 18:54:19 +0100 Subject: RFR: Upstream merge to jdk-12+21 In-Reply-To: <63e95952-7145-8700-9190-d9d3f78717a9@redhat.com> References: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> <63e95952-7145-8700-9190-d9d3f78717a9@redhat.com> Message-ID: <73b7eba5-3ff0-a91f-fe0e-3101e127c227@redhat.com> On 11/22/18 6:52 PM, Aleksey Shipilev wrote: > On 11/22/18 6:50 PM, Roman Kennke wrote: >> Is there a fix to cherry-pick already? I can also wait a little... > > Roland and others are working on it here: > http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-November/035402.html > > Realistically, I would give it a day to properly hit the repo and testing. Also, it would be after jdk-12+21 tag, right? So we gain nothing by waiting. It is easier for us to cherry-pick after the merge, and wait next week for another merge to gain the actual fix. -Aleksey From rkennke at redhat.com Thu Nov 22 17:59:17 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 18:59:17 +0100 Subject: RFR: Upstream merge to jdk-12+21 In-Reply-To: <73b7eba5-3ff0-a91f-fe0e-3101e127c227@redhat.com> References: <3fbd865d-d8f2-a734-ad35-8b31f373bf44@redhat.com> <63e95952-7145-8700-9190-d9d3f78717a9@redhat.com> <73b7eba5-3ff0-a91f-fe0e-3101e127c227@redhat.com> Message-ID: <514b2058-8eb4-c648-6049-e98f618201bd@redhat.com> > On 11/22/18 6:52 PM, Aleksey Shipilev wrote: >> On 11/22/18 6:50 PM, Roman Kennke wrote: >>> Is there a fix to cherry-pick already? I can also wait a little... >> >> Roland and others are working on it here: >> http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-November/035402.html >> >> Realistically, I would give it a day to properly hit the repo and testing. > > Also, it would be after jdk-12+21 tag, right? So we gain nothing by waiting. It is easier for us to > cherry-pick after the merge, and wait next week for another merge to gain the actual fix. Ok, I'll push it then. Thanks, Roman From roman at kennke.org Thu Nov 22 18:00:22 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 22 Nov 2018 18:00:22 +0000 Subject: hg: shenandoah/jdk: 83 new changesets Message-ID: <201811221800.wAMI0SAw017928@aojmv0008.oracle.com> Changeset: 3a9384c12260 Author: jiangli Date: 2018-11-14 18:49 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3a9384c12260 8213713: Minor issues during MetaspaceShared::initialize_runtime_shared_and_meta_spaces Summary: 1)Populate MetaspaceShared::_core_spaces_size early at mapping time; 2)Fix FileMapInfo::validate_shared_path_table to report failure properly; 3)Remove dead code in FileMapInfo::validate_shared_path_table. Reviewed-by: iklam, ccheung ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: 8934429cfb0b Author: jjg Date: 2018-11-14 16:11 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8934429cfb0b 8213910: Invalid HTML in java.net.http.HttpClient Reviewed-by: mchung, darcy ! src/java.net.http/share/classes/java/net/http/HttpClient.java Changeset: 06fdb8783d51 Author: jjg Date: 2018-11-14 16:27 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/06fdb8783d51 8213913: Redundant HTML in java.se/module-info.java Reviewed-by: lancea, mchung ! src/java.se/share/classes/module-info.java Changeset: 8fffe44e0400 Author: jwilhelm Date: 2018-11-15 01:58 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8fffe44e0400 Added tag jdk-12+20 for changeset 40098289d580 ! .hgtags Changeset: 3cef1aaf3d89 Author: pmuthuswamy Date: 2018-11-15 11:23 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3cef1aaf3d89 8206475: Repeated word in error message Reviewed-by: sundar ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Changeset: 9111de8b09a1 Author: ssahoo Date: 2018-11-14 23:12 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9111de8b09a1 8211787: javax/net/ssl/TLSCommon/TLSTest.java throws java.net.SocketTimeoutException: Read timed out Summary: java.net.SocketTimeoutException: Read timed out Reviewed-by: xuelei ! test/jdk/javax/net/ssl/TLSCommon/TLSTest.java Changeset: 40474b7105f4 Author: rkennke Date: 2018-11-15 10:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/40474b7105f4 8213615: GC/C2 abstraction for escape analysis Reviewed-by: kvn, roland ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp ! src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp Changeset: 1a534c7926cc Author: mgronlun Date: 2018-11-15 11:10 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1a534c7926cc 8210024: JFR calls virtual is_Java_thread from ~Thread() Reviewed-by: kbarrett, dholmes, dcubed, egahlin ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.hpp ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp ! src/hotspot/share/jfr/support/jfrThreadLocal.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: a2413ed39eff Author: michaelm Date: 2018-11-15 11:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a2413ed39eff 8213616: URLPermission with query or fragment behaves incorrectly Reviewed-by: chegar, dfuchs ! src/java.base/share/classes/java/net/URLPermission.java ! test/jdk/java/net/URLPermission/URLPermissionTest.java Changeset: c02aa8873ff2 Author: mbaesken Date: 2018-10-02 13:48 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c02aa8873ff2 8211106: [windows] Update OS detection code to recognize Windows Server 2019 Reviewed-by: alanb, clanger, bobv ! src/hotspot/os/windows/os_windows.cpp ! src/java.base/windows/native/libjava/java_props_md.c Changeset: 2ed42e41e712 Author: sgehwolf Date: 2018-11-14 09:34 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2ed42e41e712 8213736: Build fails with LOG=debug on F28 after JDK-8210958 Summary: Add --no-print-directory to make invocation of create-main-targets-include Reviewed-by: erikj, tbell ! make/InitSupport.gmk Changeset: 6e8c1206cca1 Author: neliasso Date: 2018-11-15 09:45 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6e8c1206cca1 8213538: VM crashes when MaxVectorSize is set to 0, 1 or 2 Summary: Require MaxVectorSize minimum 4 on 64 bit Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 8ba2479fe7fa Author: dtitov Date: 2018-11-15 09:56 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8ba2479fe7fa 8203174: [Graal] JDI tests fail with Unexpected exception: com.sun.jdi.ObjectCollectedException Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance001.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ArrayType/newInstance/newinstance003.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances002/instances002.java ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances003/instances003.java ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/HeapwalkingDebuggee.java Changeset: 1092ba73cb2d Author: apetcher Date: 2018-11-15 13:22 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1092ba73cb2d 8213363: X25519 private key PKCS#8 encoding/decoding is incorrect Summary: Fixed private key format to match spec in RFC 8410 Reviewed-by: mullan ! src/jdk.crypto.ec/share/classes/sun/security/ec/XDHPrivateKeyImpl.java ! test/jdk/sun/security/ec/xec/TestXDH.java + test/jdk/sun/security/ec/xec/XECKeyFormat.java Changeset: 367ca5f32505 Author: manc Date: 2018-11-13 22:08 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/367ca5f32505 8213829: Remove circular dependency between g1CollectedHeap and g1ConcurrentMark Summary: Improve include statements related to g1CollectedHeap.inline.hpp Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/dirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 5b87d3fc1093 Author: shade Date: 2018-11-15 21:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b87d3fc1093 8213373: Bulk MarkBitMap clearing methods Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shared/markBitMap.cpp ! src/hotspot/share/gc/shared/markBitMap.hpp Changeset: 7dd81e82d083 Author: dlong Date: 2018-11-15 09:04 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7dd81e82d083 8210777: Update Graal Reviewed-by: kvn ! make/CompileJavaModules.gmk ! make/test/JtregGraalUnit.gmk ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTBackend.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTCompilationTask.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTHotSpotResolvedJavaMethod.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTStub.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/DataBuilder.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalManagement.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapImplTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapLargeTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicMapTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EconomicSetTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/EquivalenceTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections.test/src/jdk/internal/vm/compiler/collections/test/PairTest.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMapImpl.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Equivalence.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/MapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Pair.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableMapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/package-info.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/ComparableWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/LocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/Pointer.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/PointerBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/SignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/UnsignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordBoxFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOpcode.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/impl/WordFactoryOperation.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64BaseAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/CompilationResult.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64AddSubShiftTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64MoveFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/NumUtil.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/SpeculativeExecutionAttacksMitigations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/BiDirectionalTraceBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/ComputeBlockOrder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/TraceStatisticsPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/AbstractBlockBase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ArrayOffsetProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/CodeGenProviders.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/AbstractPointerStamp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.jdk9.test/src/org/graalvm/compiler/core/test/ea/AtomicVirtualizationTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.match.processor/src/org/graalvm/compiler/core/match/processor/MatchProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest13.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DumpPathTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraphResetDebugTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardedIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LongNodeChainTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EATestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAAssertionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeAnalysisTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/UnsafeCompareAndSwapVirtualizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysisTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilationWrapper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/GraphChangeMonitoringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/MidTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/DebugContextTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug.test/src/org/graalvm/compiler/debug/test/TimerKeyTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DiagnosticsOutputDirectory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph.test/src/org/graalvm/compiler/graph/test/graphio/GraphSnippetTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeSourcePosition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotMoveFactory.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/BmiAndn.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/BmiBlsi.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/BmiBlsmsk.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/BmiBlsr.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/BmiCompilerTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64ArrayIndexOfStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotCounterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRGenerator.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.lir.test/src/org/graalvm/compiler/hotspot/lir/test/BenchmarkCounterOverflowTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc.test/src/org/graalvm/compiler/core/sparc/test/SPARCAllocatorTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc.test/src/org/graalvm/compiler/hotspot/sparc/test/SPARCAllocatorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ConstantPoolSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/DataPatchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRLockTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotStackIntrospectionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/JVMCIInfopointErrorTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestIntrinsicCompiles.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationStatistics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationTask.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCompiledCodeBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCounterOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntime.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotHostBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/debug/BenchmarkCounters.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/debug/doc-files/AbortOnBenchmarkCounterOverflowHelp.txt ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/debug/doc-files/BenchmarkDynamicCountersHelp.txt ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProviderImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/HotSpotNarrowOopStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/Stub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/ComputeLoopFrequenciesClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotpath/HP_allocate02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/TrichotomyTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance03.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance06.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Class_newInstance07.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArrayCompareToOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArrayEqualsOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64SpeculativeBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayCompareToOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringIndexOfOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringLatin1InflateOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringUTF16CompressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanOptimizeSpillPositionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantLoadOptimization.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantTree.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantTreeAnalyzer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPartialUnrollPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.test/src/org/graalvm/compiler/loop/test/LoopPartialUnrollTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/CountedLoopInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DefaultLoopPolicies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DerivedScaledInductionVariable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo.processor/src/org/graalvm/compiler/nodeinfo/processor/GraphNodeProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/Cancellable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InvokeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopEndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/NamedLocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ShortCircuitOrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/BinaryArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/CompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConditionalNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerBelowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLessThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLowerThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NegateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ObjectEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RightShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnpackEndianHalfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/ControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/DynamicCounterNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/OpaqueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GetClassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadHubNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MultiGuardNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/OpaqueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawLoadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/RawStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnboxNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractUnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/DynamicNewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LogicCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/DelegatingReplacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Replacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/VirtualizerTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/type/NarrowOopStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/CommitAllocationNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/virtual/VirtualObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.processor/src/org/graalvm/compiler/options/processor/OptionProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FixReadsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IncrementalCanonicalizerPhase.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/InsertGuardFencesPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IterativeConditionalEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ProfileCompiledMethodsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/InliningUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/elem/InlineableGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/InliningData.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/EconomicSetNodeEventListener.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/HashSetNodeEventListener.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/contract/NodeCostUtil.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/FixedNodeProbabilityCache.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/FixedNodeRelativeFrequencyCache.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/SchedulePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/Providers.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/verify/VerifyBailoutUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/BinaryGraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CFGPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.processor/src/org/graalvm/compiler/processor/AbstractProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringIndexOfNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk12.test/src/org/graalvm/compiler/replacements/jdk12/test/UnsafeObjectReplacementsTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/VarHandleTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/test/UnsafeReplacementsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/test/VarHandleTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9_11.test/src/org/graalvm/compiler/replacements/jdk9_11/test/UnsafeObjectReplacementsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedFoldPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedNodeIntrinsicPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/PluginGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/ReplacementsAnnotationProcessor.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArrayEqualsConstantLengthTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArraysSubstitutionsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArraysSubstitutionsTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/FoldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/MethodSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ReplacementsParseTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringCompressInflateTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfDeoptimizeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfTestBase.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/ClassfileBytecodeProviderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/RedefineIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/CachingPEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ConstantStringIndexOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/JDK9StringSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/NodeIntrinsificationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider.processor/src/org/graalvm/compiler/serviceprovider/processor/ServiceProviderProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/SubprocessUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordCastNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/BigIntegerBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/StringBenchmark.java ! test/hotspot/jtreg/ProblemList-graal.txt - test/hotspot/jtreg/compiler/graalunit/CoreSparcTest.java + test/hotspot/jtreg/compiler/graalunit/EATest.java + test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java + test/hotspot/jtreg/compiler/graalunit/LirTest.java + test/hotspot/jtreg/compiler/graalunit/Replacements12Test.java + test/hotspot/jtreg/compiler/graalunit/Replacements9Test.java + test/hotspot/jtreg/compiler/graalunit/Replacements9_11Test.java ! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt Changeset: fbedca07d49f Author: iignatyev Date: 2018-11-15 14:01 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fbedca07d49f 8213922: fix ctw stand-alone build Reviewed-by: kvn, roland ! test/hotspot/jtreg/testlibrary/ctw/Makefile Changeset: 73f6a850a62f Author: iignatyev Date: 2018-11-15 14:01 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/73f6a850a62f 8213926: WB_EnqueueInitializerForCompilation requests compilation for NULL Reviewed-by: kvn, roland ! src/hotspot/share/prims/whitebox.cpp Changeset: d402a406bbc3 Author: dholmes Date: 2018-11-15 17:55 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d402a406bbc3 8213723: More Monitor/mutex initialization management 8213893: StringTable_lock is unused Reviewed-by: tschatzl, dcubed, coleenp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp Changeset: 6df094be7f58 Author: kbarrett Date: 2018-11-15 19:59 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6df094be7f58 8213352: Separate BufferNode allocation from PtrQueueSet Summary: Move free-list management and allocation to new class. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/dirtyCardQueue.cpp ! src/hotspot/share/gc/g1/dirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1SATBMarkQueueSet.cpp ! src/hotspot/share/gc/g1/g1SATBMarkQueueSet.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp + test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp Changeset: a3aa8d5380d9 Author: jcm Date: 2018-11-15 21:26 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a3aa8d5380d9 8212779: ADL Parser does not check allocation return values in all cases Summary: made to fail gracefully in case of malloc failure. Reviewed-by: kvn ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/arena.cpp ! src/hotspot/share/adlc/arena.hpp ! src/hotspot/share/adlc/forms.cpp ! src/hotspot/share/adlc/formssel.cpp Changeset: 5ab248e47901 Author: dzhou Date: 2018-11-15 21:53 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5ab248e47901 8210408: Refactor java.util.ResourceBundle:i18n shell tests to plain java tests Reviewed-by: naoto + test/jdk/java/util/ResourceBundle/Bug6299235/Bug6299235Test.java + test/jdk/java/util/ResourceBundle/Bug6299235/patches/java.desktop/sun/awt/resources/awt_ru_RU.java - test/jdk/java/util/ResourceBundle/Bug6299235Test.java - test/jdk/java/util/ResourceBundle/Bug6299235Test.sh - test/jdk/java/util/ResourceBundle/awtres.jar + test/jdk/java/util/ResourceBundle/modules/ModuleTestUtil.java - test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResourcesProviderImpl.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResourcesProviderImpl.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java - test/jdk/java/util/ResourceBundle/modules/basic/basic.sh - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/asia/MyResources_vi.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/eu/MyResources_es.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResourcesMain.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/basic/src/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_de.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_fr.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResourcesProviderImpl.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources_en.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/spi/MyResourcesProvider.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_ja.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResourcesEU.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_de.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_fr.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResourcesProviderImpl.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources_en.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/spi/MyResourcesProvider.java + test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_de.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_fr.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/asia/MyResources_vi.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/eu/MyResources_es.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResourcesMain.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources_en.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/extra/jdk/test/resources/MyResources_vi.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_de.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_en.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_fr.java + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_ja.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh_TW.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_de.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_en.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_fr.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_ja.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh_TW.properties + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/spi/MyResourcesProvider.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_de.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_en.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_fr.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_ja.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh_TW.xml + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/spi/MyResourcesProvider.java + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/module-info.java + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/jdk/test/Main.java + test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java - test/jdk/java/util/ResourceBundle/modules/layer/run.sh ! test/jdk/java/util/ResourceBundle/modules/layer/src/Main.java - test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh - test/jdk/java/util/ResourceBundle/modules/modlocal/src/extra/jdk/test/resources/MyResources_vi.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/simple/simple.sh - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/simple/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/simple/src/test/module-info.java + test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java - test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh + test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java - test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_de.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_en.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_fr.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_ja.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh_TW.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh Changeset: f7f90fddce02 Author: mbaesken Date: 2018-11-15 17:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f7f90fddce02 8211326: add OS user related information to hs_err file Reviewed-by: dholmes, stuefe ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/posix/os_posix.hpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 74109912c738 Author: coleenp Date: 2018-11-16 07:30 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/74109912c738 8213751: ClassLoaderDataGraph::cld_do() should sometimes require CLDG_lock Summary: Add version of loaded_cld_do for runtime calls. Reviewed-by: eosterlund, rehn ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.cpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/memory/metaspace.cpp Changeset: 6cd56deebb0d Author: coleenp Date: 2018-11-16 10:54 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6cd56deebb0d 8213092: Add more runtime locks for concurrent class unloading Summary: Add locks for calling CLDG::purge concurrently as well and for calling SystemDictionary::do_unloading concurrently. Reviewed-by: eosterlund, hseigel ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/packageEntry.hpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: a41566ad8756 Author: erikj Date: 2018-11-16 08:25 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a41566ad8756 8213906: Update arm devkits with libXrandr headers Reviewed-by: tbell, prr ! make/conf/jib-profiles.js Changeset: bd96a1bd01ca Author: bulasevich Date: 2018-11-16 19:29 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bd96a1bd01ca 8213410: UseCompressedOops requirement check fails fails on 32-bit system Reviewed-by: dholmes ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspaceMemoryPool.java ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java ! test/hotspot/jtreg/runtime/CompressedOops/CompressedClassSpaceSize.java ! test/hotspot/jtreg/runtime/Metaspace/MaxMetaspaceSizeTest.java ! test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java Changeset: c6b63df2765f Author: bulasevich Date: 2018-11-16 19:29 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c6b63df2765f 8213794: ARM32: disable TypeProfiling, CriticalJNINatives, Serviceablity tests for ARM32 Reviewed-by: dholmes ! src/hotspot/cpu/arm/vm_version_arm_32.cpp ! test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java ! test/hotspot/jtreg/compiler/runtime/criticalnatives/argumentcorruption/CheckLongArgs.java ! test/hotspot/jtreg/compiler/runtime/criticalnatives/lookup/LookUp.java ! test/lib/jdk/test/lib/Platform.java Changeset: 82d1cc4ac90c Author: bulasevich Date: 2018-11-16 19:30 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/82d1cc4ac90c 8213947: ARM32: failed check_simd should set UsePopCountInstruction to false Reviewed-by: kvn ! src/hotspot/cpu/arm/vm_version_arm_32.cpp Changeset: 1c6db22ba7cf Author: dlong Date: 2018-11-16 09:35 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1c6db22ba7cf 8213959: add org.graalvm.compiler.replacements.test.StringCompressInflateTest to graal problem list Reviewed-by: thartmann, kvn ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 8c887dcd5d90 Author: erikj Date: 2018-11-16 09:49 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8c887dcd5d90 8214003: Limit default test jobs based on memory size Reviewed-by: shade, tbell ! make/RunTests.gmk ! make/RunTestsPrebuilt.gmk Changeset: 4d8a023c2a03 Author: jiangli Date: 2018-11-16 13:23 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4d8a023c2a03 8213898: CDS dumping of springboot asserts in G1ArchiveAllocator::alloc_new_region Summary: HeapRegionManager::find_highest_free needs to check if the region obtained from the HeapRegionManager::_regions is available. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 16609197022c Author: redestad Date: 2018-11-16 23:39 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks 8061282: Migrate jmh-jdk-microbenchmarks into the JDK Reviewed-by: ecaspole, mchung, erikj, ihse Contributed-by: magnus.ihse.bursie at oracle.com, erik.joelsson at oracle.com, claes.redestad at oracle.com, sfriberg at kth.se ! doc/testing.html ! doc/testing.md ! make/Help.gmk ! make/InitSupport.gmk ! make/Main.gmk ! make/RunTests.gmk ! make/autoconf/configure.ac ! make/autoconf/lib-tests.m4 ! make/autoconf/spec.gmk.in ! make/common/FindTests.gmk ! make/common/JarArchive.gmk ! make/conf/jib-profiles.js + make/devkit/createJMHBundle.sh + make/test/BuildMicrobenchmark.gmk + test/micro/org/openjdk/bench/java/io/BlackholedOutputStream.java + test/micro/org/openjdk/bench/java/io/FileChannelRead.java + test/micro/org/openjdk/bench/java/io/FileChannelWrite.java + test/micro/org/openjdk/bench/java/io/FileRead.java + test/micro/org/openjdk/bench/java/io/FileWrite.java + test/micro/org/openjdk/bench/java/io/ObjectStreamClasses.java + test/micro/org/openjdk/bench/java/io/RandomAccessRead.java + test/micro/org/openjdk/bench/java/io/RandomAccessWrite.java + test/micro/org/openjdk/bench/java/io/SerializationWriteReplace.java + test/micro/org/openjdk/bench/java/io/UTF8.java + test/micro/org/openjdk/bench/java/lang/ArrayCopy.java + test/micro/org/openjdk/bench/java/lang/ArrayCopyAligned.java + test/micro/org/openjdk/bench/java/lang/ArrayCopyUnalignedBoth.java + test/micro/org/openjdk/bench/java/lang/ArrayCopyUnalignedDst.java + test/micro/org/openjdk/bench/java/lang/ArrayCopyUnalignedSrc.java + test/micro/org/openjdk/bench/java/lang/ClassForName.java + test/micro/org/openjdk/bench/java/lang/Clone.java + test/micro/org/openjdk/bench/java/lang/FloatingDecimal.java + test/micro/org/openjdk/bench/java/lang/GetStackTrace.java + test/micro/org/openjdk/bench/java/lang/Integers.java + test/micro/org/openjdk/bench/java/lang/Longs.java + test/micro/org/openjdk/bench/java/lang/NewInstance.java + test/micro/org/openjdk/bench/java/lang/ObjectHashCode.java + test/micro/org/openjdk/bench/java/lang/StringBuffers.java + test/micro/org/openjdk/bench/java/lang/StringBuilders.java + test/micro/org/openjdk/bench/java/lang/StringConcat.java + test/micro/org/openjdk/bench/java/lang/StringHashCode.java + test/micro/org/openjdk/bench/java/lang/StringHttp.java + test/micro/org/openjdk/bench/java/lang/StringIndexOf.java + test/micro/org/openjdk/bench/java/lang/StringOther.java + test/micro/org/openjdk/bench/java/lang/StringUpperLower.java + test/micro/org/openjdk/bench/java/lang/Systems.java + test/micro/org/openjdk/bench/java/lang/ThreadStartJoin.java + test/micro/org/openjdk/bench/java/lang/invoke/CallSiteSetTarget.java + test/micro/org/openjdk/bench/java/lang/invoke/CallSiteSetTargetSelf.java + test/micro/org/openjdk/bench/java/lang/invoke/CallSiteStable.java + test/micro/org/openjdk/bench/java/lang/invoke/LookupAcquire.java + test/micro/org/openjdk/bench/java/lang/invoke/LookupDefaultFind.java + test/micro/org/openjdk/bench/java/lang/invoke/LookupPublicFind.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleAsCollector.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleAsSpreader.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleAsVarargsCollector.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleBasicInvoke.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleBindToBinding.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleBindToCurry.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertBoxing.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertCast.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertReturnPrimitive.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertReturnReference.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertReturnVoid.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertUnboxing.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleConvertWidening.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleInvokeWithArgs.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleProxiesAsIFInstance.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandleProxiesSuppl.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesArrayElementGetter.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesArrayElementSetter.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesCatchException.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesConstant.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesDropArguments.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesExactInvoker.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesFilterArgs.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesFilterReturn.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesFoldArguments.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesGuardWithTest.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesIdentity.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesInsertArguments.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesInvoker.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesPermuteArguments.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesSpreadInvoker.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesThrowException.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeAcquire.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeAppendParams.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeChangeParam.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeChangeReturn.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeDropParams.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeGenerify.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodTypeInsertParams.java + test/micro/org/openjdk/bench/java/lang/invoke/SwitchPointAdhoc.java + test/micro/org/openjdk/bench/java/lang/invoke/SwitchPointGuard.java + test/micro/org/openjdk/bench/java/lang/reflect/Clazz.java + test/micro/org/openjdk/bench/java/lang/reflect/ClazzWithSecurityManager.java + test/micro/org/openjdk/bench/java/lang/reflect/MethodInvoke.java + test/micro/org/openjdk/bench/java/math/BigDecimals.java + test/micro/org/openjdk/bench/java/math/BigIntegers.java + test/micro/org/openjdk/bench/java/net/DatagramSocketTest.java + test/micro/org/openjdk/bench/java/net/SocketChannelReadWrite.java + test/micro/org/openjdk/bench/java/net/SocketReadWrite.java + test/micro/org/openjdk/bench/java/net/SocketStreaming.java + test/micro/org/openjdk/bench/java/net/URLEncodeDecode.java + test/micro/org/openjdk/bench/java/nio/ByteBuffers.java + test/micro/org/openjdk/bench/java/nio/CharsetEncodeDecode.java + test/micro/org/openjdk/bench/java/security/DoPrivileged.java + test/micro/org/openjdk/bench/java/security/MessageDigests.java + test/micro/org/openjdk/bench/java/util/ArraysEquals.java + test/micro/org/openjdk/bench/java/util/Dates.java + test/micro/org/openjdk/bench/java/util/GregorianCalendars.java + test/micro/org/openjdk/bench/java/util/RandomNext.java + test/micro/org/openjdk/bench/java/util/ZipFind.java + test/micro/org/openjdk/bench/java/util/concurrent/Atomic.java + test/micro/org/openjdk/bench/java/util/concurrent/AtomicIntegerUpdateAndGet.java + test/micro/org/openjdk/bench/java/util/concurrent/ForkJoinPoolForking.java + test/micro/org/openjdk/bench/java/util/concurrent/ForkJoinPoolRawCallable.java + test/micro/org/openjdk/bench/java/util/concurrent/ForkJoinPoolThresholdAutoQueued.java + test/micro/org/openjdk/bench/java/util/concurrent/ForkJoinPoolThresholdAutoSurplus.java + test/micro/org/openjdk/bench/java/util/concurrent/ForkJoinPoolThresholdStatic.java + test/micro/org/openjdk/bench/java/util/concurrent/Locks.java + test/micro/org/openjdk/bench/java/util/concurrent/Maps.java + test/micro/org/openjdk/bench/java/util/concurrent/Problem.java + test/micro/org/openjdk/bench/java/util/concurrent/ProducerConsumer.java + test/micro/org/openjdk/bench/java/util/concurrent/Queues.java + test/micro/org/openjdk/bench/java/util/concurrent/ThreadLocalRandomNextInt.java + test/micro/org/openjdk/bench/java/util/logging/LogRecord.java + test/micro/org/openjdk/bench/java/util/stream/AllMatcher.java + test/micro/org/openjdk/bench/java/util/stream/AnyMatcher.java + test/micro/org/openjdk/bench/java/util/stream/Decomposition.java + test/micro/org/openjdk/bench/java/util/stream/NoneMatcher.java + test/micro/org/openjdk/bench/java/util/stream/Reducers.java + test/micro/org/openjdk/bench/java/util/stream/ops/LongAccumulator.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/AllMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/AllMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/AnyMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/AnyMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/Filter.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/FindAny.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/FindFirst.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/ForEach.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/Limit.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/Map.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/NoneMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/NoneMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/Reduce.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/ReduceBase.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/Sorted.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/SortedUnique.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/UniqueElements.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/AllMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/AllMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/AnyMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/AnyMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/Filter.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/FindAny.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/FindFirst.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/ForEach.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/Limit.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/Map.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/NoneMatch.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/NoneMatchShort.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/Reduce.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/ReduceBase.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/Sorted.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/SortedUnique.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/UniqueElements.java + test/micro/org/openjdk/bench/java/util/stream/pipeline/PipelineParMultiple.java + test/micro/org/openjdk/bench/java/util/stream/pipeline/PipelineSeqMultiple.java + test/micro/org/openjdk/bench/java/util/stream/pipeline/PipelineSetup.java + test/micro/org/openjdk/bench/java/util/stream/pipeline/Terminal.java + test/micro/org/openjdk/bench/java/util/stream/tasks/DataProviders.java + test/micro/org/openjdk/bench/java/util/stream/tasks/DictionaryWordValue/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/DictionaryWordValue/DictionaryProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/DictionaryWordValue/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/DictionaryWordValue/Xtras.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerDuplicate/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerDuplicate/IntegerDuplicateProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerDuplicate/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerMax/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerMax/IntegerMaxProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerMax/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerMax/Xtras.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerSum/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerSum/IntegerSumProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerSum/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/IntegerSum/Xtras.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PhoneCode/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PhoneCode/PhoneCodeProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/PrimesProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t100/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t100/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t100/Xtras.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t10000/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t10000/Lambda.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesFilter/t10000/Xtras.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesSieve/Bulk.java + test/micro/org/openjdk/bench/java/util/stream/tasks/PrimesSieve/PrimesSieveProblem.java + test/micro/org/openjdk/bench/java/util/stream/tasks/README + test/micro/org/openjdk/bench/javax/crypto/AES.java + test/micro/org/openjdk/bench/javax/crypto/Crypto.java + test/micro/org/openjdk/bench/javax/tools/Javac.java + test/micro/org/openjdk/bench/javax/xml/AbstractXMLMicro.java + test/micro/org/openjdk/bench/javax/xml/DOM.java + test/micro/org/openjdk/bench/javax/xml/SAXUsingJDK.java + test/micro/org/openjdk/bench/javax/xml/STAX.java + test/micro/org/openjdk/bench/vm/compiler/ArrayBoundCheckRemoval.java + test/micro/org/openjdk/bench/vm/compiler/ArrayClear.java + test/micro/org/openjdk/bench/vm/compiler/ArrayStoreCheck.java + test/micro/org/openjdk/bench/vm/compiler/CopyLoop.java + test/micro/org/openjdk/bench/vm/compiler/DivRem.java + test/micro/org/openjdk/bench/vm/compiler/Explosion.java + test/micro/org/openjdk/bench/vm/compiler/InnerClassNullRef.java + test/micro/org/openjdk/bench/vm/compiler/InterfaceCalls.java + test/micro/org/openjdk/bench/vm/compiler/Multiplication.java + test/micro/org/openjdk/bench/vm/compiler/PostAllocationStores.java + test/micro/org/openjdk/bench/vm/compiler/SpillCode.java + test/micro/org/openjdk/bench/vm/compiler/StoreAfterStore.java + test/micro/org/openjdk/bench/vm/compiler/Straighten.java + test/micro/org/openjdk/bench/vm/compiler/WriteBarrier.java + test/micro/org/openjdk/bench/vm/gc/Alloc.java + test/micro/org/openjdk/bench/vm/lambda/capture/Capture0.java + test/micro/org/openjdk/bench/vm/lambda/capture/Capture2.java + test/micro/org/openjdk/bench/vm/lambda/capture/CaptureMR.java + test/micro/org/openjdk/bench/vm/lambda/capture/FunctionalInterface0.java + test/micro/org/openjdk/bench/vm/lambda/capture/FunctionalInterface1.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainAnonymCap0.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainAnonymCap1.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainAnonymCap4.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainBase.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainLambdaCap0.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainLambdaCap1.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainLambdaCap4.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainMrefBound.java + test/micro/org/openjdk/bench/vm/lambda/chain/ChainMrefUnbound.java + test/micro/org/openjdk/bench/vm/lambda/chain/Level.java + test/micro/org/openjdk/bench/vm/lambda/chain/TopLevel.java + test/micro/org/openjdk/bench/vm/lambda/invoke/AckermannI.java + test/micro/org/openjdk/bench/vm/lambda/invoke/AckermannL.java + test/micro/org/openjdk/bench/vm/lambda/invoke/Function0.java + test/micro/org/openjdk/bench/vm/lambda/invoke/Function1.java + test/micro/org/openjdk/bench/vm/lambda/invoke/Morph0.java + test/micro/org/openjdk/bench/vm/lambda/invoke/Morph1.java + test/micro/org/openjdk/bench/vm/lambda/invoke/Morph2.java + test/micro/org/openjdk/bench/vm/lang/InstanceOf.java + test/micro/org/openjdk/bench/vm/lang/LockUnlock.java + test/micro/org/openjdk/bench/vm/lang/Throw.java Changeset: dfa02b3f728c Author: ccheung Date: 2018-11-16 16:10 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/dfa02b3f728c 8201375: Add the AllowArchivingWithJavaAgent diagnostic vm option to allow the use of the -javaagent option during CDS dumping Summary: Allow Java agent during CDS dumping if the AllowArchivingWithJavaAgent dignostic option is specified. Reviewed-by: iklam, jiangli, sspitsyn, dcubed ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/thread.cpp ! test/hotspot/jtreg/runtime/appcds/javaldr/AnonVmClassesDuringDump.java ! test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java ! test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java + test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/DumpingWithJavaAgent.java + test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/DumpingWithJvmtiAgent.java + test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/SimpleAgent.java + test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/SimpleAgent.mf + test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/libAddToSystemCLSearchOnLoad.c Changeset: 3cda8fed1524 Author: jcbeyler Date: 2018-11-16 19:27 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3cda8fed1524 8212931: HeapMonitorStatIntervalTest.java fails due average calculation Summary: Added a method to get the actual size Reviewed-by: amenkov, sspitsyn ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitor.java ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatIntervalTest.java ! test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c Changeset: 0379b618ec46 Author: weijun Date: 2018-11-17 18:11 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0379b618ec46 8212003: Deprecating the default keytool -keyalg option Reviewed-by: mullan, xuelei ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources.java + test/jdk/sun/security/tools/keytool/DeprecateKeyalg.java ! test/jdk/sun/security/tools/keytool/KeyToolTest.java ! test/jdk/sun/security/tools/keytool/WeakAlg.java Changeset: a2e22b1ee4a1 Author: shade Date: 2018-11-17 13:48 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a2e22b1ee4a1 8214004: Missing space between compiler thread name and task info in hs_err Reviewed-by: dcubed, zgu ! src/hotspot/share/runtime/thread.cpp Changeset: 66ddc32d2dc5 Author: rrich Date: 2018-11-16 15:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/66ddc32d2dc5 8213902: com/sun/jdi/SetLocalWhileThreadInNative.java times out Reviewed-by: dholmes, jcbeyler Contributed-by: richard.reingruber at sap.com ! test/jdk/com/sun/jdi/SetLocalWhileThreadInNative.java Changeset: d32e5b7100ee Author: iklam Date: 2018-11-16 17:46 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d32e5b7100ee 8213948: Solaris-X64 build fails with compact hashtable Reviewed-by: dcubed, shade ! src/hotspot/share/classfile/compactHashtable.hpp Changeset: 4ea75a606797 Author: bsrbnd Date: 2018-11-18 19:45 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ea75a606797 8214027: Reinstate testB_mem_imm pattern in x86_64.ad Reviewed-by: rkennke ! src/hotspot/cpu/x86/x86_64.ad Changeset: e89a4cbffba0 Author: coffeys Date: 2018-11-19 09:56 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e89a4cbffba0 8210838: Override javax.crypto.Cipher.toString() Reviewed-by: mullan, weijun ! src/java.base/share/classes/javax/crypto/Cipher.java ! test/jdk/javax/crypto/Cipher/TestCipherMode.java Changeset: 6548ad72dff8 Author: roland Date: 2018-11-13 09:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6548ad72dff8 8213779: Loop opts anti dependent store detection should ignore uncommon trap calls Reviewed-by: kvn ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: b8c88c64abf0 Author: shade Date: 2018-11-19 11:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b8c88c64abf0 8212070: Introduce diagnostic flag to abort VM on failed JIT compilation Reviewed-by: mikael, thartmann ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/runtime/globals.hpp Changeset: 8dce966d649d Author: gadams Date: 2018-11-19 07:05 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8dce966d649d 8213916: no copyright in signature.html Reviewed-by: sspitsyn, rriggs, jcbeyler ! src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html Changeset: da785658408b Author: redestad Date: 2018-11-19 13:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/da785658408b 8214045: Missing explicit dependencies of build-microbenchmark cause intermittent build failure Reviewed-by: ihse, dholmes ! make/Main.gmk Changeset: 61241fc2217a Author: roland Date: 2018-11-08 10:20 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/61241fc2217a 8211451: ~2.5% regression on compression benchmark starting with 12-b11 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 83b1d9797b20 Author: phedlin Date: 2017-12-06 13:07 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/83b1d9797b20 8191339: [JVMCI] BigInteger compiler intrinsics on Graal Reviewed-by: kvn ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp Changeset: 7ac273f045e3 Author: erikj Date: 2018-11-19 08:52 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7ac273f045e3 8214062: JDK-8167368 Leftover: get_source.sh in build documentation Reviewed-by: dholmes, erikj Contributed-by: merkel05 at gmail.com ! doc/building.html ! doc/building.md Changeset: b7192ab3fdf5 Author: simonis Date: 2018-11-19 19:25 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b7192ab3fdf5 8214007: Fix sun.awt.nativedebug on X11 platforms Reviewed-by: erikj, ihse ! make/lib/Awt2dLibraries.gmk Changeset: 6902fefe90aa Author: stuefe Date: 2018-11-19 22:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6902fefe90aa 8214075: [BACKOUT] 8214007: Fix sun.awt.nativedebug on X11 platforms Reviewed-by: shade, dholmes ! make/lib/Awt2dLibraries.gmk Changeset: ed02e6cd595d Author: cushon Date: 2018-11-19 10:47 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ed02e6cd595d 8214071: Broken msg.bug diagnostics when using the compiler API Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java + test/langtools/tools/javac/api/CrashReport.java Changeset: 2d612914f10b Author: xyin Date: 2018-11-20 09:59 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2d612914f10b 8129310: java/net/Socket/asyncClose/AsyncClose.java fails intermittently Reviewed-by: dfuchs ! test/jdk/java/net/Socket/asyncClose/AsyncCloseTest.java ! test/jdk/java/net/Socket/asyncClose/DatagramSocket_receive.java ! test/jdk/java/net/Socket/asyncClose/ServerSocket_accept.java Changeset: 9a899e2c3e64 Author: pmuthuswamy Date: 2018-11-20 10:07 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9a899e2c3e64 8213920: Use {@systemProperty} tag for properties listed in System.getProperties Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/lang/System.java Changeset: 1a395165c09b Author: pmuthuswamy Date: 2018-11-20 10:50 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1a395165c09b 8184205: Captions on tabbed tables are squashed together Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlAttr.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: b55c5c0ee24f Author: pliden Date: 2018-11-20 08:17 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b55c5c0ee24f 8213623: ZGC: Let heap iteration walk all roots Reviewed-by: eosterlund, kbarrett ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zRootsIterator.hpp Changeset: 4ed308e0e89b Author: rehn Date: 2018-11-20 09:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4ed308e0e89b 8213560: gtests might hang Reviewed-by: rwestberg, eosterlund ! test/hotspot/gtest/threadHelper.inline.hpp Changeset: 5b4242996d8c Author: eosterlund Date: 2018-11-20 10:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5b4242996d8c 8212682: Avoid holding Compile_lock when blocking for GC in ObjArrayKlass::allocate_objArray_klass() Reviewed-by: coleenp, dlong ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: 5f47b56cb867 Author: eosterlund Date: 2018-11-20 10:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5f47b56cb867 8212992: Change mirror accessor in Klass::verify_on() to use AS_NO_KEEPALIVE Reviewed-by: coleenp, pliden ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/oopHandle.hpp ! src/hotspot/share/oops/oopHandle.inline.hpp Changeset: f7309a1491d9 Author: coffeys Date: 2018-11-20 13:12 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f7309a1491d9 8148188: Enhance the security libraries to record events of interest Reviewed-by: egahlin, mullan, weijun, xuelei ! src/java.base/share/classes/java/security/Security.java + src/java.base/share/classes/jdk/internal/event/EventHelper.java + src/java.base/share/classes/jdk/internal/event/SecurityPropertyModificationEvent.java + src/java.base/share/classes/jdk/internal/event/TLSHandshakeEvent.java + src/java.base/share/classes/jdk/internal/event/X509CertificateEvent.java + src/java.base/share/classes/jdk/internal/event/X509ValidationEvent.java ! src/java.base/share/classes/sun/security/provider/X509Factory.java ! src/java.base/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java ! src/java.base/share/classes/sun/security/ssl/Finished.java + src/jdk.jfr/share/classes/jdk/jfr/events/CertificateId.java + src/jdk.jfr/share/classes/jdk/jfr/events/SecurityPropertyModificationEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/TLSHandshakeEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/X509CertificateEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/X509ValidationEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/jdk/jdk/jfr/event/runtime/TestModuleEvents.java + test/jdk/jdk/jfr/event/security/TestSecurityPropertyModificationEvent.java + test/jdk/jdk/jfr/event/security/TestTLSHandshakeEvent.java + test/jdk/jdk/jfr/event/security/TestX509CertificateEvent.java + test/jdk/jdk/jfr/event/security/TestX509ValidationEvent.java + test/jdk/jdk/security/logging/LogJvm.java + test/jdk/jdk/security/logging/TestSecurityPropertyModificationLog.java + test/jdk/jdk/security/logging/TestTLSHandshakeLog.java + test/jdk/jdk/security/logging/TestX509CertificateLog.java + test/jdk/jdk/security/logging/TestX509ValidationLog.java + test/jdk/jdk/security/logging/logging.properties ! test/lib/jdk/test/lib/jfr/EventNames.java + test/lib/jdk/test/lib/security/JDKSecurityProperties.java + test/lib/jdk/test/lib/security/SSLSocketTest.java + test/lib/jdk/test/lib/security/TestCertificate.java + test/lib/jdk/test/lib/security/TestTLSHandshake.java Changeset: 7a8af2f1f0c5 Author: sdama Date: 2018-11-20 21:59 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7a8af2f1f0c5 8210742: compound var declaration type is not uniform for all variables Summary: make implicit type for all variables in compound declaration as null for which type inference happens at later phase Reviewed-by: mcimadamore Contributed-by: srinivas.dama at oracle.com ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: ba5c08883729 Author: joehw Date: 2018-11-20 09:22 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ba5c08883729 8210722: JAXP Tests: CatalogSupport2 and CatalogSupport3 generate incorrect messages upon failure Reviewed-by: lancea ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport2.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport3.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupportBase.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport_uri.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogTest.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/catalog.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/catalog_uri.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/pubOnly.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/rewritesystem.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/rewritesystem1.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/sysAndPub.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/sysOnly.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/system.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/systemsuffix.xml ! test/jaxp/javax/xml/jaxp/unittest/catalog/val_test.xml Changeset: bbdebc744bf3 Author: simonis Date: 2018-11-20 19:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bbdebc744bf3 8214125: [test] Fix comparison between pointer and integer in test_ptrQueueBufferAllocator.cpp Reviewed-by: mdoerr, shade, stuefe, tschatzl ! test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp Changeset: 5e23b9a66fe6 Author: cushon Date: 2018-11-19 09:57 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5e23b9a66fe6 8213908: AssertionError in DeferredAttr at setOverloadKind Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/langtools/tools/javac/lambda/methodReference/MethodRefStuck2.java Changeset: 991fe09c698c Author: redestad Date: 2018-11-20 21:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/991fe09c698c 8213033: Archive remaining primitive box caches Reviewed-by: jiangli, alanb ! src/hotspot/share/memory/heapShared.cpp ! src/java.base/share/classes/java/lang/Byte.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/Short.java ! test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java ! test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java ! test/hotspot/jtreg/runtime/appcds/cacheObject/CheckIntegerCacheApp.java Changeset: e7d8ea5bfc8f Author: rkennke Date: 2018-11-20 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e7d8ea5bfc8f 8213746: GC/C2 abstraction for C2 matcher Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp Changeset: 639a3e43f5b7 Author: shade Date: 2018-11-20 22:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/639a3e43f5b7 8213992: Rename and make DieOnSafepointTimeout the diagnostic option Reviewed-by: dholmes, dcubed, coleenp, kvn ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/safepoint.cpp Changeset: 2fbe6f9975cf Author: zgu Date: 2018-11-20 20:09 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2fbe6f9975cf 8214124: [TESTBUG] Bugs in runtime/NMT/MallocStressTest.java Summary: Fix possible negative size and index that can cause the test to fail Reviewed-by: stuefe, shade ! test/hotspot/jtreg/runtime/NMT/MallocStressTest.java Changeset: 68d450652337 Author: jcbeyler Date: 2018-11-20 18:36 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/68d450652337 8214154: problem list HeapMonitorStatIntervalTest.java Summary: Add the test to the problem list until solved Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 3009ca99de32 Author: iklam Date: 2018-11-20 20:00 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3009ca99de32 8213587: Speed up CDS dump time by using resizable hashtables Reviewed-by: jiangli, coleenp, gziemski ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classListParser.hpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/gc/g1/g1CodeCacheRemSet.cpp ! src/hotspot/share/memory/metaspaceClosure.cpp ! src/hotspot/share/memory/metaspaceClosure.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/hashtable.hpp ! src/hotspot/share/utilities/hashtable.inline.hpp ! src/hotspot/share/utilities/resourceHash.hpp ! test/hotspot/jtreg/runtime/appcds/AppCDSOptions.java + test/hotspot/jtreg/runtime/appcds/LotsOfClasses.java ! test/hotspot/jtreg/runtime/appcds/TestCommon.java ! test/lib/jdk/test/lib/cds/CDSOptions.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 1089e8fd8439 Author: roland Date: 2018-11-14 13:15 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1089e8fd8439 8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1 Reviewed-by: kvn, dlong, aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp + test/hotspot/jtreg/compiler/integerArithmetic/MultiplyByIntegerMinHang.java Changeset: f94ac11610b3 Author: rgoel Date: 2018-11-21 14:24 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f94ac11610b3 8209923: Unicode 11.0.0. Summary: Updated JDK to support Unicode 11.0.0. Reviewed-by: naoto ! make/data/characterdata/CharacterData00.java.template ! make/data/characterdata/CharacterData01.java.template ! make/data/unicodedata/PropList.txt ! make/data/unicodedata/Scripts.txt ! make/data/unicodedata/SpecialCasing.txt ! make/data/unicodedata/UnicodeData.txt ! make/data/unicodedata/VERSION ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/sun/text/normalizer/ICUBinary.java ! src/java.base/share/classes/sun/text/resources/nfc.icu ! src/java.base/share/classes/sun/text/resources/nfkc.icu ! src/java.base/share/classes/sun/text/resources/nfkc_cf.icu ! src/java.base/share/classes/sun/text/resources/ubidi.icu ! src/java.base/share/classes/sun/text/resources/uprops.icu ! src/java.base/share/legal/icu.md ! src/java.base/share/legal/unicode.md ! src/java.desktop/share/classes/java/awt/font/NumericShaper.java ! test/jdk/java/lang/Character/PropList.txt ! test/jdk/java/lang/Character/PropertyValueAliases.txt ! test/jdk/java/lang/Character/Scripts.txt ! test/jdk/java/lang/Character/SpecialCasing.txt ! test/jdk/java/lang/Character/UnicodeBlock/Blocks.txt ! test/jdk/java/lang/Character/UnicodeData.txt ! test/jdk/java/lang/Character/charprop00.bin ! test/jdk/java/lang/Character/charprop01.bin ! test/jdk/java/lang/Character/charprop02.bin ! test/jdk/java/lang/Character/charprop03.bin ! test/jdk/java/lang/Character/charprop0E.bin ! test/jdk/java/lang/Character/charprop0F.bin ! test/jdk/java/lang/Character/charprop10.bin Changeset: 85283f9565da Author: thartmann Date: 2018-11-21 15:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/85283f9565da 8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2 Summary: Added missing null checks and checks for pending exception. Reviewed-by: kvn ! src/hotspot/share/opto/doCall.cpp + test/hotspot/jtreg/compiler/arguments/TestScavengeRootsInCode.java Changeset: 6938c8ef179a Author: jlahoda Date: 2018-11-21 15:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6938c8ef179a 8212982: Rule cases in switch expression accepted even if complete normally Summary: Ensure an error is reported if switch expression does not correctly produce a value. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/langtools/tools/javac/diags/examples/RuleCompletesNormally.java + test/langtools/tools/javac/diags/examples/SwitchExpressionCompletesNormally.java ! test/langtools/tools/javac/expswitch/ExpSwitchNestingTest.java + test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.java + test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.out Changeset: f52ea62d68cc Author: simonis Date: 2018-11-21 15:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f52ea62d68cc 8214120: [REDO] Fix sun.awt.nativedebug on X11 platforms Reviewed-by: stuefe, ihse ! make/lib/Awt2dLibraries.gmk ! src/java.desktop/share/native/common/awt/debug/debug_assert.c ! src/java.desktop/share/native/common/awt/debug/debug_assert.h ! src/java.desktop/share/native/common/awt/debug/debug_trace.c ! src/java.desktop/share/native/common/awt/debug/debug_trace.h Changeset: 0877040ec224 Author: kbarrett Date: 2018-11-21 09:40 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0877040ec224 8214144: Remove confusing locking_enqueue_completed_buffer Summary: Remove function. Reviewed-by: tschatzl, manc ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp Changeset: f39854fffca0 Author: coffeys Date: 2018-11-21 15:09 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f39854fffca0 8213942: URLStreamHandler initialization race Reviewed-by: alanb, chegar, prappo ! src/java.base/share/classes/java/net/URL.java + test/jdk/java/net/URL/RacyHandler.java Changeset: fa6e4d0216a1 Author: bpb Date: 2018-11-21 08:16 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fa6e4d0216a1 8213235: java/nio/channels/SocketChannel/AsyncCloseChannel.java fails with threads that didn't exit Reviewed-by: alanb, dfuchs ! test/jdk/java/nio/channels/SocketChannel/AsyncCloseChannel.java Changeset: 3a7d49718852 Author: jcbeyler Date: 2018-11-21 09:38 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3a7d49718852 8213721: [Graal] Tests vmTestbase/nsk/stress/except/except* may be encountering SEGV during out-of-memory conditions Summary: Add the exception handler only for the current thread Reviewed-by: dholmes, sspitsyn, thartmann ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except001.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except002.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except003.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except004.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except005.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except006.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except007.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except008.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except009.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except010.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except011.java ! test/hotspot/jtreg/vmTestbase/nsk/stress/except/except012.java Changeset: 09a3f379b927 Author: alanb Date: 2018-11-21 18:44 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/09a3f379b927 8214078: (fs) SecureDirectoryStream not supported on arm32 Reviewed-by: alanb Contributed-by: nick.gasson at arm.com ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: 9cfc8b0c45fd Author: jcbeyler Date: 2018-11-21 10:46 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9cfc8b0c45fd 8214149: Move out assignments when not using NSK*VERIFY macros Summary: Move out the assignments from ifs Reviewed-by: sspitsyn, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent02.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent03.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Exception/exception001/exception001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes001/bytecodes001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes002/bytecodes002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes003/bytecodes003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001/contmon001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002/contmon002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon003/contmon003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJNIFunctionTable/getjniftab001/getjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJNIFunctionTable/getjniftab002/getjniftab002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetOwnedMonitorInfo/ownmoninf001/ownmoninf001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe001/popframe001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe003/popframe003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe004/popframe004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/stressRedefine.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass001/redefclass001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass002/redefclass002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass003/redefclass003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass004/redefclass004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass005/redefclass005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass006/redefclass006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass008/redefclass008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass009/redefclass009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass010/redefclass010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass014/redefclass014.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass018/redefclass018.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass031/redefclass031.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw004/setfldw004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw005/setfldw005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw006/setfldw006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/setjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab002/setjniftab002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/tc02t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t001/ji03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t002/ji03t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t003/ji03t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t004/ji03t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/ji05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretbase/earlyretbase.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/events/redefineCFLH/JvmtiTest/JvmtiTest.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.cpp ! test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp Changeset: f8fb0c86f2b3 Author: apetcher Date: 2018-11-21 15:06 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f8fb0c86f2b3 8213202: Possible race condition in TLS 1.3 session resumption Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java Changeset: 80ea835bf95c Author: rkennke Date: 2018-11-22 14:25 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/80ea835bf95c Merge ! .hgtags ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/markBitMap.cpp ! src/hotspot/share/gc/shared/markBitMap.hpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/gc/shared/satbMarkQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/ifnode.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ArrayOffsetProvider.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc.test/src/org/graalvm/compiler/core/sparc/test/SPARCAllocatorTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringIndexOfOp.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/OpaqueNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/HashSetNodeEventListener.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/FixedNodeProbabilityCache.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringIndexOfNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/VarHandleTest.java ! test/hotspot/jtreg/ProblemList.txt - test/hotspot/jtreg/compiler/graalunit/CoreSparcTest.java ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent00.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent01.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent02.cpp ! test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine07/agent03.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Exception/exception001/exception001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes001/bytecodes001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes002/bytecodes002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetBytecodes/bytecodes003/bytecodes003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon001/contmon001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon002/contmon002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentContendedMonitor/contmon003/contmon003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJNIFunctionTable/getjniftab001/getjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJNIFunctionTable/getjniftab002/getjniftab002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetOwnedMonitorInfo/ownmoninf001/ownmoninf001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe001/popframe001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe003/popframe003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/PopFrame/popframe004/popframe004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/stressRedefine.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass001/redefclass001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass002/redefclass002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass003/redefclass003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass004/redefclass004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass005/redefclass005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass006/redefclass006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass008/redefclass008.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass009/redefclass009.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass010/redefclass010.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass014/redefclass014.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass018/redefclass018.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass031/redefclass031.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw004/setfldw004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw005/setfldw005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw006/setfldw006.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/setjniftab001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab002/setjniftab002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/tc02t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t001/ji03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t002/ji03t002.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t003/ji03t003.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t004/ji03t004.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/ji05t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/ForceEarlyReturn/earlyretbase/earlyretbase.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/events/redefineCFLH/JvmtiTest/JvmtiTest.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.cpp ! test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.cpp ! test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp - test/jdk/java/util/ResourceBundle/Bug6299235Test.java - test/jdk/java/util/ResourceBundle/Bug6299235Test.sh - test/jdk/java/util/ResourceBundle/awtres.jar - test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResourcesProviderImpl.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResourcesProviderImpl.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/basic.sh - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/asia/MyResources_vi.properties - test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/eu/MyResources_es.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResourcesMain.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/basic/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/basic/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/layer/run.sh - test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh - test/jdk/java/util/ResourceBundle/modules/modlocal/src/extra/jdk/test/resources/MyResources_vi.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/simple/simple.sh - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_de.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_en.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_fr.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_ja.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh_TW.properties - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/simple/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/simple/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh - test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_de.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_en.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_fr.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_ja.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh_TW.xml - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/module-info.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/jdk/test/Main.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/module-info.java - test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh From rkennke at redhat.com Thu Nov 22 20:07:10 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 21:07:10 +0100 Subject: RFR: Cherry-pick: 8214055: GC/C2 abstraction for phaseX Message-ID: <2972af31-ebe2-b685-9c80-8a2c0786ed7b@redhat.com> In order to ease the next upstream merge, and because the patch does not even conflict, I'd like to cherry-pick: 8214055: GC/C2 abstraction for phaseX and move/add the corresponding Shenandoah parts. http://cr.openjdk.java.net/~rkennke/JDK-8214055-shenandoah/webrev.01/ Testing: tier3_gc_shenandoah Ok? Roman From shade at redhat.com Thu Nov 22 20:10:32 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 22 Nov 2018 21:10:32 +0100 Subject: RFR: Cherry-pick: 8214055: GC/C2 abstraction for phaseX In-Reply-To: <2972af31-ebe2-b685-9c80-8a2c0786ed7b@redhat.com> References: <2972af31-ebe2-b685-9c80-8a2c0786ed7b@redhat.com> Message-ID: <6b90eb4c-0da6-3231-b87c-e21234f5a33d@redhat.com> On 11/22/18 9:07 PM, Roman Kennke wrote: > In order to ease the next upstream merge, and because the patch does not > even conflict, I'd like to cherry-pick: 8214055: GC/C2 abstraction for > phaseX and move/add the corresponding Shenandoah parts. > > http://cr.openjdk.java.net/~rkennke/JDK-8214055-shenandoah/webrev.01/ *) Odd newline at L1494 in shenandoahBarrierSetC2.cpp: 1493 } 1494 1495 } Otherwise good. -Aleksey From roman at kennke.org Thu Nov 22 20:13:28 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 22 Nov 2018 20:13:28 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8214055: GC/C2 abstraction for phaseX Message-ID: <201811222013.wAMKDSEc021726@aojmv0008.oracle.com> Changeset: c10b425a953c Author: rkennke Date: 2018-11-22 09:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c10b425a953c Cherry-pick: 8214055: GC/C2 abstraction for phaseX ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/opto/phaseX.cpp From rkennke at redhat.com Thu Nov 22 20:18:57 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 22 Nov 2018 21:18:57 +0100 Subject: RFR: Cherry-pick: 8214057: GC/C2 abstraction for Node::has_special_unique_user() Message-ID: <4c256f51-1500-ab01-a4c6-fcbc6b84b3c1@redhat.com> Ease next upstream merge, get rid of changes in node.cpp, etc: http://cr.openjdk.java.net/~rkennke/JDK-8214057-shenandoah/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From zgu at redhat.com Thu Nov 22 22:28:17 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 22 Nov 2018 22:28:17 +0000 Subject: hg: shenandoah/jdk: Adjust SA to reflect recent changes on JVM side Message-ID: <201811222228.wAMMSIFC021144@aojmv0008.oracle.com> Changeset: c0d3bdeb03ed Author: zgu Date: 2018-11-22 17:28 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c0d3bdeb03ed Adjust SA to reflect recent changes on JVM side ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java From rkennke at redhat.com Fri Nov 23 09:47:23 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 23 Nov 2018 10:47:23 +0100 Subject: RFR: Remove _shenandoah_partial_gc GCCause Message-ID: Found this leftover in gcCause.hpp/gcCause.cpp: http://cr.openjdk.java.net/~rkennke/remove-partial-gccause/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman From shade at redhat.com Fri Nov 23 10:18:29 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 23 Nov 2018 11:18:29 +0100 Subject: RFR: Remove _shenandoah_partial_gc GCCause In-Reply-To: References: Message-ID: <380c237c-a4ac-2cdb-ef47-636c06a43634@redhat.com> On 11/23/18 10:47 AM, Roman Kennke wrote: > Found this leftover in gcCause.hpp/gcCause.cpp: > > http://cr.openjdk.java.net/~rkennke/remove-partial-gccause/webrev.00/ Looks good. -Aleksey From shade at redhat.com Fri Nov 23 10:19:42 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 23 Nov 2018 11:19:42 +0100 Subject: RFR: Cherry-pick: 8214057: GC/C2 abstraction for Node::has_special_unique_user() In-Reply-To: <4c256f51-1500-ab01-a4c6-fcbc6b84b3c1@redhat.com> References: <4c256f51-1500-ab01-a4c6-fcbc6b84b3c1@redhat.com> Message-ID: On 11/22/18 9:18 PM, Roman Kennke wrote: > Ease next upstream merge, get rid of changes in node.cpp, etc: > > http://cr.openjdk.java.net/~rkennke/JDK-8214057-shenandoah/webrev.00/ Looks good. -Aleksey From roman at kennke.org Fri Nov 23 10:55:14 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 23 Nov 2018 10:55:14 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811231055.wANAtEQj001348@aojmv0008.oracle.com> Changeset: f21707ba6d39 Author: rkennke Date: 2018-11-23 11:54 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f21707ba6d39 Remove _shenandoah_partial_gc GCCause ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp Changeset: 2dfa9c62d78e Author: rkennke Date: 2018-11-22 09:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2dfa9c62d78e Cherry-pick: 8214057: GC/C2 abstraction for Node::has_special_unique_user() ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/opto/node.cpp From shade at redhat.com Fri Nov 23 15:15:04 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 23 Nov 2018 16:15:04 +0100 Subject: RFR: Update copyrights Message-ID: Employed the hand-written script to update copyrights to a consistent form, based on historical (Mercurial) data. This touches only the files that exist in Shenandoah webrev. The copyright update Webrev is really large, because it includes entire file contents, so patch is easier to review: http://cr.openjdk.java.net/~shade/shenandoah/update-copyrights.patch Testing: tier1_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri Nov 23 15:45:12 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 23 Nov 2018 16:45:12 +0100 Subject: RFR: Update copyrights In-Reply-To: References: Message-ID: <474e2f59-53fc-8c37-af91-222d5116b812@redhat.com> Looks good to me. Thanks! Roman > Employed the hand-written script to update copyrights to a consistent form, based on historical > (Mercurial) data. This touches only the files that exist in Shenandoah webrev. The copyright update > Webrev is really large, because it includes entire file contents, so patch is easier to review: > http://cr.openjdk.java.net/~shade/shenandoah/update-copyrights.patch > > Testing: tier1_gc_shenandoah > > Thanks, > -Aleksey > From shade at redhat.com Fri Nov 23 16:44:29 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 23 Nov 2018 16:44:29 +0000 Subject: hg: shenandoah/jdk: Update copyrights Message-ID: <201811231644.wANGiTv7020758@aojmv0008.oracle.com> Changeset: 72c67e5b4985 Author: shade Date: 2018-11-23 16:16 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/72c67e5b4985 Update copyrights ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.hpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetAssembler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.cpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/hotspot/share/gc/shenandoah/vm_operations_shenandoah.cpp ! src/hotspot/share/gc/shenandoah/vm_operations_shenandoah.hpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/type.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java ! test/hotspot/jtreg/gc/TestFullGCCount.java ! test/hotspot/jtreg/gc/TestHumongousReferenceObject.java ! test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestShrinkHeapInSteps.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/ergonomics/TestInitialGCThreadLogging.java ! test/hotspot/jtreg/gc/logging/TestGCId.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java ! test/hotspot/jtreg/gc/shenandoah/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/shenandoah/CriticalNativeStress.java ! test/hotspot/jtreg/gc/shenandoah/EvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/HumongousThreshold.java ! test/hotspot/jtreg/gc/shenandoah/LargeObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/LotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/PinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahJNICritical.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahStrDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java ! test/hotspot/jtreg/gc/shenandoah/TestElasticTLAB.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapAlloc.java ! test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java ! test/hotspot/jtreg/gc/shenandoah/TestMemoryPools.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahStrDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahWithLogLevel.java ! test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java ! test/hotspot/jtreg/gc/shenandoah/WrongArrayMember.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/HeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/ParallelRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/SieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/StringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/VerifyJCStressTest.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1ArrayCopyNPE.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1VectorizedMismatch.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestExpandedWBLostNullCheckDep.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestMaybeNullUnsafeAccess.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestWriteBarrierClearControl.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jni/libTestJNIGlobalRefs.c ! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/jvmti/libTestHeapDump.c ! test/hotspot/jtreg/gc/shenandoah/libCriticalNative.c ! test/hotspot/jtreg/gc/shenandoah/libPinnedGarbage.c ! test/hotspot/jtreg/gc/shenandoah/libShenandoahJNICritical.c ! test/hotspot/jtreg/gc/shenandoah/mxbeans/ChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/PauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java ! test/hotspot/jtreg/gc/shenandoah/options/AlwaysPreTouch.java ! test/hotspot/jtreg/gc/shenandoah/options/TestClassUnloadingArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGCNoConcurrent.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestLoopMiningArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java ! test/hotspot/jtreg/gc/shenandoah/options/TestParallelRegionStride.java ! test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestShenandoahArgumentRanges.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreadedShenandoah.java ! test/hotspot/jtreg/gc/startup_warnings/TestShenandoah.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java ! test/hotspot/jtreg/gc/survivorAlignment/TestAllocationInEden.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionToSurvivor.java ! test/hotspot/jtreg/gc/whitebox/TestWBGC.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCapacityTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest01.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcCauseTest03.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcNewTest.java ! test/hotspot/jtreg/serviceability/tmtools/jstat/GcTest01.java From zgu at redhat.com Fri Nov 23 19:09:32 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 23 Nov 2018 14:09:32 -0500 Subject: RFR: Prepare tests for upstreaming Message-ID: <3be26d3e-c005-8fe7-ead7-5fc641b3fb2a@redhat.com> 1) Added guards for Shenandoah tests in shared directories 2) Removed duplicated Critical Native tests, shared them among Shenandoah and Epsilon. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.00/ Test: Eyeball tier1_gc_1 and tier3_gc_shenandoah, make sure tests are ran. Thanks, -Zhengyu From rkennke at redhat.com Fri Nov 23 19:55:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 23 Nov 2018 20:55:42 +0100 Subject: RFR: Prepare tests for upstreaming In-Reply-To: <3be26d3e-c005-8fe7-ead7-5fc641b3fb2a@redhat.com> References: <3be26d3e-c005-8fe7-ead7-5fc641b3fb2a@redhat.com> Message-ID: <6759609f-9df4-9b4e-a00a-a82171dc766b@redhat.com> I believe if you re-base it on Aleksey's copyright headers change, some of your own copyright header changes will disappear (e.g. TestGCBasherWithShenandoah.java). Other than that, looks ok. Thank you! Roman > 1) Added guards for Shenandoah tests in shared directories > 2) Removed duplicated Critical Native tests, shared them among > Shenandoah and Epsilon. > > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.00/ > > > Test: > ? Eyeball tier1_gc_1 and tier3_gc_shenandoah, make sure tests are ran. > > Thanks, > > -Zhengyu From zgu at redhat.com Sat Nov 24 13:46:54 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Sat, 24 Nov 2018 08:46:54 -0500 Subject: RFR: Prepare tests for upstreaming In-Reply-To: <6759609f-9df4-9b4e-a00a-a82171dc766b@redhat.com> References: <3be26d3e-c005-8fe7-ead7-5fc641b3fb2a@redhat.com> <6759609f-9df4-9b4e-a00a-a82171dc766b@redhat.com> Message-ID: <36dcd121-4515-184d-2f38-c6fca181931a@redhat.com> Rebased: http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.01/ Okay now? Thanks, -Zhengyu On 11/23/18 2:55 PM, Roman Kennke wrote: > I believe if you re-base it on Aleksey's copyright headers change, some > of your own copyright header changes will disappear (e.g. > TestGCBasherWithShenandoah.java). > > Other than that, looks ok. Thank you! > > Roman > > >> 1) Added guards for Shenandoah tests in shared directories >> 2) Removed duplicated Critical Native tests, shared them among >> Shenandoah and Epsilon. >> >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.00/ >> >> >> Test: >> ? Eyeball tier1_gc_1 and tier3_gc_shenandoah, make sure tests are ran. >> >> Thanks, >> >> -Zhengyu > From rkennke at redhat.com Sat Nov 24 14:23:40 2018 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 24 Nov 2018 15:23:40 +0100 Subject: RFR: Prepare tests for upstreaming In-Reply-To: <36dcd121-4515-184d-2f38-c6fca181931a@redhat.com> References: <3be26d3e-c005-8fe7-ead7-5fc641b3fb2a@redhat.com> <6759609f-9df4-9b4e-a00a-a82171dc766b@redhat.com> <36dcd121-4515-184d-2f38-c6fca181931a@redhat.com> Message-ID: <84076644-3014-4A13-A12A-3B29BE37ABC6@redhat.com> Good! Thanks! Roman Am 24. November 2018 14:46:54 MEZ schrieb Zhengyu Gu : >Rebased: > >http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.01/ > >Okay now? > >Thanks, > >-Zhengyu > >On 11/23/18 2:55 PM, Roman Kennke wrote: >> I believe if you re-base it on Aleksey's copyright headers change, >some >> of your own copyright header changes will disappear (e.g. >> TestGCBasherWithShenandoah.java). >> >> Other than that, looks ok. Thank you! >> >> Roman >> >> >>> 1) Added guards for Shenandoah tests in shared directories >>> 2) Removed duplicated Critical Native tests, shared them among >>> Shenandoah and Epsilon. >>> >>> >>> Webrev: >>> http://cr.openjdk.java.net/~zgu/shenandoah/test_reshuffle/webrev.00/ >>> >>> >>> Test: >>> ? Eyeball tier1_gc_1 and tier3_gc_shenandoah, make sure tests are >ran. >>> >>> Thanks, >>> >>> -Zhengyu >> From zgu at redhat.com Sat Nov 24 23:41:38 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Sat, 24 Nov 2018 23:41:38 +0000 Subject: hg: shenandoah/jdk: Prepare tests for upstreaming Message-ID: <201811242341.wAONfcpM010332@aojmv0008.oracle.com> Changeset: 58425ce12c57 Author: zgu Date: 2018-11-24 18:41 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/58425ce12c57 Prepare tests for upstreaming ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java From rkennke at redhat.com Mon Nov 26 10:56:04 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 11:56:04 +0100 Subject: RFR: Small cleanup in node.hpp Message-ID: <24628007-6bb1-fc76-4f18-e4f9fa797f5a@redhat.com> I don't think we actually need to fwd-decl ShenandoahReadBarrierNode and ShenandoahWriteBarrierNode in node.hpp because they are never used. We only generate accessors for the more generic ShenandoahBarrierNode. diff --git a/src/hotspot/share/opto/node.hpp b/src/hotspot/share/opto/node.hpp --- a/src/hotspot/share/opto/node.hpp +++ b/src/hotspot/share/opto/node.hpp @@ -143,8 +143,6 @@ class SafePointNode; class SafePointScalarObjectNode; class ShenandoahBarrierNode; -class ShenandoahWriteBarrierNode; -class ShenandoahReadBarrierNode; class StartNode; class State; class StoreNode; Testing: tier3_gc_shenandoah Ok? Roman From rwestrel at redhat.com Mon Nov 26 12:09:22 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 26 Nov 2018 13:09:22 +0100 Subject: RFR: Small cleanup in node.hpp In-Reply-To: <24628007-6bb1-fc76-4f18-e4f9fa797f5a@redhat.com> References: <24628007-6bb1-fc76-4f18-e4f9fa797f5a@redhat.com> Message-ID: <87a7lwniq5.fsf@redhat.com> > Ok? Yes. Roland. From roman at kennke.org Mon Nov 26 12:35:14 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 26 Nov 2018 12:35:14 +0000 Subject: hg: shenandoah/jdk: Small cleanup in node.hpp Message-ID: <201811261235.wAQCZEfW015053@aojmv0008.oracle.com> Changeset: 51959ae35ebb Author: rkennke Date: 2018-11-26 13:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/51959ae35ebb Small cleanup in node.hpp ! src/hotspot/share/opto/node.hpp From zgu at redhat.com Mon Nov 26 15:21:20 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 26 Nov 2018 10:21:20 -0500 Subject: RFR: Fix Shenandoah test upstreaming patch Message-ID: <7b328bd4-0f52-90f9-27ef-e856cd13471f@redhat.com> The Shenandoah test upstreaming patch, I pushed yesterday, is not quite right. I messed it up when I switched computer and forgot to commit removed and moved files - Sorry. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/fix_upstream_tests/webrev.00/ Test: Reran tier3_gc_shenandoah and tier1_gc_1, eyeballed the tests. Thanks, -Zhengyu From rkennke at redhat.com Mon Nov 26 15:30:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 16:30:00 +0100 Subject: RFR: Fix Shenandoah test upstreaming patch In-Reply-To: <7b328bd4-0f52-90f9-27ef-e856cd13471f@redhat.com> References: <7b328bd4-0f52-90f9-27ef-e856cd13471f@redhat.com> Message-ID: Hi Zhengyu, ok Roman > The Shenandoah test upstreaming patch, I pushed yesterday, is not quite > right. I messed it up when I switched computer and forgot to commit > removed and moved files - Sorry. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/fix_upstream_tests/webrev.00/ > > Test: > > Reran tier3_gc_shenandoah and tier1_gc_1, eyeballed the tests. > > Thanks, > > -Zhengyu From zgu at redhat.com Mon Nov 26 15:31:54 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 26 Nov 2018 15:31:54 +0000 Subject: hg: shenandoah/jdk: Fix Shenandoah test upstreaming patch Message-ID: <201811261531.wAQFVsYl014498@aojmv0008.oracle.com> Changeset: df5d3a5aeb4b Author: zgu Date: 2018-11-26 10:31 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/df5d3a5aeb4b Fix Shenandoah test upstreaming patch + test/hotspot/jtreg/gc/CriticalNativeArgs.java - test/hotspot/jtreg/gc/epsilon/CriticalNativeArgs.java - test/hotspot/jtreg/gc/epsilon/CriticalNativeStress.java - test/hotspot/jtreg/gc/epsilon/libCriticalNative.c + test/hotspot/jtreg/gc/libCriticalNative.c - test/hotspot/jtreg/gc/shenandoah/CriticalNativeArgs.java - test/hotspot/jtreg/gc/shenandoah/CriticalNativeStress.java - test/hotspot/jtreg/gc/shenandoah/libCriticalNative.c + test/hotspot/jtreg/gc/stress/CriticalNativeStress.java From zgu at redhat.com Mon Nov 26 16:13:00 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 26 Nov 2018 11:13:00 -0500 Subject: RFR: Minor cleanup of Shenandoah SA Message-ID: <2580621f-1a34-9143-96d5-6846b155988a@redhat.com> - Delete an obsoleted/commented out line. - Rename SHENANDOAH_HEAP to SHENANDOAH to be consistent with other GCs. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/minor_sa_fix/webrev.00/ Test: hotspot_serviceability, gc_shenandoah_tier1 Thanks, -Zhengyu From rkennke at redhat.com Mon Nov 26 16:16:46 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 17:16:46 +0100 Subject: RFR: Minor cleanup of Shenandoah SA In-Reply-To: <2580621f-1a34-9143-96d5-6846b155988a@redhat.com> References: <2580621f-1a34-9143-96d5-6846b155988a@redhat.com> Message-ID: <56c074b0-9bec-1232-bf2d-a12102c721e3@redhat.com> Good! Thank you! Roman > - Delete an obsoleted/commented out line. > - Rename SHENANDOAH_HEAP to SHENANDOAH to be consistent with other GCs. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/minor_sa_fix/webrev.00/ > > Test: > > ? hotspot_serviceability, gc_shenandoah_tier1 > > Thanks, > > -Zhengyu From shade at redhat.com Mon Nov 26 16:15:52 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 26 Nov 2018 17:15:52 +0100 Subject: RFR: Minor cleanup of Shenandoah SA In-Reply-To: <2580621f-1a34-9143-96d5-6846b155988a@redhat.com> References: <2580621f-1a34-9143-96d5-6846b155988a@redhat.com> Message-ID: <646621c5-8d4c-39c8-858d-7dde1595b003@redhat.com> On 11/26/18 5:13 PM, Zhengyu Gu wrote: > - Delete an obsoleted/commented out line. > - Rename SHENANDOAH_HEAP to SHENANDOAH to be consistent with other GCs. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/minor_sa_fix/webrev.00/ Looks good. -Aleksey From zgu at redhat.com Mon Nov 26 16:21:18 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 26 Nov 2018 16:21:18 +0000 Subject: hg: shenandoah/jdk: Minor cleanup of Shenandoah SA Message-ID: <201811261621.wAQGLI2N008245@aojmv0008.oracle.com> Changeset: c51f685919eb Author: zgu Date: 2018-11-26 11:21 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c51f685919eb Minor cleanup of Shenandoah SA ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeapName.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java From rkennke at redhat.com Mon Nov 26 17:05:44 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 18:05:44 +0100 Subject: RFR: Make all Shenandoah product flags experimental Message-ID: <662af55e-a0c9-5a41-0f2a-503a2092b7da@redhat.com> -XX:+UseShenandoahGC is experimental and therefore, Shenandoah-specific flags have no right and no use to be product. http://cr.openjdk.java.net/~rkennke/shenandoah-experimental-globals/webrev.00/ Testing: tier3_gc_shenandoah Roman From rkennke at redhat.com Mon Nov 26 17:09:40 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 18:09:40 +0100 Subject: RFR: Make all Shenandoah product flags experimental In-Reply-To: <662af55e-a0c9-5a41-0f2a-503a2092b7da@redhat.com> References: <662af55e-a0c9-5a41-0f2a-503a2092b7da@redhat.com> Message-ID: Aleksey just let me know that he's working on this plus more related cleanup. I withdraw this RFR. Roman > -XX:+UseShenandoahGC is experimental and therefore, Shenandoah-specific > flags have no right and no use to be product. > > http://cr.openjdk.java.net/~rkennke/shenandoah-experimental-globals/webrev.00/ > > Testing: tier3_gc_shenandoah > > Roman > From zgu at redhat.com Mon Nov 26 17:14:32 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 26 Nov 2018 12:14:32 -0500 Subject: RFR: Eliminating Shenandoah exposure to CLD Message-ID: <8e7999a3-abe5-2a25-0554-759fb057a4de@redhat.com> Apparently, ParallelCLDRootIterator does not need to access any private/protected method/field of CLD, so can eliminate CLD from diff. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/rm_cld_exposure/webrev.00/index.html Test: clean fastdebug and release builds with/without precompiled headers. Thanks, -Zhengyu From shade at redhat.com Mon Nov 26 17:17:50 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 26 Nov 2018 18:17:50 +0100 Subject: RFR: Eliminating Shenandoah exposure to CLD In-Reply-To: <8e7999a3-abe5-2a25-0554-759fb057a4de@redhat.com> References: <8e7999a3-abe5-2a25-0554-759fb057a4de@redhat.com> Message-ID: <0e3fbcb4-e668-7552-2b73-f9086432becd@redhat.com> On 11/26/18 6:14 PM, Zhengyu Gu wrote: > Apparently, ParallelCLDRootIterator does not need to access any private/protected method/field of > CLD, so can eliminate CLD from diff. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/rm_cld_exposure/webrev.00/index.html Very nice. Looks good. -Aleksey From rkennke at redhat.com Mon Nov 26 17:18:10 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 18:18:10 +0100 Subject: RFR: Eliminating Shenandoah exposure to CLD In-Reply-To: <8e7999a3-abe5-2a25-0554-759fb057a4de@redhat.com> References: <8e7999a3-abe5-2a25-0554-759fb057a4de@redhat.com> Message-ID: <37b67efc-a411-950a-746c-273d18a4def1@redhat.com> Oh, great! Possible that this has changed due to Erik's recent conc-CLD work. Good to push! Thanks, Roman > Apparently, ParallelCLDRootIterator does not need to access any > private/protected method/field of CLD, so can eliminate CLD from diff. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/rm_cld_exposure/webrev.00/index.html > > > > Test: > ? clean fastdebug and release builds with/without precompiled headers. > > Thanks, > > -Zhengyu From zgu at redhat.com Mon Nov 26 17:18:51 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 26 Nov 2018 17:18:51 +0000 Subject: hg: shenandoah/jdk: Eliminating Shenandoah exposure to CLD Message-ID: <201811261718.wAQHIpmj008726@aojmv0008.oracle.com> Changeset: 27b0d4a32217 Author: zgu Date: 2018-11-26 12:18 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/27b0d4a32217 Eliminating Shenandoah exposure to CLD ! src/hotspot/share/classfile/classLoaderData.hpp From rkennke at redhat.com Mon Nov 26 19:05:46 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 20:05:46 +0100 Subject: RFR: Use ShenandoahAllocationThreshold in ShenandoahStaticHeuristics constructor Message-ID: <9cd466c9-bda4-e99a-f393-ef6d4aa963d7@redhat.com> Aleksey pointed out this mistake: diff --git a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp @@ -34,7 +34,7 @@ // Static heuristics may degrade to continuous if live data is larger // than free threshold. ShenandoahAllocationThreshold is supposed to break this, // but it only works if it is non-zero. - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 1); + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahAllocationThreshold, 1); SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent); Ok? Testing: tier3_gc_shenandoah Roman From shade at redhat.com Mon Nov 26 19:09:05 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 26 Nov 2018 20:09:05 +0100 Subject: RFR: Clean up and regroup Shenandoah flags Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/cleanup-flags/webrev.01/ This is actually a few changesets together: *) Remove obsolete unused flags: ShenandoahHappyCyclesThreshold, ShenandoahFailHeapExpansionAfter *) Remove ShenandoahWriteBarrierRB flag: No need for newly shaped WB; only assemblers have the use, which is not necessary *) Rename ParallelSafepointCleanupThreads to ShenandoahParallelSafepointThreads: *) Rename VerifyObjectEquals to ShenandoahVerifyObjectEquals: Shenandoah-specific flags should be prefixed appropriately *) Clean up and regroup Shenandoah flags: Cleans up formatting; Rehashes some comments; Makes all options experimental; Makes all options read-only (we don't test that writes actually work correctly) Groups options logically; Testing: tier3_gc_shenandoah Thanks, -Aleksey From shade at redhat.com Mon Nov 26 19:09:24 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 26 Nov 2018 20:09:24 +0100 Subject: RFR: Use ShenandoahAllocationThreshold in ShenandoahStaticHeuristics constructor In-Reply-To: <9cd466c9-bda4-e99a-f393-ef6d4aa963d7@redhat.com> References: <9cd466c9-bda4-e99a-f393-ef6d4aa963d7@redhat.com> Message-ID: On 11/26/18 8:05 PM, Roman Kennke wrote: > Aleksey pointed out this mistake: > > diff --git > a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp > b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp > --- > a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp > +++ > b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp > @@ -34,7 +34,7 @@ > // Static heuristics may degrade to continuous if live data is larger > // than free threshold. ShenandoahAllocationThreshold is supposed to > break this, > // but it only works if it is non-zero. > - SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 1); > + SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahAllocationThreshold, 1); > > SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); > SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent); Looks good. -Aleksey From roman at kennke.org Mon Nov 26 19:32:25 2018 From: roman at kennke.org (Roman Kennke) Date: Mon, 26 Nov 2018 20:32:25 +0100 Subject: RFR: Clean up and regroup Shenandoah flags In-Reply-To: References: Message-ID: <8BCCC30F-449C-4EFA-809C-D1F09F0DA0E6@kennke.org> Looks good! Thanks! Am 26. November 2018 20:09:05 MEZ schrieb Aleksey Shipilev : >http://cr.openjdk.java.net/~shade/shenandoah/cleanup-flags/webrev.01/ > >This is actually a few changesets together: > > *) Remove obsolete unused flags: > ShenandoahHappyCyclesThreshold, ShenandoahFailHeapExpansionAfter > > *) Remove ShenandoahWriteBarrierRB flag: >No need for newly shaped WB; only assemblers have the use, which is not >necessary > >*) Rename ParallelSafepointCleanupThreads to >ShenandoahParallelSafepointThreads: > *) Rename VerifyObjectEquals to ShenandoahVerifyObjectEquals: > Shenandoah-specific flags should be prefixed appropriately > > *) Clean up and regroup Shenandoah flags: > Cleans up formatting; > Rehashes some comments; > Makes all options experimental; >Makes all options read-only (we don't test that writes actually work >correctly) > Groups options logically; > >Testing: tier3_gc_shenandoah > >Thanks, >-Aleksey -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From roman at kennke.org Mon Nov 26 19:45:34 2018 From: roman at kennke.org (roman at kennke.org) Date: Mon, 26 Nov 2018 19:45:34 +0000 Subject: hg: shenandoah/jdk: Use ShenandoahAllocationThreshold in ShenandoahStaticHeuristics constructor Message-ID: <201811261945.wAQJjZrL022899@aojmv0008.oracle.com> Changeset: dfd4d6c0b561 Author: rkennke Date: 2018-11-26 20:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/dfd4d6c0b561 Use ShenandoahAllocationThreshold in ShenandoahStaticHeuristics constructor ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp From shade at redhat.com Mon Nov 26 20:11:30 2018 From: shade at redhat.com (shade at redhat.com) Date: Mon, 26 Nov 2018 20:11:30 +0000 Subject: hg: shenandoah/jdk: 5 new changesets Message-ID: <201811262011.wAQKBVI9005764@aojmv0008.oracle.com> Changeset: 43ea30e946ee Author: shade Date: 2018-11-26 21:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/43ea30e946ee Remove obsolete unused flags ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: a9c4de4eca85 Author: shade Date: 2018-11-26 21:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a9c4de4eca85 Remove ShenandoahWriteBarrierRB flag ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: af899dc02eeb Author: shade Date: 2018-11-26 21:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/af899dc02eeb Rename ParallelSafepointCleanupThreads to ShenandoahParallelSafepointThreads ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: fba639ac3c23 Author: shade Date: 2018-11-26 21:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fba639ac3c23 Rename VerifyObjectEquals to ShenandoahVerifyObjectEquals ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: a44efca5caa8 Author: shade Date: 2018-11-26 21:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a44efca5caa8 Clean up and regroup Shenandoah flags ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp From rkennke at redhat.com Mon Nov 26 21:39:30 2018 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 26 Nov 2018 22:39:30 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector Message-ID: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> Hi, This is the first round of changes for including Shenandoah GC into mainline. I divided the review into parts that roughly correspond to the mailing lists that would normally review it, and I divided it into 'shared' code changes and 'shenandoah' code changes (actually, mostly additions). The intend is to eventually push them as single 'combined' changeset, once reviewed. JEP: ? https://openjdk.java.net/jeps/189 Bug entry: ?https://bugs.openjdk.java.net/browse/JDK-8214259 Webrevs: ? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ For those who want to see the full change, have a look at the shenandoah-complete directory, it contains the full combined webrev. Alternatively, there is the file shenandoah-master.patch , which is what I intend to commit (and which should be equivalent to the 'shenandoah-complete' webrev). Sections to review (at this point) are the following: ?*) shenandoah-gc ??? - Actual Shenandoah implementation, almost completely residing in gc/shenandoah ?*) shared-gc ??? - This is mostly boilerplate that is common to any GC ??? - referenceProcessor.cpp has a little change to make one assert not fail (next to CMS and G1) ??? - taskqueue.hpp has some small adjustments to enable subclassing ?*) shared-serviceability ??? - The usual code to support another GC ?*) shared-runtime ??? - A number of friends declarations to allow Shenandoah iterators to hook up with, ????? e.g. ClassLoaderData, CodeCache, etc ??? - Warning and disabling JFR LeakProfiler ??? - fieldDescriptor.hpp added is_stable() accessor, for use in Shenandoah C2 optimizations ??? - Locks initialization in mutexLocker.cpp as usual ??? - VM operations defines for Shenandoah's VM ops ??? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in Shenandoah's logging ??? - The usual macros in macro.hpp ?*) shared-build ??? - Add shenandoah feature, enabled by default, as agreed with Vladimir K. beforehand ??? - Some flags for shenandoah-enabled compilation to get SUPPORT_BARRIER_ON_PRIMITIVES ????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for Shenandoah's barriers ??? - --param inline-unit-growth=1000 settings for 2 shenandoah source files, which is ????? useful to get the whole marking loop inlined (observed significant regression if we ????? don't) ?*) shared-tests ??? - Test infrastructure to support Shenandoah ??? - Shenandoah test groups ??? - Exclude Shenandoah in various tests that can be run with selected GC ??? - Enable/add configure for Shenandoah for tests that make sense to run with it ?*) shenandoah-tests ??? - Shenandoah specific tests, most reside in gc/shenandoah subdirectory ??? - A couple of tests configurations have been added, e.g. TestGCBasherWithShenandoah.java I intentionally left out shared-compiler for now, because we have some work left to do there, but if you click around you'll find the patch anyway, in case you want to take a peek at it. We have regular builds on: ? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} ? - {Windows} x {x86_64}, ? - {MacOS X} x {x86_64} This also routinely passes: ? - the new Shenandoah tests ? - jcstress with/without aggressive Shenandoah verification ? - specjvm2008 with/without aggressive Shenandoah verification I'd like to thank my collegues at Red Hat: Christine Flood, she deserves the credit for being the original inventor of Shenandoah, Aleksey Shipl?v, Roland Westrelin & Zhengyu Gu for their countless contributions, everybody else in Red Hat's OpenJDK team for testing, advice and support, my collegues in Oracle's GC, runtime and compiler teams for tirelessly helping with and reviewing all the GC interface and related changes, and of course the many early adopters for reporting bugs and success stories and feature requests: we wouldn't be here without any of you! Best regards, Roman From leventov.ru at gmail.com Tue Nov 27 00:03:33 2018 From: leventov.ru at gmail.com (Roman Leventov) Date: Tue, 27 Nov 2018 01:03:33 +0100 Subject: Heap inspection not working for OpenJDK 8 + Shenandoah Message-ID: Hi Shenandoah developers, Is that expected that heap inspection (jmap -histo:live, inspectheap operation) doesn't work when I use Shenandoah backport for OpenJDK 8? The command returns immediately with response code 0, not dumping any heap stats. When I use a different GC algorithm with the same OpenJDK build, the heap stats are produced normally. From zgu at redhat.com Tue Nov 27 01:11:21 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 26 Nov 2018 20:11:21 -0500 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <46CBF9C2-7684-4EED-80F8-7103D48FA3A0@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <46CBF9C2-7684-4EED-80F8-7103D48FA3A0@oracle.com> Message-ID: <3b06a452-2119-d2d2-20b4-b8fdc75fec67@redhat.com> Hi Kim, > >> - taskqueue.hpp has some small adjustments to enable subclassing > > Why this change instead of JDK-8204947? As the description from that RFE says: > "The ShenandoahTaskTerminator from the Shenandoah project is a much better implementation of a task terminator.? > We were busy on preparing Shenandoah for upstreaming, this did take a back seat. I am going to start to work on moving ShenandoahTaskTerminator to share tomorrow, but it should not hold up the review. Thanks, -Zhengyu From rkennke at redhat.com Tue Nov 27 09:37:57 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 10:37:57 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> Message-ID: <4650c622-c937-4a76-3b9f-10f93c677dcc@redhat.com> Hi Vladimir, > You need to check if shenandoahgc is disabled first - check > DISABLED_JVM_FEATURES list (see code for jvmci). Why? If Shenandoah is disabled, it will be on this list, and therefore not be built (see JvmFeatures.gmk). > Do you support 32-bit x86? You have OPENJDK_TARGET_CPU == xx86 check. > Do you support all x86 OSs? We can build with 32bit, but it will not run. It seems indeed curious to enable it. It's probably only there to allow 32bit builds with Shenandoah enabled, just to verify that we have all the relevant LP64 checks in code in place. I will check it with my collegues. > Why you set VM CFLAGS when shenandoahgc is not enabled? It is in > JvmFeatures.gmk. This *disables* and excludes Shenandoah if not enabled. +ifneq ($(call check-jvm-feature, shenandoahgc), true) + JVM_CFLAGS_FEATURES += -DINCLUDE_SHENANDOAHGC=0 + JVM_EXCLUDE_PATTERNS += gc/shenandoah pretty much the same pattern as zgc and other features. and then we add some flags when Shenandoah is enabled: +else + JVM_CFLAGS_FEATURES += -DSUPPORT_BARRIER_ON_PRIMITIVES -DSUPPORT_NOT_TO_SPACE_INVARIANT +endif ... which are required for building with Shenandoah enabled. > I looked on C2 changes. It has INCLUDE_SHENANDOAHGC, checks and new gc > specific nodes. This looks intrusive. I hope you clean it up. There are a few places with INCLUDE_SHENANDOAHGC checks where it seemed excessive to add a whole API just for a tiny, very GC specific check. We still do have intrusive changes in loop*, which we are working on to resolve. We declare+define all our GC specific nodes in shenandoahBarrierSetC2.hpp and related Shenandoah-specific files. The only things in shared code is the usual declarations in classes.hpp/cpp and node.hpp to get is_ShenandoahBarrier() an similar queries. This seems in-line with what other GCs do (look for e.g. LoadBarrier). Please be specific which changes in opto you'd like to see resolved (and don't look at loop* source files at this point ;-) ). Thanks for reviewing! Roman > Thanks, > Vladimir > > On 11/26/18 2:47 PM, Erik Joelsson wrote: >> Build changes look ok to me. >> >> /Erik >> >> On 2018-11-26 13:39, Roman Kennke wrote: >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> From rkennke at redhat.com Tue Nov 27 09:38:31 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 10:38:31 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> Message-ID: Thanks for reviewing, Erik! Roman > Build changes look ok to me. > > /Erik > > On 2018-11-26 13:39, Roman Kennke wrote: >> Hi, >> >> This is the first round of changes for including Shenandoah GC into >> mainline. >> I divided the review into parts that roughly correspond to the mailing >> lists >> that would normally review it, and I divided it into 'shared' code >> changes and >> 'shenandoah' code changes (actually, mostly additions). The intend is to >> eventually >> push them as single 'combined' changeset, once reviewed. >> >> JEP: >> ?? https://openjdk.java.net/jeps/189 >> Bug entry: >> >> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >> >> Webrevs: >> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >> >> For those who want to see the full change, have a look at the >> shenandoah-complete >> >> >> directory, >> it contains the full combined webrev. Alternatively, there is the file >> shenandoah-master.patch >> , >> >> which is what I intend to commit (and which should be equivalent to the >> 'shenandoah-complete' webrev). >> >> Sections to review (at this point) are the following: >> ??*) shenandoah-gc >> >> >> ???? - Actual Shenandoah implementation, almost completely residing in >> gc/shenandoah >> >> ??*) shared-gc >> >> ???? - This is mostly boilerplate that is common to any GC >> ???? - referenceProcessor.cpp has a little change to make one assert not >> fail (next to CMS and G1) >> ???? - taskqueue.hpp has some small adjustments to enable subclassing >> >> ??*) shared-serviceability >> >> >> ???? - The usual code to support another GC >> >> ??*) shared-runtime >> >> >> ???? - A number of friends declarations to allow Shenandoah iterators to >> hook up with, >> ?????? e.g. ClassLoaderData, CodeCache, etc >> ???? - Warning and disabling JFR LeakProfiler >> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >> Shenandoah C2 optimizations >> ???? - Locks initialization in mutexLocker.cpp as usual >> ???? - VM operations defines for Shenandoah's VM ops >> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >> Shenandoah's logging >> ???? - The usual macros in macro.hpp >> >> ??*) shared-build >> >> >> ???? - Add shenandoah feature, enabled by default, as agreed with >> Vladimir K. beforehand >> ???? - Some flags for shenandoah-enabled compilation to get >> SUPPORT_BARRIER_ON_PRIMITIVES >> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >> Shenandoah's barriers >> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >> files, which is >> ?????? useful to get the whole marking loop inlined (observed significant >> regression if we >> ?????? don't) >> >> ??*) shared-tests >> >> >> ???? - Test infrastructure to support Shenandoah >> ???? - Shenandoah test groups >> ???? - Exclude Shenandoah in various tests that can be run with >> selected GC >> ???? - Enable/add configure for Shenandoah for tests that make sense to >> run with it >> >> ??*) shenandoah-tests >> >> >> ???? - Shenandoah specific tests, most reside in gc/shenandoah >> subdirectory >> ???? - A couple of tests configurations have been added, e.g. >> TestGCBasherWithShenandoah.java >> >> I intentionally left out shared-compiler for now, because we have some >> work left to do >> there, but if you click around you'll find the patch anyway, in case you >> want to take >> a peek at it. >> >> We have regular builds on: >> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >> ?? - {Windows} x {x86_64}, >> ?? - {MacOS X} x {x86_64} >> >> This also routinely passes: >> ?? - the new Shenandoah tests >> ?? - jcstress with/without aggressive Shenandoah verification >> ?? - specjvm2008 with/without aggressive Shenandoah verification >> >> >> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >> the credit for being the original inventor of Shenandoah, Aleksey >> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >> contributions, everybody else in Red Hat's OpenJDK team for testing, >> advice and support, my collegues in Oracle's GC, runtime and compiler >> teams for tirelessly helping with and reviewing all the GC interface and >> related changes, and of course the many early adopters for reporting >> bugs and success stories and feature requests: we wouldn't be here >> without any of you! >> >> Best regards, >> Roman >> From rkennke at redhat.com Tue Nov 27 09:46:18 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 10:46:18 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <46CBF9C2-7684-4EED-80F8-7103D48FA3A0@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <46CBF9C2-7684-4EED-80F8-7103D48FA3A0@oracle.com> Message-ID: Hi Kim, >> Sections to review (at this point) are the following: >> >> *) shared-gc >> - This is mostly boilerplate that is common to any GC >> - referenceProcessor.cpp has a little change to make one assert not fail (next to CMS and G1) > > Ick. But I don?t have a better suggestion that doesn?t involve adding a new API > to CollectedHeap for use by this assertion, which seems a bit excessive if there > are no other uses. Yeah. I guess we could add a config _discovery_is_concurrent or similar in RP, and check that. Or maybe one of _discovery_is_mt or _discovery_is_atomic already covers that? I couldn't immediately tell/100% understand their semantics. Seems worthy to look at after this? >> - taskqueue.hpp has some small adjustments to enable subclassing > > Why this change instead of JDK-8204947? As the description from that RFE says: > "The ShenandoahTaskTerminator from the Shenandoah project is a much better implementation of a task terminator.? Yeah, see Zhengyu's comment. Let's ignore those changes for this review (for now), expect our impl ported to taskqueue.hpp/cpp soon. Roman From shade at redhat.com Tue Nov 27 11:27:04 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 27 Nov 2018 12:27:04 +0100 Subject: Heap inspection not working for OpenJDK 8 + Shenandoah In-Reply-To: References: Message-ID: <37359c52-d44d-cfb1-0476-240215d2a031@redhat.com> On 11/27/18 1:03 AM, Roman Leventov wrote: > Hi Shenandoah developers, > > Is that expected that heap inspection (jmap -histo:live, inspectheap > operation) doesn't work when I use Shenandoah backport for OpenJDK 8? The > command returns immediately with response code 0, not dumping any heap > stats. When I use a different GC algorithm with the same OpenJDK build, the > heap stats are produced normally. Reproduced on latest sh/jdk8, let me see what's up. -Aleksey From shade at redhat.com Tue Nov 27 12:07:34 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 27 Nov 2018 13:07:34 +0100 Subject: RFR [8]: Enable heap inspection for Shenandoah Message-ID: <632633ff-1dca-bcb8-1b08-616a25dcd266@redhat.com> (facepalms) This only affects sh/jdk8u, because we have this specific getter in 8. I think we have it disabled before we implemented heap iteration, but never noticed during backports that 8 still has it protected with the additional check. It was removed in 9 with: https://bugs.openjdk.java.net/browse/JDK-8077411 Fix: diff -r 70ef3638af70 src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp Mon Nov 19 10:47:38 2018 +0100 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp Tue Nov 27 13:05:20 2018 +0100 @@ -524,11 +524,11 @@ bool card_mark_must_follow_store() const { return false; } bool is_in_partial_collection(const void* p) shenandoah_not_implemented_return(false); - bool supports_heap_inspection() const { return false; } + bool supports_heap_inspection() const { return true; } void gc_prologue(bool b); Testing: hotspot_tier3_gc_shenandoah, jmap -histo:live Thanks, -Aleksey From rkennke at redhat.com Tue Nov 27 12:10:34 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 13:10:34 +0100 Subject: RFR [8]: Enable heap inspection for Shenandoah In-Reply-To: <632633ff-1dca-bcb8-1b08-616a25dcd266@redhat.com> References: <632633ff-1dca-bcb8-1b08-616a25dcd266@redhat.com> Message-ID: <9277a395-29e6-09d2-4a96-969ac3e39368@redhat.com> Duh. Yes! Roman > (facepalms) > > This only affects sh/jdk8u, because we have this specific getter in 8. I think we have it disabled > before we implemented heap iteration, but never noticed during backports that 8 still has it > protected with the additional check. It was removed in 9 with: > https://bugs.openjdk.java.net/browse/JDK-8077411 > > Fix: > > diff -r 70ef3638af70 src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp Mon Nov 19 10:47:38 2018 +0100 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp Tue Nov 27 13:05:20 2018 +0100 > @@ -524,11 +524,11 @@ > bool card_mark_must_follow_store() const { return false; } > > bool is_in_partial_collection(const void* p) shenandoah_not_implemented_return(false); > - bool supports_heap_inspection() const { return false; } > + bool supports_heap_inspection() const { return true; } > > void gc_prologue(bool b); > > > Testing: hotspot_tier3_gc_shenandoah, jmap -histo:live > > Thanks, > -Aleksey > From rkennke at redhat.com Tue Nov 27 12:19:43 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 13:19:43 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> Message-ID: <17d4fb47-c5c3-5d13-e318-ac1b62a88815@redhat.com> > Do you support 32-bit x86? You have OPENJDK_TARGET_CPU == xx86 check. > > Do you support all x86 OSs? We enable this because we can actually run on such hardware. We fall back to 'passive' mode though, which means Shenandoah acts more or less like Parallel GC, and doesn't involve any barriers at all, and doesn't do any concurrent processing. This has been useful for footprint experiments. Roman > Why you set VM CFLAGS when shenandoahgc is not enabled? It is in > JvmFeatures.gmk. > > I looked on C2 changes. It has INCLUDE_SHENANDOAHGC, checks and new gc > specific nodes. This looks intrusive. I hope you clean it up. > > Thanks, > Vladimir > > On 11/26/18 2:47 PM, Erik Joelsson wrote: >> Build changes look ok to me. >> >> /Erik >> >> On 2018-11-26 13:39, Roman Kennke wrote: >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> From shade at redhat.com Tue Nov 27 12:19:09 2018 From: shade at redhat.com (shade at redhat.com) Date: Tue, 27 Nov 2018 12:19:09 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Enable heap inspection for Shenandoah Message-ID: <201811271219.wARCJ9Ze008556@aojmv0008.oracle.com> Changeset: 473ae3b245ac Author: shade Date: 2018-11-27 13:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/473ae3b245ac Enable heap inspection for Shenandoah ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp From shade at redhat.com Tue Nov 27 12:55:35 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 27 Nov 2018 13:55:35 +0100 Subject: Heap inspection not working for OpenJDK 8 + Shenandoah In-Reply-To: <37359c52-d44d-cfb1-0476-240215d2a031@redhat.com> References: <37359c52-d44d-cfb1-0476-240215d2a031@redhat.com> Message-ID: <57086a02-66f8-3243-f23d-130a1345a25a@redhat.com> On 11/27/18 12:27 PM, Aleksey Shipilev wrote: > On 11/27/18 1:03 AM, Roman Leventov wrote: >> Hi Shenandoah developers, >> >> Is that expected that heap inspection (jmap -histo:live, inspectheap >> operation) doesn't work when I use Shenandoah backport for OpenJDK 8? The >> command returns immediately with response code 0, not dumping any heap >> stats. When I use a different GC algorithm with the same OpenJDK build, the >> heap stats are produced normally. > > Reproduced on latest sh/jdk8, let me see what's up. That was the 8u-specific bug. Fixed with: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008403.html Builds are regenerating here: https://builds.shipilev.net/openjdk-shenandoah-jdk8/ -Aleksey From leventov.ru at gmail.com Tue Nov 27 15:00:38 2018 From: leventov.ru at gmail.com (Roman Leventov) Date: Tue, 27 Nov 2018 16:00:38 +0100 Subject: Heap inspection not working for OpenJDK 8 + Shenandoah In-Reply-To: <57086a02-66f8-3243-f23d-130a1345a25a@redhat.com> References: <37359c52-d44d-cfb1-0476-240215d2a031@redhat.com> <57086a02-66f8-3243-f23d-130a1345a25a@redhat.com> Message-ID: Confirmed the fix. Thanks a lot! :) On Tue, 27 Nov 2018 at 13:55, Aleksey Shipilev wrote: > On 11/27/18 12:27 PM, Aleksey Shipilev wrote: > > On 11/27/18 1:03 AM, Roman Leventov wrote: > >> Hi Shenandoah developers, > >> > >> Is that expected that heap inspection (jmap -histo:live, inspectheap > >> operation) doesn't work when I use Shenandoah backport for OpenJDK 8? > The > >> command returns immediately with response code 0, not dumping any heap > >> stats. When I use a different GC algorithm with the same OpenJDK build, > the > >> heap stats are produced normally. > > > > Reproduced on latest sh/jdk8, let me see what's up. > > That was the 8u-specific bug. Fixed with: > > http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008403.html > > Builds are regenerating here: > https://builds.shipilev.net/openjdk-shenandoah-jdk8/ > > -Aleksey > > From rkennke at redhat.com Tue Nov 27 17:43:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 18:43:42 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> <4650c622-c937-4a76-3b9f-10f93c677dcc@redhat.com> Message-ID: Hi Vladimir, > On 11/27/18 1:37 AM, Roman Kennke wrote: >> Hi Vladimir, >> >>> You need to check if shenandoahgc is disabled first - check >>> DISABLED_JVM_FEATURES list (see code for jvmci). >> >> Why? If Shenandoah is disabled, it will be on this list, and therefore >> not be built (see JvmFeatures.gmk). > > Did you test with --with-jvm-variants=-shenandoahgc to make sure it is > disabled? I tested with --with-jvm-features=-shenandoahgc (and will do so again right after finishing this email, just to be sure). (Note: shenandoahgc is a feature, not a variant). > May be I needed explicitly check jvmci because I need it early to check > it for enable Graal build. So it is different from your case. Probably. >>> Do you support 32-bit x86? You have OPENJDK_TARGET_CPU == xx86 check. >>> Do you support all x86 OSs? >> >> We can build with 32bit, but it will not run. It seems indeed curious to >> enable it. It's probably only there to allow 32bit builds with >> Shenandoah enabled, just to verify that we have all the relevant LP64 >> checks in code in place. I will check it with my collegues. > > What about OS? Do you support Windows, MacOS? I did not see any OS > specific changes. So may be it is alright. Shenandoah is OS agnostic and we compile + run it on Windows successfully. Adopters tell us it's fine on MacOS too. >> >>> Why you set VM CFLAGS when shenandoahgc is not enabled? It is in >>> JvmFeatures.gmk. >> >> This *disables* and excludes Shenandoah if not enabled. >> >> +ifneq ($(call check-jvm-feature, shenandoahgc), true) >> +? JVM_CFLAGS_FEATURES += -DINCLUDE_SHENANDOAHGC=0 >> +? JVM_EXCLUDE_PATTERNS += gc/shenandoah >> >> pretty much the same pattern as zgc and other features. >> >> and then we add some flags when Shenandoah is enabled: >> >> +else >> +? JVM_CFLAGS_FEATURES += -DSUPPORT_BARRIER_ON_PRIMITIVES >> -DSUPPORT_NOT_TO_SPACE_INVARIANT >> +endif >> >> ... which are required for building with Shenandoah enabled. > > My bad. Somehow I thought it was reverse. Too much coffee at the > morning. :( Yeah, maybe it's written the wrong way around (double-negation), but that's how it is for other similar blocks too. > Looks good. Thanks! >>> I looked on C2 changes. It has INCLUDE_SHENANDOAHGC, checks and new gc >>> specific nodes. This looks intrusive. I hope you clean it up. >> >> There are a few places with INCLUDE_SHENANDOAHGC checks where it seemed >> excessive to add a whole API just for a tiny, very GC specific check. We >> still do have intrusive changes in loop*, which we are working on to >> resolve. We declare+define all our GC specific nodes in >> shenandoahBarrierSetC2.hpp and related Shenandoah-specific files. The >> only things in shared code is the usual declarations in classes.hpp/cpp >> and node.hpp to get is_ShenandoahBarrier() an similar queries. This >> seems in-line with what other GCs do (look for e.g. LoadBarrier). Please >> be specific which changes in opto you'd like to see resolved (and don't >> look at loop* source files at this point ;-) ). > > Is it possible to reuse LoadBarrier by adding GC specific flag to it? > I am not against adding new nodes if really needed. My concern is about > using GC name in node's names. That would be very weird. Shenandoah's barrier is *not* a load barrier. GC's names in node name makes sense (to me) because the generated code is GC specific, and it's used in .ad files to match. I guess we could give it a more generic names (ReadBarrier, WriteBarrier, GCCompareAndSwap, ..) and then match them in .ad and call via BarrierSetAssembler to generate GC specific code. But it seems odd and hard to read+understand to me. > Yes, I am fine with very few INCLUDE_SHENANDOAHGC. Ok. Let's see how it looks like after Roland's latest changes are in. > Thanks, > Vladimir Thanks for reviewing! Roman >> Thanks for reviewing! >> Roman >> >>> Thanks, >>> Vladimir >>> >>> On 11/26/18 2:47 PM, Erik Joelsson wrote: >>>> Build changes look ok to me. >>>> >>>> /Erik >>>> >>>> On 2018-11-26 13:39, Roman Kennke wrote: >>>>> Hi, >>>>> >>>>> This is the first round of changes for including Shenandoah GC into >>>>> mainline. >>>>> I divided the review into parts that roughly correspond to the >>>>> mailing lists >>>>> that would normally review it, and I divided it into 'shared' code >>>>> changes and >>>>> 'shenandoah' code changes (actually, mostly additions). The intend >>>>> is to >>>>> eventually >>>>> push them as single 'combined' changeset, once reviewed. >>>>> >>>>> JEP: >>>>> ??? https://openjdk.java.net/jeps/189 >>>>> Bug entry: >>>>> >>>>> ???https://bugs.openjdk.java.net/browse/JDK-8214259 >>>>> >>>>> Webrevs: >>>>> ??? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>>>> >>>>> For those who want to see the full change, have a look at the >>>>> shenandoah-complete >>>>> >>>>> >>>>> >>>>> directory, >>>>> it contains the full combined webrev. Alternatively, there is the file >>>>> shenandoah-master.patch >>>>> , >>>>> >>>>> >>>>> which is what I intend to commit (and which should be equivalent to >>>>> the >>>>> 'shenandoah-complete' webrev). >>>>> >>>>> Sections to review (at this point) are the following: >>>>> ???*) shenandoah-gc >>>>> >>>>> >>>>> >>>>> ????? - Actual Shenandoah implementation, almost completely >>>>> residing in >>>>> gc/shenandoah >>>>> >>>>> ???*) shared-gc >>>>> >>>>> >>>>> ????? - This is mostly boilerplate that is common to any GC >>>>> ????? - referenceProcessor.cpp has a little change to make one >>>>> assert not >>>>> fail (next to CMS and G1) >>>>> ????? - taskqueue.hpp has some small adjustments to enable subclassing >>>>> >>>>> ???*) shared-serviceability >>>>> >>>>> >>>>> >>>>> ????? - The usual code to support another GC >>>>> >>>>> ???*) shared-runtime >>>>> >>>>> >>>>> >>>>> ????? - A number of friends declarations to allow Shenandoah >>>>> iterators to >>>>> hook up with, >>>>> ??????? e.g. ClassLoaderData, CodeCache, etc >>>>> ????? - Warning and disabling JFR LeakProfiler >>>>> ????? - fieldDescriptor.hpp added is_stable() accessor, for use in >>>>> Shenandoah C2 optimizations >>>>> ????? - Locks initialization in mutexLocker.cpp as usual >>>>> ????? - VM operations defines for Shenandoah's VM ops >>>>> ????? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>>>> Shenandoah's logging >>>>> ????? - The usual macros in macro.hpp >>>>> >>>>> ???*) shared-build >>>>> >>>>> >>>>> >>>>> ????? - Add shenandoah feature, enabled by default, as agreed with >>>>> Vladimir K. beforehand >>>>> ????? - Some flags for shenandoah-enabled compilation to get >>>>> SUPPORT_BARRIER_ON_PRIMITIVES >>>>> ??????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>>>> Shenandoah's barriers >>>>> ????? - --param inline-unit-growth=1000 settings for 2 shenandoah >>>>> source >>>>> files, which is >>>>> ??????? useful to get the whole marking loop inlined (observed >>>>> significant >>>>> regression if we >>>>> ??????? don't) >>>>> >>>>> ???*) shared-tests >>>>> >>>>> >>>>> >>>>> ????? - Test infrastructure to support Shenandoah >>>>> ????? - Shenandoah test groups >>>>> ????? - Exclude Shenandoah in various tests that can be run with >>>>> selected GC >>>>> ????? - Enable/add configure for Shenandoah for tests that make >>>>> sense to >>>>> run with it >>>>> >>>>> ???*) shenandoah-tests >>>>> >>>>> >>>>> >>>>> ????? - Shenandoah specific tests, most reside in gc/shenandoah >>>>> subdirectory >>>>> ????? - A couple of tests configurations have been added, e.g. >>>>> TestGCBasherWithShenandoah.java >>>>> >>>>> I intentionally left out shared-compiler for now, because we have some >>>>> work left to do >>>>> there, but if you click around you'll find the patch anyway, in >>>>> case you >>>>> want to take >>>>> a peek at it. >>>>> >>>>> We have regular builds on: >>>>> ??? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>>>> ??? - {Windows} x {x86_64}, >>>>> ??? - {MacOS X} x {x86_64} >>>>> >>>>> This also routinely passes: >>>>> ??? - the new Shenandoah tests >>>>> ??? - jcstress with/without aggressive Shenandoah verification >>>>> ??? - specjvm2008 with/without aggressive Shenandoah verification >>>>> >>>>> >>>>> I'd like to thank my collegues at Red Hat: Christine Flood, she >>>>> deserves >>>>> the credit for being the original inventor of Shenandoah, Aleksey >>>>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>>>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>>>> advice and support, my collegues in Oracle's GC, runtime and compiler >>>>> teams for tirelessly helping with and reviewing all the GC >>>>> interface and >>>>> related changes, and of course the many early adopters for reporting >>>>> bugs and success stories and feature requests: we wouldn't be here >>>>> without any of you! >>>>> >>>>> Best regards, >>>>> Roman >>>>> >> From rkennke at redhat.com Tue Nov 27 17:54:05 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 18:54:05 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <7fca3c07-ee1e-6b33-eef6-37c09dd6f65c@oracle.com> <4650c622-c937-4a76-3b9f-10f93c677dcc@redhat.com> Message-ID: <7ac7b365-5383-a28b-2e76-c6548177e840@redhat.com> >>> You need to check if shenandoahgc is disabled first - check >>> DISABLED_JVM_FEATURES list (see code for jvmci). >> >> Why? If Shenandoah is disabled, it will be on this list, and therefore >> not be built (see JvmFeatures.gmk). > > Did you test with --with-jvm-variants=-shenandoahgc to make sure it is > disabled? Test: Built the Shenandoah-patched tree with --with-jvm-features=-shenandoahgc. Then: java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC --version Error occurred during initialization of VM Option -XX:+UseShenandoahGC not supported Also, we regularily build minimal and zero, and those disable Shenandoah too, that's how we know this works reliably. Thanks, Roman From zgu at redhat.com Tue Nov 27 18:29:58 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 27 Nov 2018 13:29:58 -0500 Subject: RFR: Upstreaming OWST task termination (Shenandoah changes) Message-ID: <870d33de-5e66-ae2e-0dfe-a5fcde1f1092@redhat.com> Hi, Please review Shenandoah changes that will be affected by JDK-8204947. Also, please take a look of OWSTTaskTerminator, see if there are any faults. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/upstream_owst/webrev.00/index.html Test: tier3_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Tue Nov 27 19:29:55 2018 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 27 Nov 2018 20:29:55 +0100 Subject: RFR: Upstreaming OWST task termination (Shenandoah changes) In-Reply-To: <870d33de-5e66-ae2e-0dfe-a5fcde1f1092@redhat.com> References: <870d33de-5e66-ae2e-0dfe-a5fcde1f1092@redhat.com> Message-ID: <3d4f8d55-de6f-b96c-f2ae-58fafa44b91e@redhat.com> I think the changes look good. I'm wondering if we should push it to upstream first, then cherry-pick the change ASAP and add the Shenandoah pieces then. This seems the least disruptive path. Upstream may want stuff changed around, and from there it gets messy... Roman > Hi, > > Please review Shenandoah changes that will be affected by JDK-8204947. > Also, please take a look of OWSTTaskTerminator, see if there are any > faults. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/upstream_owst/webrev.00/index.html > > > Test: > ? tier3_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu From zgu at redhat.com Tue Nov 27 19:32:53 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 27 Nov 2018 14:32:53 -0500 Subject: RFR: Upstreaming OWST task termination (Shenandoah changes) In-Reply-To: <3d4f8d55-de6f-b96c-f2ae-58fafa44b91e@redhat.com> References: <870d33de-5e66-ae2e-0dfe-a5fcde1f1092@redhat.com> <3d4f8d55-de6f-b96c-f2ae-58fafa44b91e@redhat.com> Message-ID: On 11/27/18 2:29 PM, Roman Kennke wrote: > I think the changes look good. > > I'm wondering if we should push it to upstream first, then cherry-pick > the change ASAP and add the Shenandoah pieces then. This seems the least > disruptive path. Upstream may want stuff changed around, and from there > it gets messy... Yes, my intention is to upstream first. I did this patch to make sure that upstreamed patch works with our force termination stuff ... Thanks, -Zhengyu > > Roman > >> Hi, >> >> Please review Shenandoah changes that will be affected by JDK-8204947. >> Also, please take a look of OWSTTaskTerminator, see if there are any >> faults. >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/upstream_owst/webrev.00/index.html >> >> >> Test: >> ? tier3_gc_shenandoah (fastdebug and release) >> >> Thanks, >> >> -Zhengyu > From rwestrel at redhat.com Wed Nov 28 08:45:50 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 28 Nov 2018 09:45:50 +0100 Subject: RFR: cherry pick 8214172: GC interface entry points for loop opts Message-ID: <87ftvlmvy9.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/8214172/webrev.00/ From rwestrel at redhat.com Wed Nov 28 09:02:32 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 28 Nov 2018 10:02:32 +0100 Subject: RFR: cherry pick 8214362: C2: gc interface entry point for split if Message-ID: <87d0qpmv6f.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/8214362/webrev.00/ From rkennke at redhat.com Wed Nov 28 09:28:06 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 10:28:06 +0100 Subject: RFR: cherry pick 8214172: GC interface entry points for loop opts In-Reply-To: <87ftvlmvy9.fsf@redhat.com> References: <87ftvlmvy9.fsf@redhat.com> Message-ID: Yes! Thanks! Am 28. November 2018 09:45:50 MEZ schrieb Roland Westrelin : > >http://cr.openjdk.java.net/~roland/shenandoah/8214172/webrev.00/ From rkennke at redhat.com Wed Nov 28 09:28:20 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 10:28:20 +0100 Subject: RFR: cherry pick 8214362: C2: gc interface entry point for split if In-Reply-To: <87d0qpmv6f.fsf@redhat.com> References: <87d0qpmv6f.fsf@redhat.com> Message-ID: <0A467B88-5741-460D-9328-D7D7388BE5F7@redhat.com> Yes! Am 28. November 2018 10:02:32 MEZ schrieb Roland Westrelin : > >http://cr.openjdk.java.net/~roland/shenandoah/8214362/webrev.00/ From rwestrel at redhat.com Wed Nov 28 09:37:35 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 28 Nov 2018 09:37:35 +0000 Subject: hg: shenandoah/jdk: [cherry pick] 8214172: GC interface entry points for loop opts Message-ID: <201811280937.wAS9bZsb008360@aojmv0008.oracle.com> Changeset: 453f22c7b06b Author: roland Date: 2018-11-20 15:41 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/453f22c7b06b [cherry pick] 8214172: GC interface entry points for loop opts Reviewed-by: kvn, rkennke ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/subnode.cpp From rwestrel at redhat.com Wed Nov 28 09:41:02 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 28 Nov 2018 09:41:02 +0000 Subject: hg: shenandoah/jdk: [cherry pick] 8214362: C2: gc interface entry point for split if Message-ID: <201811280941.wAS9f2Ao011541@aojmv0008.oracle.com> Changeset: 7ae67e505b4e Author: roland Date: 2018-11-28 09:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7ae67e505b4e [cherry pick] 8214362: C2: gc interface entry point for split if Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp From rkennke at redhat.com Wed Nov 28 10:27:01 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 11:27:01 +0100 Subject: RFR: Fix various formattings and namings in shared GC code Message-ID: <7827d9f2-813a-fcfe-e4f1-b06635f87c5a@redhat.com> Based on Kim's review [1], this fixes a number for formattings and namings in shared GC code. http://cr.openjdk.java.net/~rkennke/fix-gc-formattings-namings/webrev.00/ Testing: tier3_gc_shenandoah Ok? Roman [1] http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-November/024000.html From rkennke at redhat.com Wed Nov 28 11:34:07 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 12:34:07 +0100 Subject: RFR: Make all Shenandoah tests @requires vm.gc.Shenandoah Message-ID: This puts @requires vm.gc.Shenandoah tag in all Shenandoah tests under gc/shenandoah such that they don't accidentally get selected in non-Shenandoah builds. Testing: build with --with-jvm-features=-shenandoah, run-tests=gc/shenandoah, get: Test selection 'gc/shenandoah', will run: * jtreg:test/hotspot/jtreg/gc/shenandoah Running test 'jtreg:test/hotspot/jtreg/gc/shenandoah' Test results: no tests selected http://cr.openjdk.java.net/~rkennke/tests-req-shenandoah/webrev.00/ Ok? From rkennke at redhat.com Wed Nov 28 12:41:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 13:41:24 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <4A6598C6-7A6E-4CD0-AF47-1F4E9CFE9B89@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <46CBF9C2-7684-4EED-80F8-7103D48FA3A0@oracle.com> <4A6598C6-7A6E-4CD0-AF47-1F4E9CFE9B89@oracle.com> Message-ID: Hi Kim, >> On Nov 27, 2018, at 4:46 AM, Roman Kennke wrote: >> >> Hi Kim, >> >>>> Sections to review (at this point) are the following: >>>> >>>> *) shared-gc >>>> - This is mostly boilerplate that is common to any GC >>>> - referenceProcessor.cpp has a little change to make one assert not fail (next to CMS and G1) >>> >>> Ick. But I don?t have a better suggestion that doesn?t involve adding a new API >>> to CollectedHeap for use by this assertion, which seems a bit excessive if there >>> are no other uses. >> >> Yeah. >> I guess we could add a config _discovery_is_concurrent or similar in RP, >> and check that. Or maybe one of _discovery_is_mt or _discovery_is_atomic >> already covers that? I couldn't immediately tell/100% understand their >> semantics. Seems worthy to look at after this? > > It might be equivalent to _discovery_is_atomic; I don?t remember the exact > semantics right now. I think it?s unrelated to _discovery_is_mt. > > Yes, looking at this later is fine. Please file an RFE. Ok, done: https://bugs.openjdk.java.net/browse/JDK-8214441 >>>> - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> Why this change instead of JDK-8204947? As the description from that RFE says: >>> "The ShenandoahTaskTerminator from the Shenandoah project is a much better implementation of a task terminator.? >> >> Yeah, see Zhengyu's comment. Let's ignore those changes for this review >> (for now), expect our impl ported to taskqueue.hpp/cpp soon. > > I?m okay with that plan. Maybe add a comment in JDK-8204947 about this? https://bugs.openjdk.java.net/browse/JDK-8204947?focusedCommentId=14226307&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14226307 Thanks for reviewing, Roman From rkennke at redhat.com Wed Nov 28 12:42:48 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 13:42:48 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <39D4E0BC-9669-43FE-A28D-34E46F8CB268@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <39D4E0BC-9669-43FE-A28D-34E46F8CB268@oracle.com> Message-ID: <69867881-48fd-3817-54b7-e904f0c1fa4e@redhat.com> Hi Kim, >> On Nov 26, 2018, at 4:39 PM, Roman Kennke wrote: >> *) shared-gc >> - This is mostly boilerplate that is common to any GC >> - referenceProcessor.cpp has a little change to make one assert not fail (next to CMS and G1) >> - taskqueue.hpp has some small adjustments to enable subclassing > > I've reviewed the shared-gc webrev. I only found a few trivial nits. > > ------------------------------------------------------------------------------ > src/hotspot/share/gc/shared/gcName.hpp > 42 NA, > 43 Shenandoah, > > Putting Shenandoah after NA seems odd. > > ------------------------------------------------------------------------------ > src/hotspot/share/gc/shared/gcConfig.cpp > 63 CMSGC_ONLY(static CMSArguments cmsArguments;) > ... > 69 SHENANDOAHGC_ONLY(static ShenandoahArguments shenandoahArguments;) > > Code alignment should probably be updated. > > Similarly here: > 73 static const SupportedGC SupportedGCs[] = { > ... > 79 SHENANDOAHGC_ONLY_ARG(SupportedGC(UseShenandoahGC, CollectedHeap::Shenandoah, shenandoahArguments, "shenandoah gc")) > > and here: > 97 void GCConfig::fail_if_unsupported_gc_is_selected() { > ... > 105 NOT_SHENANDOAHGC(FAIL_IF_SELECTED(UseShenandoahGC, true)); > > ------------------------------------------------------------------------------ > src/hotspot/share/gc/shared/collectedHeap.hpp > 92 // ShenandoahHeap > > Moving it after ParallelScavengeHeap would give a better order. > > ------------------------------------------------------------------------------ > src/hotspot/share/gc/shared/barrierSetConfig.hpp > 36 SHENANDOAHGC_ONLY(f(Shenandoah)) > > Why is this "Shenandoah" while all the others are "BarrierSet"? > Don't know. I'll change it to be consistent. I have proposed a patch with all changes to shenandoah-dev: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008420.html Will post an updated upstreaming webrev soon. Thanks for reviewing, Roman From shade at redhat.com Wed Nov 28 13:19:22 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 14:19:22 +0100 Subject: RFR: Fix various formattings and namings in shared GC code In-Reply-To: <7827d9f2-813a-fcfe-e4f1-b06635f87c5a@redhat.com> References: <7827d9f2-813a-fcfe-e4f1-b06635f87c5a@redhat.com> Message-ID: <7267ccd4-704a-534b-0484-b610915df863@redhat.com> On 11/28/18 11:27 AM, Roman Kennke wrote: > Based on Kim's review [1], this fixes a number for formattings and > namings in shared GC code. > > http://cr.openjdk.java.net/~rkennke/fix-gc-formattings-namings/webrev.00/ Looks good to me. -Aleksey From rkennke at redhat.com Wed Nov 28 13:22:17 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 14:22:17 +0100 Subject: RFR: Shenandoah test groups should not include each other Message-ID: According to Leonid's review, tierN+1 should not include tierN. This also seems consistent with other tierX groups. So now, if you want to run all tests, you need to specify all 3 tierX_gc_shenandoah groups, or we decide to add a hotspot_gc_shenandoah_all group or such. http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.00/ Testing: tier1,2,3_shenandoah_gc, eyeballing executed tests Ok? Roman From shade at redhat.com Wed Nov 28 13:28:08 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 14:28:08 +0100 Subject: RFR: Shenandoah test groups should not include each other In-Reply-To: References: Message-ID: <2644586d-7b65-f2f9-9af9-62992a6585fa@redhat.com> On 11/28/18 2:22 PM, Roman Kennke wrote: > According to Leonid's review, tierN+1 should not include tierN. This > also seems consistent with other tierX groups. So now, if you want to > run all tests, you need to specify all 3 tierX_gc_shenandoah groups, or > we decide to add a hotspot_gc_shenandoah_all group or such. > > http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.00/ *) It seems to me we can inline "shenandoah_stress" group into "tier3_gc_shenandoah" then. *) Let's add hotspot_gc_shenandoah group that includes tier{1,2,3}. -Aleksey From rkennke at redhat.com Wed Nov 28 13:45:06 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 14:45:06 +0100 Subject: RFR: Shenandoah test groups should not include each other In-Reply-To: <2644586d-7b65-f2f9-9af9-62992a6585fa@redhat.com> References: <2644586d-7b65-f2f9-9af9-62992a6585fa@redhat.com> Message-ID: <10a1cce0-f900-d609-8c66-dff7f8aeb298@redhat.com> > On 11/28/18 2:22 PM, Roman Kennke wrote: >> According to Leonid's review, tierN+1 should not include tierN. This >> also seems consistent with other tierX groups. So now, if you want to >> run all tests, you need to specify all 3 tierX_gc_shenandoah groups, or >> we decide to add a hotspot_gc_shenandoah_all group or such. >> >> http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.00/ > > *) It seems to me we can inline "shenandoah_stress" group into "tier3_gc_shenandoah" then. > > *) Let's add hotspot_gc_shenandoah group that includes tier{1,2,3}. > http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.01/ Ok? Roman From shade at redhat.com Wed Nov 28 13:49:54 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 14:49:54 +0100 Subject: RFR: Shenandoah test groups should not include each other In-Reply-To: <10a1cce0-f900-d609-8c66-dff7f8aeb298@redhat.com> References: <2644586d-7b65-f2f9-9af9-62992a6585fa@redhat.com> <10a1cce0-f900-d609-8c66-dff7f8aeb298@redhat.com> Message-ID: <89e84273-c739-69ab-ccf2-92fa9fa16df2@redhat.com> On 11/28/18 2:45 PM, Roman Kennke wrote: >> On 11/28/18 2:22 PM, Roman Kennke wrote: >>> According to Leonid's review, tierN+1 should not include tierN. This >>> also seems consistent with other tierX groups. So now, if you want to >>> run all tests, you need to specify all 3 tierX_gc_shenandoah groups, or >>> we decide to add a hotspot_gc_shenandoah_all group or such. >>> >>> http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.00/ >> >> *) It seems to me we can inline "shenandoah_stress" group into "tier3_gc_shenandoah" then. >> >> *) Let's add hotspot_gc_shenandoah group that includes tier{1,2,3}. >> > > http://cr.openjdk.java.net/~rkennke/shenandoah-test-groups/webrev.01/ Yup, go! -Aleksey From roman at kennke.org Wed Nov 28 13:51:45 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 28 Nov 2018 13:51:45 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811281351.wASDpjVp013941@aojmv0008.oracle.com> Changeset: 4822f6d4772b Author: rkennke Date: 2018-11-28 14:42 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4822f6d4772b Shenandoah test groups should not include each other ! test/hotspot/jtreg/TEST.groups Changeset: 58b5413a75ea Author: rkennke Date: 2018-11-28 14:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/58b5413a75ea Fix various formattings and namings in shared GC code ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/gc/shared/gcName.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp From rkennke at redhat.com Wed Nov 28 14:00:21 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 15:00:21 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <566619f4-87f5-a605-ca49-8b9083fc17eb@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <566619f4-87f5-a605-ca49-8b9083fc17eb@oracle.com> Message-ID: <20c6ccb0-4161-90e9-a6b7-f1aff4c05bef@redhat.com> Hi Per, > Hi Roman, > > On 11/26/18 10:39 PM, Roman Kennke wrote: > [...] >> ??*) shared-serviceability >> >> >> ???? - The usual code to support another GC > > Just had a quick look at the SA part. I was thinking you'd have the same > problem as ZGC here, with regards to parsing the heap and potentially > reading garbage when you step on a Klass* which had been unloaded? Possible. I am myself not very familiar with SA. I guess it depends on how SA does it: if it iterates objects via CH::object_iterate() (e.g. same entry point as, e.g., heap-dumping code), then we should be fine. We're kicking off a traversal rather than straight scan there. If however SA somehow makes a raw scan itself, then we'd have the problem you describe. Roman From shade at redhat.com Wed Nov 28 14:11:43 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 15:11:43 +0100 Subject: RFR: Make all Shenandoah tests @requires vm.gc.Shenandoah In-Reply-To: References: Message-ID: On 11/28/18 12:34 PM, Roman Kennke wrote: > This puts @requires vm.gc.Shenandoah tag in all Shenandoah tests under > gc/shenandoah such that they don't accidentally get selected in > non-Shenandoah builds. > > Testing: build with --with-jvm-features=-shenandoah, > run-tests=gc/shenandoah, get: > > > Test selection 'gc/shenandoah', will run: > * jtreg:test/hotspot/jtreg/gc/shenandoah > > Running test 'jtreg:test/hotspot/jtreg/gc/shenandoah' > Test results: no tests selected > > > http://cr.openjdk.java.net/~rkennke/tests-req-shenandoah/webrev.00/ Hold on, let me add "@key gc" and make sure "@test" is correct, and format test blocks consistently then. Apply on top of your patch: http://cr.openjdk.java.net/~shade/shenandoah/shade-tests-updates.patch New synopsis: "Shenandoah should @require Shenandoah, @key gc, and have good @test" tier3_gc_shenandoah seems unaffected. -Aleksey From rkennke at redhat.com Wed Nov 28 14:18:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 15:18:42 +0100 Subject: RFR: Make all Shenandoah tests @requires vm.gc.Shenandoah In-Reply-To: References: Message-ID: > On 11/28/18 12:34 PM, Roman Kennke wrote: >> This puts @requires vm.gc.Shenandoah tag in all Shenandoah tests under >> gc/shenandoah such that they don't accidentally get selected in >> non-Shenandoah builds. >> >> Testing: build with --with-jvm-features=-shenandoah, >> run-tests=gc/shenandoah, get: >> >> >> Test selection 'gc/shenandoah', will run: >> * jtreg:test/hotspot/jtreg/gc/shenandoah >> >> Running test 'jtreg:test/hotspot/jtreg/gc/shenandoah' >> Test results: no tests selected >> >> >> http://cr.openjdk.java.net/~rkennke/tests-req-shenandoah/webrev.00/ > > Hold on, let me add "@key gc" and make sure "@test" is correct, and format test blocks consistently > then. Apply on top of your patch: > http://cr.openjdk.java.net/~shade/shenandoah/shade-tests-updates.patch > > New synopsis: "Shenandoah should @require Shenandoah, @key gc, and have good @test" > > tier3_gc_shenandoah seems unaffected. Great! Thanks! I pushed it with your patch and changed synopsis. Roman From roman at kennke.org Wed Nov 28 14:17:05 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 28 Nov 2018 14:17:05 +0000 Subject: hg: shenandoah/jdk: Shenandoah should @require Shenandoah, @key gc, and have good @test Message-ID: <201811281417.wASEH5Ak027692@aojmv0008.oracle.com> Changeset: dd8752a0ab5e Author: rkennke Date: 2018-11-28 15:14 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/dd8752a0ab5e Shenandoah should @require Shenandoah, @key gc, and have good @test ! test/hotspot/jtreg/gc/shenandoah/EvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/HumongousThreshold.java ! test/hotspot/jtreg/gc/shenandoah/LargeObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/LotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/PinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahJNICritical.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahStrDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java ! test/hotspot/jtreg/gc/shenandoah/TestElasticTLAB.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapAlloc.java ! test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java ! test/hotspot/jtreg/gc/shenandoah/TestMemoryPools.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahStrDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahWithLogLevel.java ! test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java ! test/hotspot/jtreg/gc/shenandoah/WrongArrayMember.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/HeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/ParallelRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/SieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/StringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/VerifyJCStressTest.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1ArrayCopyNPE.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1VectorizedMismatch.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestExpandedWBLostNullCheckDep.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestMaybeNullUnsafeAccess.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestWriteBarrierClearControl.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/ChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/PauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java ! test/hotspot/jtreg/gc/shenandoah/options/AlwaysPreTouch.java ! test/hotspot/jtreg/gc/shenandoah/options/TestClassUnloadingArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java ! test/hotspot/jtreg/gc/shenandoah/options/TestEnabled.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGCNoConcurrent.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestLoopMiningArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java ! test/hotspot/jtreg/gc/shenandoah/options/TestParallelRegionStride.java ! test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestShenandoahArgumentRanges.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreadedShenandoah.java From rkennke at redhat.com Wed Nov 28 14:24:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 15:24:00 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <169dbd79-2ae1-8c9a-67b2-bc3a9f0f01a7@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <566619f4-87f5-a605-ca49-8b9083fc17eb@oracle.com> <20c6ccb0-4161-90e9-a6b7-f1aff4c05bef@redhat.com> <169dbd79-2ae1-8c9a-67b2-bc3a9f0f01a7@oracle.com> Message-ID: <8d5b0cd0-d791-3c77-7302-eea97012897e@redhat.com> >> Hi Per, >> >>> Hi Roman, >>> >>> On 11/26/18 10:39 PM, Roman Kennke wrote: >>> [...] >>>> ???*) shared-serviceability >>>> >>>> >>>> >>>> ????? - The usual code to support another GC >>> >>> Just had a quick look at the SA part. I was thinking you'd have the same >>> problem as ZGC here, with regards to parsing the heap and potentially >>> reading garbage when you step on a Klass* which had been unloaded? >> >> Possible. I am myself not very familiar with SA. I guess it depends on >> how SA does it: if it iterates objects via CH::object_iterate() (e.g. >> same entry point as, e.g., heap-dumping code), then we should be fine. >> We're kicking off a traversal rather than straight scan there. If >> however SA somehow makes a raw scan itself, then we'd have the problem >> you describe. > > The SA does a raw scan itself, which is the root of the problem. > ObejctHeap.iterateLiveRegions() will locate the first object in a region > by doing > > ? OopHandle handle = bottom.addOffsetToAsOopHandle(0); > > and to get the next object it does > > ? handle.addOffsetToAsOopHandle(obj.getObjectSize()); > > and you'll crash. So I'm afraid this will not work for Shenandoah either. Alright. I'll 'disable' it like you did with ZGC then. Thanks for pointing it out. I'm wondering: this would crash with G1 and +ClassUnloadingWithConcurrentMark too, then? Roman From rwestrel at redhat.com Wed Nov 28 14:27:22 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 28 Nov 2018 15:27:22 +0100 Subject: RFR: remove useless TraceLoopPredicate change compared to upstream Message-ID: <87y39dl1kl.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/TraceLoopPredicate/webrev.00/ From shade at redhat.com Wed Nov 28 14:30:11 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 15:30:11 +0100 Subject: RFR: remove useless TraceLoopPredicate change compared to upstream In-Reply-To: <87y39dl1kl.fsf@redhat.com> References: <87y39dl1kl.fsf@redhat.com> Message-ID: <19bb0463-3e3f-a3ec-3c8c-28c1d32eb73b@redhat.com> On 11/28/18 3:27 PM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/shenandoah/TraceLoopPredicate/webrev.00/ Looks good. I was wondering why we have it... -Aleksey From rwestrel at redhat.com Wed Nov 28 14:33:48 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Wed, 28 Nov 2018 14:33:48 +0000 Subject: hg: shenandoah/jdk: remove TraceLoopPredicate change Message-ID: <201811281433.wASEXms3005980@aojmv0008.oracle.com> Changeset: d7e68c58bd06 Author: roland Date: 2018-11-28 15:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d7e68c58bd06 remove TraceLoopPredicate change ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp From rkennke at redhat.com Wed Nov 28 16:44:08 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 17:44:08 +0100 Subject: RFR: Fix indentation of CriticalNative* tests Message-ID: <64ae1932-5030-d325-9ae4-7cd9a4a3d8ee@redhat.com> Nothing else. http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.00/ Ok? Roman From shade at redhat.com Wed Nov 28 16:50:00 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 17:50:00 +0100 Subject: RFR: Fix indentation of CriticalNative* tests In-Reply-To: <64ae1932-5030-d325-9ae4-7cd9a4a3d8ee@redhat.com> References: <64ae1932-5030-d325-9ae4-7cd9a4a3d8ee@redhat.com> Message-ID: On 11/28/18 5:44 PM, Roman Kennke wrote: > Nothing else. > > http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.00/ OK. Did you generate webrev with -b (do not ignore whitespace changes)? It probably makes sense to enable it for patches like this. -Aleksey From rkennke at redhat.com Wed Nov 28 17:20:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 18:20:33 +0100 Subject: RFR: Fix indentation of CriticalNative* tests In-Reply-To: References: <64ae1932-5030-d325-9ae4-7cd9a4a3d8ee@redhat.com> Message-ID: > On 11/28/18 5:44 PM, Roman Kennke wrote: >> Nothing else. >> >> http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.00/ > > OK. Did you generate webrev with -b (do not ignore whitespace changes)? It probably makes sense to > enable it for patches like this. Duh, of course: http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.01/ Roman From shade at redhat.com Wed Nov 28 17:22:41 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 18:22:41 +0100 Subject: RFR: Fix indentation of CriticalNative* tests In-Reply-To: References: <64ae1932-5030-d325-9ae4-7cd9a4a3d8ee@redhat.com> Message-ID: <503bb0ab-9ec8-e464-8472-de8deb8dd4c7@redhat.com> On 11/28/18 6:20 PM, Roman Kennke wrote: >> On 11/28/18 5:44 PM, Roman Kennke wrote: >>> Nothing else. >>> >>> http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.00/ >> >> OK. Did you generate webrev with -b (do not ignore whitespace changes)? It probably makes sense to >> enable it for patches like this. > > Duh, of course: > http://cr.openjdk.java.net/~rkennke/indent-criticalnative/webrev.01/ OK, good. -Aleksey From rkennke at redhat.com Wed Nov 28 17:24:19 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 18:24:19 +0100 Subject: RFR: Fix shared tests to run without Shenandoah Message-ID: Several shared tests wouldn't run or fail when Shenandoah is not available. This fixes them. Some needed an extra test section, some needed a runtime test, and one I did not know what to do: test/hotspot/jtreg/gc/TestFullGCCount.java http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.00/ Testing: hotspot_gc_shenandoah, hotspot_gc with -shenandoahgc build OK? From rkennke at redhat.com Wed Nov 28 17:38:22 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 18:38:22 +0100 Subject: Disable heap iteration for Shenandoah in SA Message-ID: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> As Per pointed out in reviews, we cannot safely iterate objects in SA, because current implementation is size-based. This might just crash. Let's do the same as ZGC for now and disable it, and revert the other pieces. http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ Testing: hotspot_gc_shenandoah, hotspot_serviceability Ok? From shade at redhat.com Wed Nov 28 17:37:48 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 18:37:48 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: References: Message-ID: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> On 11/28/18 6:24 PM, Roman Kennke wrote: > Several shared tests wouldn't run or fail when Shenandoah is not > available. This fixes them. Some needed an extra test section, some > needed a runtime test, and one I did not know what to do: > > test/hotspot/jtreg/gc/TestFullGCCount.java > > http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.00/ *) TestSystemGC.java: @test should be TestSystemGCShenandoah *) TestDynamicNumberOfGCThreads.java, TestInitialGCThreadLogging.java, TestGCId.java: bad indent around L34, "sun" should be aligned? 33 * @run driver ClassFileInstaller sun.hotspot.WhiteBox 34 * sun.hotspot.WhiteBox$WhiteBoxPermission *) TestDynamicNumberOfGCThreads.java, do you really need to change private->protected? *) CriticalNativeStress.java: addition of "compact" + "-degen" does not make sense. Did you mean "passive" + "+degen"? It probably makes sense to split out for a separate backport. Thanks, -Aleksey From rkennke at redhat.com Wed Nov 28 17:51:40 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 18:51:40 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> Message-ID: <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> >> Several shared tests wouldn't run or fail when Shenandoah is not >> available. This fixes them. Some needed an extra test section, some >> needed a runtime test, and one I did not know what to do: >> >> test/hotspot/jtreg/gc/TestFullGCCount.java >> >> http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.00/ > > *) TestSystemGC.java: @test should be TestSystemGCShenandoah > > *) TestDynamicNumberOfGCThreads.java, TestInitialGCThreadLogging.java, TestGCId.java: bad indent > around L34, "sun" should be aligned? > > 33 * @run driver ClassFileInstaller sun.hotspot.WhiteBox > 34 * sun.hotspot.WhiteBox$WhiteBoxPermission > > *) TestDynamicNumberOfGCThreads.java, do you really need to change private->protected? Nope. Leftover. Removed. > *) CriticalNativeStress.java: addition of "compact" + "-degen" does not make sense. Did you mean > "passive" + "+degen"? It probably makes sense to split out for a separate backport. No, we already have passive+degen, I meand compact-degen. Also fixed a number of other places like the above (added @test names, etc): http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.01/ Ok? From zgu at redhat.com Wed Nov 28 17:56:46 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 28 Nov 2018 12:56:46 -0500 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> Message-ID: <45b7a9f5-fc2e-ec30-69bf-caafc00fef4b@redhat.com> On 11/28/18 12:38 PM, Roman Kennke wrote: > As Per pointed out in reviews, we cannot safely iterate objects in SA, > because current implementation is size-based. This might just crash. > Let's do the same as ZGC for now and disable it, and revert the other > pieces. > > http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ Why also removed cell_header_size stuff? If you want to minimize diff, can also remove it from CollectedHeap and ShenandoahHeap, this is the sole user. Thanks, -Zhengyu > > Testing: hotspot_gc_shenandoah, hotspot_serviceability > > Ok? > > > From shade at redhat.com Wed Nov 28 17:57:44 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 18:57:44 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> Message-ID: <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> On 11/28/18 6:51 PM, Roman Kennke wrote: >> *) CriticalNativeStress.java: addition of "compact" + "-degen" does not make sense. Did you mean >> "passive" + "+degen"? It probably makes sense to split out for a separate backport. > > No, we already have passive+degen, I meand compact-degen. Also fixed a > number of other places like the above (added @test names, etc): I don't understand. Every time we do "passive", we do "passive" with degen and without degen. Your change replaces one of the "passive" configs with "compact". Either add another "compact" @run line, or leave the whole thing alone? :) > http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.01/ Okay, what's up with TestFullGCCount test? Does it not run without Shenandoah built? It should. The @requires line there only protects from running the test with Shenandoah in explicit-concurrent mode, right? (While you are at it, you can probably change "vm.gc == "Shenandoah"" to "vm.gc.Shenandoah") -Aleksey From shade at redhat.com Wed Nov 28 17:59:29 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 18:59:29 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> Message-ID: <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> On 11/28/18 6:38 PM, Roman Kennke wrote: > As Per pointed out in reviews, we cannot safely iterate objects in SA, > because current implementation is size-based. This might just crash. > Let's do the same as ZGC for now and disable it, and revert the other > pieces. > > http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ Comment is incorrect, should be "Shenandoah": 372 // Operation (currently) not supported with ZGC. Print Then what Zhengyu said, we can remove cell_header_size completely? -Aleksey From shade at redhat.com Wed Nov 28 18:03:01 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 19:03:01 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> Message-ID: <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> On 11/28/18 6:59 PM, Aleksey Shipilev wrote: > On 11/28/18 6:38 PM, Roman Kennke wrote: >> As Per pointed out in reviews, we cannot safely iterate objects in SA, >> because current implementation is size-based. This might just crash. >> Let's do the same as ZGC for now and disable it, and revert the other >> pieces. >> >> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ > > Comment is incorrect, should be "Shenandoah": > > 372 // Operation (currently) not supported with ZGC. Print > > Then what Zhengyu said, we can remove cell_header_size completely? Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added this to satisfy adopter's request for this feature. I wonder if we can somehow check that class unloading is not enabled before traversing. -Aleksey From roman at kennke.org Wed Nov 28 18:02:33 2018 From: roman at kennke.org (Roman Kennke) Date: Wed, 28 Nov 2018 19:02:33 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <45b7a9f5-fc2e-ec30-69bf-caafc00fef4b@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <45b7a9f5-fc2e-ec30-69bf-caafc00fef4b@redhat.com> Message-ID: <87985d9e-5729-37b2-5a2c-9466e531dd9c@kennke.org> Hi Zhengyu > On 11/28/18 12:38 PM, Roman Kennke wrote: >> As Per pointed out in reviews, we cannot safely iterate objects in SA, >> because current implementation is size-based. This might just crash. >> Let's do the same as ZGC for now and disable it, and revert the other >> pieces. >> >> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ > > Why also removed cell_header_size stuff? It's not needed anymore, I want to minimize upstream diff and I think that the object iteration would need to be implemented differently, not using cell_header_size. > If you want to minimize diff, can also remove it from CollectedHeap and > ShenandoahHeap, this is the sole user. Good, thanks for pointing out: http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.01/ Good now? Roman From rkennke at redhat.com Wed Nov 28 18:12:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 19:12:42 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> Message-ID: > On 11/28/18 6:59 PM, Aleksey Shipilev wrote: >> On 11/28/18 6:38 PM, Roman Kennke wrote: >>> As Per pointed out in reviews, we cannot safely iterate objects in SA, >>> because current implementation is size-based. This might just crash. >>> Let's do the same as ZGC for now and disable it, and revert the other >>> pieces. >>> >>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ >> >> Comment is incorrect, should be "Shenandoah": >> >> 372 // Operation (currently) not supported with ZGC. Print >> >> Then what Zhengyu said, we can remove cell_header_size completely? > > Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added > this to satisfy adopter's request for this feature. I wonder if we can somehow check that class > unloading is not enabled before traversing. I have no idea. How about I cut this out of the upstreaming patch, and see into fixing it properly (for ZGC too)? We don't need to push it to shenandoah/jdk for that (but we could). WDYT. http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.02/ Roman From shade at redhat.com Wed Nov 28 18:14:18 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 19:14:18 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> Message-ID: <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> On 11/28/18 7:12 PM, Roman Kennke wrote: >> On 11/28/18 6:59 PM, Aleksey Shipilev wrote: >>> On 11/28/18 6:38 PM, Roman Kennke wrote: >>>> As Per pointed out in reviews, we cannot safely iterate objects in SA, >>>> because current implementation is size-based. This might just crash. >>>> Let's do the same as ZGC for now and disable it, and revert the other >>>> pieces. >>>> >>>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ >>> >>> Comment is incorrect, should be "Shenandoah": >>> >>> 372 // Operation (currently) not supported with ZGC. Print >>> >>> Then what Zhengyu said, we can remove cell_header_size completely? >> >> Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added >> this to satisfy adopter's request for this feature. I wonder if we can somehow check that class >> unloading is not enabled before traversing. > > I have no idea. How about I cut this out of the upstreaming patch, and > see into fixing it properly (for ZGC too)? We don't need to push it to > shenandoah/jdk for that (but we could). WDYT. > > http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.02/ Wrong warning message, should be "Shenandoah" :) 374 System.err.println("Warning: Operation not supported with ZGC"); Hold on, let me try to detect class unloading flags in SA, and conditionalize on that. -Aleksey From rkennke at redhat.com Wed Nov 28 18:21:44 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 19:21:44 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> Message-ID: Hi Aleksey, > On 11/28/18 6:51 PM, Roman Kennke wrote: >>> *) CriticalNativeStress.java: addition of "compact" + "-degen" does not make sense. Did you mean >>> "passive" + "+degen"? It probably makes sense to split out for a separate backport. >> >> No, we already have passive+degen, I meand compact-degen. Also fixed a >> number of other places like the above (added @test names, etc): > > I don't understand. Every time we do "passive", we do "passive" with degen and without degen. Your > change replaces one of the "passive" configs with "compact". Either add another "compact" @run line, > or leave the whole thing alone? :) Ugh. I thought it's 2x the same line. Zhengyu suggested it might have intended to be compact. Let's simply revert this part. >> http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.01/ > > Okay, what's up with TestFullGCCount test? Does it not run without Shenandoah built? It should. The > @requires line there only protects from running the test with Shenandoah in explicit-concurrent > mode, right? (While you are at it, you can probably change "vm.gc == "Shenandoah"" to > "vm.gc.Shenandoah") The way it was written was very confusing and it was wrong too. All the @requires together would not select any test at all, except default GC. The way I've split it up now should be good: http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.02/ WDYT? Roman From rkennke at redhat.com Wed Nov 28 18:27:08 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 19:27:08 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> Message-ID: Am 28.11.18 um 19:14 schrieb Aleksey Shipilev: > On 11/28/18 7:12 PM, Roman Kennke wrote: >>> On 11/28/18 6:59 PM, Aleksey Shipilev wrote: >>>> On 11/28/18 6:38 PM, Roman Kennke wrote: >>>>> As Per pointed out in reviews, we cannot safely iterate objects in SA, >>>>> because current implementation is size-based. This might just crash. >>>>> Let's do the same as ZGC for now and disable it, and revert the other >>>>> pieces. >>>>> >>>>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/ >>>> >>>> Comment is incorrect, should be "Shenandoah": >>>> >>>> 372 // Operation (currently) not supported with ZGC. Print >>>> >>>> Then what Zhengyu said, we can remove cell_header_size completely? >>> >>> Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added >>> this to satisfy adopter's request for this feature. I wonder if we can somehow check that class >>> unloading is not enabled before traversing. >> >> I have no idea. How about I cut this out of the upstreaming patch, and >> see into fixing it properly (for ZGC too)? We don't need to push it to >> shenandoah/jdk for that (but we could). WDYT. >> >> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.02/ > > Wrong warning message, should be "Shenandoah" :) > > 374 System.err.println("Warning: Operation not supported with ZGC"); > > Hold on, let me try to detect class unloading flags in SA, and conditionalize on that. Ok, I'll wait. :-) That would be +ClassUnloadingWithConcurrentMark only. +ClassUnloading (at full-gc) should be good. Roman From rkennke at redhat.com Wed Nov 28 18:36:17 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 19:36:17 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> Message-ID: Hi Leonid, > I looked at the tests changes only. It seems that? a some tests might > start failing if JDK built without Shenandoah GC. Also some test are not > going to be selected as expected. > > Unfortunately logic of '@requires' and @run in jtreg tests doesn't > always work well for specific cases of different GC selection. The > '@requires' tags are combined with '&' and whole test is selected or > not. Test always execute ALL @run actions so it fails if option > -XX:+UseShenandoahGC is not supported (not valid). The only way to split > 'run' actions is to add more @test with same sources. They could be in > the same file. > > See detailed info about jtreg tags > here:http://openjdk.java.net/jtreg/tag-spec.html > Thanks for pointing this out. I fixed all of what you pointed out (I think) and some more: http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.02/ It will show up in round2 of this review. Some more comments inline: > Could you please run your tests with with JDK which built without > Shenandoah GC. It helps to verify that Shenandoah-specific tests/runs > are not selected when this GC is not supported. I did now, and they are good (with above changes). > ? Also it would be nice > to verify that there are no any valid tests which became filtered out > with your patch. The running of all test suite with available but not > selected Shenandoah GC and enabled Graal also might help to verify > @requires settings. (It doesn't help when Shenandoah GCis not supported > though.)? I'll see into running more combinations. So far I did hotspot_gc and a few others with and without Shenandoah. > I haven't looked at the tests in directory gc/shenandoah in details. But > all of them should be guarded with @requires. Placing them in separate > directory is not enough. See G1 tests as example: > > http://hg.openjdk.java.net/jdk/jdk/file/10c6e9066819/test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegions.java > Right. We've done that now. > See more detailed comments about shared tests: > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/TEST.groups.sdiff.html > > 219: tier2_gc_shenandoah = \ > > Usually tierN doesn't include tests from tierN-1. TierN is executed > after TierN-1 completed so no need to re-run the same tests.? The > typical groups might looks like: > > tier1_gc_shenandoah = \ > ?gc/shenandoah/ \ > ?other-tests > > tier2_gc_shenandoah = \ > ?? gc/shenandoah/\ > ? -:tier1_gc_shenandoah > > tier3_gc_shenandoah = \ > ?? gc/shenandoah/ \? //all-other-tests > ? -:tier2_gc_shenandoah We fixed that. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/CriticalNativeArgs.java.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/stress/CriticalNativeStress.java.html > > So your test will be skipped if any of -XX:+UseEpsilonGC or > -XX:+UseShenandoahGC is set. Also test might run only all run actions or > none of them. It would be better to split this test into 2 tests. So > epsilon tests might be executed if Shenandoah is absent. > > I think that (vm.bits == "64") is redundant in tag (you set x64 or arm64). > > Please use 4-space indentation? in java code. All fixed. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/TestFullGCCount.java.sdiff.html > > Even original requires seems confusing to me (but it works for CMS/G1 pair) > > 28? * @requires !(vm.gc.ConcMarkSweep & > vm.opt.ExplicitGCInvokesConcurrent == true)? > > So currently test is executed if GC is CMS or default GC and > ExplicitGCInvokesConcurrent is not set to true. > > With your additional requirements 'vm.gc == "Shenandoah"' test is not > selected if ANY GC is set. Test doesn't set any GC itself so only > default GC might be tested.? See [1]. > I split them and fixed the @requires to run with Shenandoah but only with -ExplicitGCInvokesConcurrent. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/TestHumongousReferenceObject.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/TestSystemGC.java.sdiff.html > > Tests will always just fail if -XX:+UseShenandoahGC? is not supported. > (invalid option) You might want to split test is it done for CMS GC. Done. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/arguments/TestAlignmentToUseLargePages.java.sdiff.html > > I think? > 56? * @requires vm.gc=="null" & !vm.graal.enabled > should be something like @requires vm.gc.Shenandoah & !vm.graal.enabled Yes. Fixed them. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/class_unloading/TestClassUnloadingDisabled.java.sdiff.html > > The same for? 62? * @requires vm.gc=="null" & !vm.graal.enabled > and > 72? * @requires vm.gc=="null" & !vm.graal.enabled > Fixed them too. > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/logging/TestGCId.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java.sdiff.html > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-tests/test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java.sdiff.html > Also these tests are going to be run with all GC and fails if Shenandoah > is not supported. Right. I fixed those and a few others I have found. Those which drive Shenandoah at runtime now have a runtime check (GC.Shenandoah.isSupported() which uses WB). Others have split test sections. I'll upload round 2 of review changesets, which contains the fixes in a bit. Thanks a *LOT* for detailed review. Roman > Leonid > > [1] http://openjdk.java.net/jtreg/tag-spec.html > > On 11/26/18 1:39 PM, Roman Kennke wrote: >> >> Hi, >> >> This is the first round of changes for including Shenandoah GC into >> mainline. >> I divided the review into parts that roughly correspond to the mailing >> lists >> that would normally review it, and I divided it into 'shared' code >> changes and >> 'shenandoah' code changes (actually, mostly additions). The intend is >> to eventually >> push them as single 'combined' changeset, once reviewed. >> >> JEP: >> ? https://openjdk.java.net/jeps/189 >> Bug entry: >> >> ?https://bugs.openjdk.java.net/browse/JDK-8214259 >> >> Webrevs: >> ? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >> >> For those who want to see the full change, have a look at the >> shenandoah-complete >> >> directory, >> it contains the full combined webrev. Alternatively, there is the file >> shenandoah-master.patch >> , >> which is what I intend to commit (and which should be equivalent to >> the 'shenandoah-complete' webrev). >> >> Sections to review (at this point) are the following: >> ?*) shenandoah-gc >> >> ??? - Actual Shenandoah implementation, almost completely residing in >> gc/shenandoah >> >> ?*) shared-gc >> >> ??? - This is mostly boilerplate that is common to any GC >> ??? - referenceProcessor.cpp has a little change to make one assert >> not fail (next to CMS and G1) >> ??? - taskqueue.hpp has some small adjustments to enable subclassing >> >> ?*) shared-serviceability >> >> ??? - The usual code to support another GC >> >> ?*) shared-runtime >> >> ??? - A number of friends declarations to allow Shenandoah iterators >> to hook up with, >> ????? e.g. ClassLoaderData, CodeCache, etc >> ??? - Warning and disabling JFR LeakProfiler >> ??? - fieldDescriptor.hpp added is_stable() accessor, for use in >> Shenandoah C2 optimizations >> ??? - Locks initialization in mutexLocker.cpp as usual >> ??? - VM operations defines for Shenandoah's VM ops >> ??? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >> Shenandoah's logging >> ??? - The usual macros in macro.hpp >> >> ?*) shared-build >> >> ??? - Add shenandoah feature, enabled by default, as agreed with >> Vladimir K. beforehand >> ??? - Some flags for shenandoah-enabled compilation to get >> SUPPORT_BARRIER_ON_PRIMITIVES >> ????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >> Shenandoah's barriers >> ??? - --param inline-unit-growth=1000 settings for 2 shenandoah source >> files, which is >> ????? useful to get the whole marking loop inlined (observed >> significant regression if we >> ????? don't) >> >> ?*) shared-tests >> >> ??? - Test infrastructure to support Shenandoah >> ??? - Shenandoah test groups >> ??? - Exclude Shenandoah in various tests that can be run with selected GC >> ??? - Enable/add configure for Shenandoah for tests that make sense to >> run with it >> >> ?*) shenandoah-tests >> >> ??? - Shenandoah specific tests, most reside in gc/shenandoah subdirectory >> ??? - A couple of tests configurations have been added, e.g. >> TestGCBasherWithShenandoah.java >> >> I intentionally left out shared-compiler for now, because we have some >> work left to do >> there, but if you click around you'll find the patch anyway, in case >> you want to take >> a peek at it. >> >> We have regular builds on: >> ? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >> ? - {Windows} x {x86_64}, >> ? - {MacOS X} x {x86_64} >> >> This also routinely passes: >> ? - the new Shenandoah tests >> ? - jcstress with/without aggressive Shenandoah verification >> ? - specjvm2008 with/without aggressive Shenandoah verification >> >> >> I'd like to thank my collegues at Red Hat: Christine Flood, she >> deserves the credit for being the original inventor of Shenandoah, >> Aleksey Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >> contributions, everybody else in Red Hat's OpenJDK team for testing, >> advice and support, my collegues in Oracle's GC, runtime and compiler >> teams for tirelessly helping with and reviewing all the GC interface >> and related changes, and of course the many early adopters for >> reporting bugs and success stories and feature requests: we wouldn't >> be here without any of you! >> >> Best regards, >> Roman >> From zgu at redhat.com Wed Nov 28 18:42:06 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 28 Nov 2018 13:42:06 -0500 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> Message-ID: > > Ugh. I thought it's 2x the same line. Zhengyu suggested it might have > intended to be compact. Let's simply revert this part. Ah, I thought there are dup too ... :-( -Zhengyu > >>> http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.01/ >> >> Okay, what's up with TestFullGCCount test? Does it not run without Shenandoah built? It should. The >> @requires line there only protects from running the test with Shenandoah in explicit-concurrent >> mode, right? (While you are at it, you can probably change "vm.gc == "Shenandoah"" to >> "vm.gc.Shenandoah") > > The way it was written was very confusing and it was wrong too. All the > @requires together would not select any test at all, except default GC. > The way I've split it up now should be good: > > http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.02/ > > WDYT? > > Roman > From shade at redhat.com Wed Nov 28 19:02:54 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 20:02:54 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> Message-ID: <1ceeac74-8dab-a5fa-1bd9-12d6037e2dd0@redhat.com> On 11/28/18 7:21 PM, Roman Kennke wrote: >> Okay, what's up with TestFullGCCount test? Does it not run without Shenandoah built? It should. The >> @requires line there only protects from running the test with Shenandoah in explicit-concurrent >> mode, right? (While you are at it, you can probably change "vm.gc == "Shenandoah"" to >> "vm.gc.Shenandoah") > > The way it was written was very confusing and it was wrong too. All the > @requires together would not select any test at all, except default GC. Really? Multiple @requires are AND-ed. The @requires in this test are NOT-ed. So, passing both requires are actually very easy, no? See: Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ExplicitGCInvokesConcurrent' Test results: no tests selected Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ExplicitGCInvokesConcurrent' Passed: gc/TestFullGCCount.java Test results: passed: 1 Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent' Test results: no tests selected Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UseConcMarkSweepGC -XX:-ExplicitGCInvokesConcurrent' Passed: gc/TestFullGCCount.java Test results: passed: 1 Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UseParallelGC' Passed: gc/TestFullGCCount.java Test results: passed: 1 Running tests using TEST_OPTS control variable 'VM_OPTIONS=-XX:+UseG1GC' Passed: gc/TestFullGCCount.java Test results: passed: 1 # Default Passed: gc/TestFullGCCount.java Test results: passed: 1 These things are supposed to ensure the selected GC is doing Full GCs on explicit request, and they seem to do it just fine. That is, there is no need to split the test? And the only thing to do is to drop "== null"? > http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.02/ Almost there. -Aleksey From shade at redhat.com Wed Nov 28 19:13:03 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 20:13:03 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> Message-ID: On 11/28/18 7:27 PM, Roman Kennke wrote: >> Wrong warning message, should be "Shenandoah" :) >> >> 374 System.err.println("Warning: Operation not supported with ZGC"); >> >> Hold on, let me try to detect class unloading flags in SA, and conditionalize on that. > > Ok, I'll wait. :-) > > That would be +ClassUnloadingWithConcurrentMark only. +ClassUnloading > (at full-gc) should be good. Dang. I don't think even +ClassUnloading would be enough. Because we can also have broken reference fields in the dead objects. Our "accurate" bitmap-if-below-TAMS iteration code in native GC handles both old classes and reference fields correctly, but unless we teach SA code where the bitmap is, we cannot guarantee not touching dead references. I remember native VM crashes when we touched dead objects. So, it seems the lesser evil is to disable the SA iteration wholesale, as Roman originally suggested, and then consider exposing bitmaps for proper iteration. Thanks, -Aleksey From rkennke at redhat.com Wed Nov 28 19:23:31 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 20:23:31 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: <1ceeac74-8dab-a5fa-1bd9-12d6037e2dd0@redhat.com> References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> <1ceeac74-8dab-a5fa-1bd9-12d6037e2dd0@redhat.com> Message-ID: <38fb2db5-25d1-250f-08cc-8c142e229337@redhat.com> Hi Aleksey, > On 11/28/18 7:21 PM, Roman Kennke wrote: >>> Okay, what's up with TestFullGCCount test? Does it not run without Shenandoah built? It should. The >>> @requires line there only protects from running the test with Shenandoah in explicit-concurrent >>> mode, right? (While you are at it, you can probably change "vm.gc == "Shenandoah"" to >>> "vm.gc.Shenandoah") >> >> The way it was written was very confusing and it was wrong too. All the >> @requires together would not select any test at all, except default GC. > > Really? Multiple @requires are AND-ed. The @requires in this test are NOT-ed. So, passing both > requires are actually very easy, no? Ah hmm. It is confusing, especially with the triple-negation here: * @requires !(vm.gc == "Shenandoah" & !(vm.opt.ExplicitGCInvokesConcurrent == false)) Let's do it like this (like line above): * @requires !(vm.gc == "Shenandoah" & vm.opt.ExplicitGCInvokesConcurrent == true) Ok? I find this still slightly confusing (as does Leonid), but seems ok: http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.03/ Good now? Roman From rkennke at redhat.com Wed Nov 28 19:25:05 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 20:25:05 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> Message-ID: Hi Aleksey, >>> Wrong warning message, should be "Shenandoah" :) >>> >>> 374 System.err.println("Warning: Operation not supported with ZGC"); >>> >>> Hold on, let me try to detect class unloading flags in SA, and conditionalize on that. >> >> Ok, I'll wait. :-) >> >> That would be +ClassUnloadingWithConcurrentMark only. +ClassUnloading >> (at full-gc) should be good. > > Dang. I don't think even +ClassUnloading would be enough. Because we can also have broken reference > fields in the dead objects. Our "accurate" bitmap-if-below-TAMS iteration code in native GC handles > both old classes and reference fields correctly, but unless we teach SA code where the bitmap is, we > cannot guarantee not touching dead references. I remember native VM crashes when we touched dead > objects. > > So, it seems the lesser evil is to disable the SA iteration wholesale, as Roman originally > suggested, and then consider exposing bitmaps for proper iteration. I'd rather do a reasonable iteration interface to SA, that uses CH::object_iterate(). In any case, this needs careful consideration. Shall I commit my last proposed patch? Or only cut it into the upstreaming patch, and leave sh/jdk alone for now? Roman From shade at redhat.com Wed Nov 28 19:25:59 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 20:25:59 +0100 Subject: RFR: Fix shared tests to run without Shenandoah In-Reply-To: <38fb2db5-25d1-250f-08cc-8c142e229337@redhat.com> References: <392ae8eb-bdcc-a1c3-4439-70f24fb498a9@redhat.com> <5396872e-a81f-0ad7-8e04-2a2033a4a4c7@redhat.com> <9a963821-df27-74b7-4026-821e26d302dd@redhat.com> <1ceeac74-8dab-a5fa-1bd9-12d6037e2dd0@redhat.com> <38fb2db5-25d1-250f-08cc-8c142e229337@redhat.com> Message-ID: <9cdce3f2-fde5-212f-88a0-6370a0a8e03b@redhat.com> On 11/28/18 8:23 PM, Roman Kennke wrote: > Let's do it like this (like line above): > > * @requires !(vm.gc == "Shenandoah" & vm.opt.ExplicitGCInvokesConcurrent > == true) > > Ok? I find this still slightly confusing (as does Leonid), but seems ok: > > http://cr.openjdk.java.net/~rkennke/fix-shared-tests/webrev.03/ Good! Phew. -Aleksey P.S. /r/ULPT: "You don't need to fix tests, if you have no tests". From shade at redhat.com Wed Nov 28 19:27:19 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 20:27:19 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> Message-ID: <867fcff8-ac52-1443-a78d-4059ed12bcee@redhat.com> On 11/28/18 8:25 PM, Roman Kennke wrote: > Shall I commit my last proposed patch? Or only cut it into the > upstreaming patch, and leave sh/jdk alone for now? Commit the last patch to sh/jdk (make sure no superfluous "ZGC" strings). There is no need to divert sh/jdk and what we are upstreaming, for our own sanity, at least. -Aleksey From rkennke at redhat.com Wed Nov 28 19:28:34 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 20:28:34 +0100 Subject: Disable heap iteration for Shenandoah in SA In-Reply-To: <867fcff8-ac52-1443-a78d-4059ed12bcee@redhat.com> References: <8dfae828-6709-5775-efed-fbd5db31b8af@redhat.com> <079e5508-b7de-aeba-ac7a-8e55de9249ab@redhat.com> <4a3e39de-8385-79e6-051e-af4e7be98e6e@redhat.com> <68dabe34-5179-aff6-fac3-8b8d33b14c46@redhat.com> <867fcff8-ac52-1443-a78d-4059ed12bcee@redhat.com> Message-ID: <66621f91-0f52-36fc-d6c7-c9eb0b76bf00@redhat.com> > On 11/28/18 8:25 PM, Roman Kennke wrote: >> Shall I commit my last proposed patch? Or only cut it into the >> upstreaming patch, and leave sh/jdk alone for now? > > Commit the last patch to sh/jdk (make sure no superfluous "ZGC" strings). There is no need to divert > sh/jdk and what we are upstreaming, for our own sanity, at least. Ok, done. The need to divert would have been if we break jstack or such. Thanks, Roman From roman at kennke.org Wed Nov 28 19:27:41 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 28 Nov 2018 19:27:41 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811281927.wASJRftT010884@aojmv0008.oracle.com> Changeset: 65bdfdb154b7 Author: rkennke Date: 2018-11-28 18:40 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/65bdfdb154b7 Fix indentation of CriticalNative* tests ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java Changeset: 8a5920e2601d Author: rkennke Date: 2018-11-28 20:19 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8a5920e2601d Fix shared tests to run without Shenandoah ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/TestFullGCCount.java ! test/hotspot/jtreg/gc/TestHumongousReferenceObject.java ! test/hotspot/jtreg/gc/TestSystemGC.java ! test/hotspot/jtreg/gc/arguments/TestAlignmentToUseLargePages.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgo.java ! test/hotspot/jtreg/gc/class_unloading/TestClassUnloadingDisabled.java ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/ergonomics/TestInitialGCThreadLogging.java ! test/hotspot/jtreg/gc/logging/TestGCId.java ! test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java ! test/hotspot/jtreg/gc/startup_warnings/TestShenandoah.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java ! test/hotspot/jtreg/runtime/CompressedOops/UseCompressedOops.java ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java From roman at kennke.org Wed Nov 28 19:28:12 2018 From: roman at kennke.org (roman at kennke.org) Date: Wed, 28 Nov 2018 19:28:12 +0000 Subject: hg: shenandoah/jdk: Disable heap iteration for Shenandoah in SA Message-ID: <201811281928.wASJSCXH011173@aojmv0008.oracle.com> Changeset: 8fbc4e3ebeb4 Author: rkennke Date: 2018-11-28 20:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8fbc4e3ebeb4 Disable heap iteration for Shenandoah in SA ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java From zgu at redhat.com Wed Nov 28 20:13:08 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 28 Nov 2018 15:13:08 -0500 Subject: RFR: Filter out heap walk related hotspot_serviceability test Message-ID: <9399babd-a47a-238d-7559-aa00b1aca87e@redhat.com> After disabling heap walk, these two tests started to fail. There might be more under vmTestbase, will check next. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sa_heapwalk/webrev.00/ Thanks, -Zhengyu From shade at redhat.com Wed Nov 28 20:35:42 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 28 Nov 2018 21:35:42 +0100 Subject: RFR: Filter out heap walk related hotspot_serviceability test In-Reply-To: <9399babd-a47a-238d-7559-aa00b1aca87e@redhat.com> References: <9399babd-a47a-238d-7559-aa00b1aca87e@redhat.com> Message-ID: <900023f1-846e-a355-dff3-d72bc3714e41@redhat.com> On 11/28/18 9:13 PM, Zhengyu Gu wrote: > After disabling heap walk, these two tests started to fail. There might be more under vmTestbase, > will check next. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sa_heapwalk/webrev.00/ (sighs) I wonder if "!vm.gc.Shenandoah" is accepted? If so, it looks cleaner. -Aleksey From zgu at redhat.com Wed Nov 28 21:41:30 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 28 Nov 2018 16:41:30 -0500 Subject: RFR: Filter out heap walk related hotspot_serviceability test In-Reply-To: <900023f1-846e-a355-dff3-d72bc3714e41@redhat.com> References: <9399babd-a47a-238d-7559-aa00b1aca87e@redhat.com> <900023f1-846e-a355-dff3-d72bc3714e41@redhat.com> Message-ID: <270b9c45-955e-d2ae-f357-f2e192b72910@redhat.com> On 11/28/18 3:35 PM, Aleksey Shipilev wrote: > On 11/28/18 9:13 PM, Zhengyu Gu wrote: >> After disabling heap walk, these two tests started to fail. There might be more under vmTestbase, >> will check next. >> >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sa_heapwalk/webrev.00/ > > (sighs) > > I wonder if "!vm.gc.Shenandoah" is accepted? If so, it looks cleaner. This works too. Will push this version. Thanks, -Zhengyu > > -Aleksey > > From zgu at redhat.com Wed Nov 28 21:42:09 2018 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 28 Nov 2018 21:42:09 +0000 Subject: hg: shenandoah/jdk: Filter out heap walk related hotspot_serviceability test Message-ID: <201811282142.wASLg9kg022305@aojmv0008.oracle.com> Changeset: 947fd298289b Author: zgu Date: 2018-11-28 16:41 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/947fd298289b Filter out heap walk related hotspot_serviceability test ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java From rkennke at redhat.com Wed Nov 28 22:29:12 2018 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 28 Nov 2018 23:29:12 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> Message-ID: <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> Alright, we fixed: - The minor issues that Kim reported in shared-gc - A lot of fixes in shared-tests according to Leonid's review - Disabled SA heapdumping similar to ZGC as Per suggested Some notes: Leonid: test/hotspot/jtreg/gc/TestFullGCCount.java was actually correct. The @requires there means to exclude runs with both CMS and ExplicitGCInvokesConcurrent at the same time, because that would be (expectedly) failing. It can run CMS, default GC and any other GC just fine. Adding the same clause for Shenandoah means the same, and filters the combination (+UseShenandoahGC)+(+ExplicitGCInvokesConcurrent). I made the condition a bit clearer by avoiding triple-negation. See: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008457.html Per: Disabling the SA part for heapdumping makes 2 tests fail: - test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java we filter them for Shenandoah now. I'm wondering: how do you get past those with ZGC? See: http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008466.html (Note to Leonid and tests reviewers: I'll add those related filters in next round). Vladimir: Roland integrated a bunch of changes to make loop* code look better. I can tell that we're not done with C2 yet. Can you look over the code and see what is ok, and especially what is not ok, so that we can focus our efforts on the relevant parts? Updated set of webrevs: http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/ Thanks, Roman > Hi, > > This is the first round of changes for including Shenandoah GC into > mainline. > I divided the review into parts that roughly correspond to the mailing lists > that would normally review it, and I divided it into 'shared' code > changes and > 'shenandoah' code changes (actually, mostly additions). The intend is to > eventually > push them as single 'combined' changeset, once reviewed. > > JEP: > ? https://openjdk.java.net/jeps/189 > Bug entry: > > ?https://bugs.openjdk.java.net/browse/JDK-8214259 > > Webrevs: > ? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ > > For those who want to see the full change, have a look at the > shenandoah-complete > > directory, > it contains the full combined webrev. Alternatively, there is the file > shenandoah-master.patch > , > which is what I intend to commit (and which should be equivalent to the > 'shenandoah-complete' webrev). > > Sections to review (at this point) are the following: > ?*) shenandoah-gc > > ??? - Actual Shenandoah implementation, almost completely residing in > gc/shenandoah > > ?*) shared-gc > > ??? - This is mostly boilerplate that is common to any GC > ??? - referenceProcessor.cpp has a little change to make one assert not > fail (next to CMS and G1) > ??? - taskqueue.hpp has some small adjustments to enable subclassing > > ?*) shared-serviceability > > ??? - The usual code to support another GC > > ?*) shared-runtime > > ??? - A number of friends declarations to allow Shenandoah iterators to > hook up with, > ????? e.g. ClassLoaderData, CodeCache, etc > ??? - Warning and disabling JFR LeakProfiler > ??? - fieldDescriptor.hpp added is_stable() accessor, for use in > Shenandoah C2 optimizations > ??? - Locks initialization in mutexLocker.cpp as usual > ??? - VM operations defines for Shenandoah's VM ops > ??? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in > Shenandoah's logging > ??? - The usual macros in macro.hpp > > ?*) shared-build > > ??? - Add shenandoah feature, enabled by default, as agreed with > Vladimir K. beforehand > ??? - Some flags for shenandoah-enabled compilation to get > SUPPORT_BARRIER_ON_PRIMITIVES > ????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for > Shenandoah's barriers > ??? - --param inline-unit-growth=1000 settings for 2 shenandoah source > files, which is > ????? useful to get the whole marking loop inlined (observed significant > regression if we > ????? don't) > > ?*) shared-tests > > ??? - Test infrastructure to support Shenandoah > ??? - Shenandoah test groups > ??? - Exclude Shenandoah in various tests that can be run with selected GC > ??? - Enable/add configure for Shenandoah for tests that make sense to > run with it > > ?*) shenandoah-tests > > ??? - Shenandoah specific tests, most reside in gc/shenandoah subdirectory > ??? - A couple of tests configurations have been added, e.g. > TestGCBasherWithShenandoah.java > > I intentionally left out shared-compiler for now, because we have some > work left to do > there, but if you click around you'll find the patch anyway, in case you > want to take > a peek at it. > > We have regular builds on: > ? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} > ? - {Windows} x {x86_64}, > ? - {MacOS X} x {x86_64} > > This also routinely passes: > ? - the new Shenandoah tests > ? - jcstress with/without aggressive Shenandoah verification > ? - specjvm2008 with/without aggressive Shenandoah verification > > > I'd like to thank my collegues at Red Hat: Christine Flood, she deserves > the credit for being the original inventor of Shenandoah, Aleksey > Shipl?v, Roland Westrelin & Zhengyu Gu for their countless > contributions, everybody else in Red Hat's OpenJDK team for testing, > advice and support, my collegues in Oracle's GC, runtime and compiler > teams for tirelessly helping with and reviewing all the GC interface and > related changes, and of course the many early adopters for reporting > bugs and success stories and feature requests: we wouldn't be here > without any of you! > > Best regards, > Roman > From rwestrel at redhat.com Thu Nov 29 08:46:06 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 29 Nov 2018 09:46:06 +0100 Subject: RFR: remove useless one line change in loopnode.cpp Message-ID: <87lg5cl19t.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/useless-loopnode.cpp/webrev.00/ assert can never trigger because first if branch is always taken for is_ShenandoahBarrier(). Roland. From rkennke at redhat.com Thu Nov 29 09:07:00 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 10:07:00 +0100 Subject: RFR: remove useless one line change in loopnode.cpp In-Reply-To: <87lg5cl19t.fsf@redhat.com> References: <87lg5cl19t.fsf@redhat.com> Message-ID: Ok Am 29. November 2018 09:46:06 MEZ schrieb Roland Westrelin : > >http://cr.openjdk.java.net/~roland/shenandoah/useless-loopnode.cpp/webrev.00/ > >assert can never trigger because first if branch is always taken for >is_ShenandoahBarrier(). > >Roland. From rkennke at redhat.com Thu Nov 29 09:59:18 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 10:59:18 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> Message-ID: Hi Vladimir, thanks for reviewing! > .ad files. I am thinking may be we should put new code in separate > _shenandoah.ad files and merge them only if Shenandoah is included > in built [1]. I don't like #ifdefs - you still generate this mach nodes > even without Shenandoah. We're looking into improving the situation. > debug_final_field_at() and debug_stable_field_at() are not used - could > be excluded from changes. Those are used from shenandoahBarrierSetC2.cpp and related code in in the shenandoah-gc or shenandoah-complete webrevs. > loopnode.cpp Sometimes you add #if INCLUDE_SHENANDOAHGC and sometimes > don't. Be consistent. I don't know why you need #ifdef if such nodes > should be generated without Shenandoah We'll look into improving that. > compile.cpp - no need to include shenandoahBarrierSetC2.hpp Right. Will fix it. > type.hpp - cast_to_nonconst() are not used. As above, this is used from shenandoahBarrierSetC2.cpp > phasetype.hpp, subnode.cpp - don't add files with only cleanup changes. right. Those are leftovers and I'll remove them. > I wish loopnode.cpp and loopopts.cpp changes were more clean. We'll see what we can do. Some of those could possibly be turned into some sort of GC interface, but 1. it would be very Shenandoah-specific and 2. require significant duplication of code. > I like the idea where you expose only one ShenandoahBarrier node to C2 > and hide all subnodes behind it. I really don't want to see a lot of > Shenandoah*Node new classes in C2 shared code. I understand that. We have ShenandoahBarrierNode superclass and a bunch of ShenandoahReadBarrier, WriteBarrier and some other nodes 'behind' this. The crux is probably all the various ShenandoahCompareAndSwap etc variants, which need to be subclasses of their non-Shenandoah-counterparts, and I don't see how to change that. Thanks for reviewing and helping! Roman > > [1] > http://hg.openjdk.java.net/jdk/jdk/file/157c1130b46e/make/hotspot/gensrc/GensrcAdlc.gmk#l122 > > > On 11/28/18 2:29 PM, Roman Kennke wrote: >> Alright, we fixed: >> - The minor issues that Kim reported in shared-gc >> - A lot of fixes in shared-tests according to Leonid's review >> - Disabled SA heapdumping similar to ZGC as Per suggested >> >> Some notes: >> Leonid:? test/hotspot/jtreg/gc/TestFullGCCount.java was actually >> correct. The @requires there means to exclude runs with both CMS and >> ExplicitGCInvokesConcurrent at the same time, because that would be >> (expectedly) failing. It can run CMS, default GC and any other GC just >> fine. Adding the same clause for Shenandoah means the same, and filters >> the combination (+UseShenandoahGC)+(+ExplicitGCInvokesConcurrent). I >> made the condition a bit clearer by avoiding triple-negation. >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008457.html >> >> >> Per: Disabling the SA part for heapdumping makes 2 tests fail: >> - test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java >> - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java >> >> we filter them for Shenandoah now. I'm wondering: how do you get past >> those with ZGC? >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008466.html >> >> >> (Note to Leonid and tests reviewers: I'll add those related filters in >> next round). >> >> Vladimir: Roland integrated a bunch of changes to make loop* code look >> better. I can tell that we're not done with C2 yet. Can you look over >> the code and see what is ok, and especially what is not ok, so that we >> can focus our efforts on the relevant parts? >> >> Updated set of webrevs: >> http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/ >> >> Thanks, >> Roman >> >> >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> >> From rkennke at redhat.com Thu Nov 29 10:00:39 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 11:00:39 +0100 Subject: RFR: Two small C2 cleanups Message-ID: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> We have those gratuitous diffs in C2: diff --git a/src/hotspot/share/opto/phasetype.hpp b/src/hotspot/share/opto/phasetype.hpp --- a/src/hotspot/share/opto/phasetype.hpp +++ b/src/hotspot/share/opto/phasetype.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it diff --git a/src/hotspot/share/opto/subnode.cpp b/src/hotspot/share/opto/subnode.cpp --- a/src/hotspot/share/opto/subnode.cpp +++ b/src/hotspot/share/opto/subnode.cpp @@ -883,7 +883,7 @@ // LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror)))) // or NULL if not matching. BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); - n = bs->step_over_gc_barrier(n); + n = bs->step_over_gc_barrier(n); if (n->Opcode() != Op_LoadP) return NULL; Ok to fix? Roman From shade at redhat.com Thu Nov 29 10:04:13 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 11:04:13 +0100 Subject: RFR: Two small C2 cleanups In-Reply-To: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> References: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> Message-ID: On 11/29/18 11:00 AM, Roman Kennke wrote: > We have those gratuitous diffs in C2: > > diff --git a/src/hotspot/share/opto/phasetype.hpp > b/src/hotspot/share/opto/phasetype.hpp > --- a/src/hotspot/share/opto/phasetype.hpp > +++ b/src/hotspot/share/opto/phasetype.hpp > @@ -1,5 +1,5 @@ > /* > - * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights > reserved. > + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights > reserved. > * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > * > * This code is free software; you can redistribute it and/or modify it I see there is a change that should trigger copyright update, no? Or is that coming from upstream anyway? If so, copyright would be changed in upstream? https://builds.shipilev.net/patch-openjdk-shenandoah-jdk-only-shared/latest/src/hotspot/share/opto/phasetype.hpp.sdiff.html > diff --git a/src/hotspot/share/opto/subnode.cpp > b/src/hotspot/share/opto/subnode.cpp > --- a/src/hotspot/share/opto/subnode.cpp > +++ b/src/hotspot/share/opto/subnode.cpp > @@ -883,7 +883,7 @@ > // LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror)))) > // or NULL if not matching. > BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); > - n = bs->step_over_gc_barrier(n); > + n = bs->step_over_gc_barrier(n); > > if (n->Opcode() != Op_LoadP) return NULL; This look okay to fix. -Aleksey From rwestrel at redhat.com Thu Nov 29 10:13:20 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Thu, 29 Nov 2018 10:13:20 +0000 Subject: hg: shenandoah/jdk: remove useless change in loopnode.cpp Message-ID: <201811291013.wATADKC0028071@aojmv0008.oracle.com> Changeset: 14651f7fa1e5 Author: roland Date: 2018-11-29 09:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/14651f7fa1e5 remove useless change in loopnode.cpp ! src/hotspot/share/opto/loopnode.cpp From rwestrel at redhat.com Thu Nov 29 10:17:47 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 29 Nov 2018 11:17:47 +0100 Subject: RFR: move shenandoah specific code in its own set of ad files Message-ID: <87in0gkx10.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/shenandoah-specific-adfiles/webrev.00/ From rkennke at redhat.com Thu Nov 29 10:31:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 11:31:42 +0100 Subject: RFR: move shenandoah specific code in its own set of ad files In-Reply-To: <87in0gkx10.fsf@redhat.com> References: <87in0gkx10.fsf@redhat.com> Message-ID: <181ef461-1ce8-a8b7-09ab-fdd6e81d9ce1@redhat.com> Amazing! Yeah, let's do that. (I assume it builds+runs fine.) Roman > > http://cr.openjdk.java.net/~roland/shenandoah/shenandoah-specific-adfiles/webrev.00/ > From rkennke at redhat.com Thu Nov 29 10:30:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 11:30:42 +0100 Subject: RFR: Two small C2 cleanups In-Reply-To: References: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> Message-ID: <291beec2-54a2-9c38-9538-20121f306acb@redhat.com> Ah! This is already in upstream, and my review changeset doesn't have it: http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/shared-compiler/src/hotspot/share/opto/subnode.cpp.sdiff.html http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/shared-compiler/src/hotspot/share/opto/phasetype.hpp.sdiff.html Apparently, it has been forgotten to update copyrights in upstream :-) Let's merge upstream into sh/jdk first and then revisit it. I also have another cleanup in another file pending. Roman > On 11/29/18 11:00 AM, Roman Kennke wrote: >> We have those gratuitous diffs in C2: >> >> diff --git a/src/hotspot/share/opto/phasetype.hpp >> b/src/hotspot/share/opto/phasetype.hpp >> --- a/src/hotspot/share/opto/phasetype.hpp >> +++ b/src/hotspot/share/opto/phasetype.hpp >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights >> reserved. >> + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights >> reserved. >> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> * >> * This code is free software; you can redistribute it and/or modify it > > I see there is a change that should trigger copyright update, no? Or is that coming from upstream > anyway? If so, copyright would be changed in upstream? > > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk-only-shared/latest/src/hotspot/share/opto/phasetype.hpp.sdiff.html > >> diff --git a/src/hotspot/share/opto/subnode.cpp >> b/src/hotspot/share/opto/subnode.cpp >> --- a/src/hotspot/share/opto/subnode.cpp >> +++ b/src/hotspot/share/opto/subnode.cpp >> @@ -883,7 +883,7 @@ >> // LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror)))) >> // or NULL if not matching. >> BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); >> - n = bs->step_over_gc_barrier(n); >> + n = bs->step_over_gc_barrier(n); >> >> if (n->Opcode() != Op_LoadP) return NULL; > > This look okay to fix. > > -Aleksey > > From rkennke at redhat.com Thu Nov 29 10:42:23 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 11:42:23 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> Message-ID: <95ceb785-25e0-9a0b-7ca4-ca0a2af765a7@redhat.com> Hi Jini, > The SA tests which iterate over the heap (ClhsdbJhisto.java, > TestHeapDumpFor*.java) fail if ZGC is passed as an option to these also > (Am planning on fixing these). It might be better to avoid invoking > those tests for Shenandoah now with an @requires tag. Thanks for clarifying. Yeah, we already have a fix in shenandoah/jdk and it will appear in next round of reviews. Thanks, Roman > Thank you, > Jini > > On 11/29/2018 3:59 AM, Roman Kennke wrote: >> Alright, we fixed: >> - The minor issues that Kim reported in shared-gc >> - A lot of fixes in shared-tests according to Leonid's review >> - Disabled SA heapdumping similar to ZGC as Per suggested >> >> Some notes: >> Leonid:? test/hotspot/jtreg/gc/TestFullGCCount.java was actually >> correct. The @requires there means to exclude runs with both CMS and >> ExplicitGCInvokesConcurrent at the same time, because that would be >> (expectedly) failing. It can run CMS, default GC and any other GC just >> fine. Adding the same clause for Shenandoah means the same, and filters >> the combination (+UseShenandoahGC)+(+ExplicitGCInvokesConcurrent). I >> made the condition a bit clearer by avoiding triple-negation. >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008457.html >> >> >> Per: Disabling the SA part for heapdumping makes 2 tests fail: >> - test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java >> - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java >> >> we filter them for Shenandoah now. I'm wondering: how do you get past >> those with ZGC? >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008466.html >> >> >> (Note to Leonid and tests reviewers: I'll add those related filters in >> next round). >> >> Vladimir: Roland integrated a bunch of changes to make loop* code look >> better. I can tell that we're not done with C2 yet. Can you look over >> the code and see what is ok, and especially what is not ok, so that we >> can focus our efforts on the relevant parts? >> >> Updated set of webrevs: >> http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/ >> >> Thanks, >> Roman >> >> >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> >> From rkennke at redhat.com Thu Nov 29 10:52:06 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 11:52:06 +0100 Subject: RFR: Upstream merge jdk-12+22 Message-ID: <094ac3d7-9f43-0dbe-3863-703527b6404d@redhat.com> Straightforward merge (due to previous cherry-picks): http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-29/outgoing.txt Gives us better C2 interfaces and a bunch of fixes. Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Thu Nov 29 11:04:54 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 12:04:54 +0100 Subject: RFR: Upstream merge jdk-12+22 In-Reply-To: <094ac3d7-9f43-0dbe-3863-703527b6404d@redhat.com> References: <094ac3d7-9f43-0dbe-3863-703527b6404d@redhat.com> Message-ID: <6e3155a4-ef06-4ad0-e53e-abf3b1b35c52@redhat.com> On 11/29/18 11:52 AM, Roman Kennke wrote: > Straightforward merge (due to previous cherry-picks): > > http://cr.openjdk.java.net/~rkennke/upstream-jdk12-merge-2018-11-29/outgoing.txt Excellent, let's do it. -Aleksey From roman at kennke.org Thu Nov 29 11:06:49 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 29 Nov 2018 11:06:49 +0000 Subject: hg: shenandoah/jdk: 79 new changesets Message-ID: <201811291106.wATB6tZ7023133@aojmv0008.oracle.com> Changeset: 43efb4ca6d6c Author: jjg Date: 2018-11-21 12:36 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/43efb4ca6d6c 8214139: Remove wrapper methods from {Base,Html}Configuration Reviewed-by: pmuthuswamy, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FrameOutputWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/NestedClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/MetaKeywords.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: 74cf02d5f6e2 Author: dnsimon Date: 2018-11-21 22:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/74cf02d5f6e2 8213907: [JVMCI] avoid Class.getDeclared* methods when converting JVMCI objects to reflection objects Reviewed-by: kvn, never ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/annotations.hpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 05e830a833f7 Author: jwilhelm Date: 2018-11-22 02:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/05e830a833f7 Added tag jdk-12+21 for changeset f8fb0c86f2b3 ! .hgtags Changeset: 148124c951fd Author: amlu Date: 2018-11-22 10:30 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/148124c951fd 8211266: [TESTBUG] ZipFSTester.java failed intermittently in ZipFSTester.checkRead(): bound must be positive Reviewed-by: lancea ! test/jdk/jdk/nio/zipfs/ZipFSTester.java Changeset: 12956ca371c2 Author: pmuthuswamy Date: 2018-11-22 10:25 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/12956ca371c2 8213819: doclint should warn against {@index} inside tag Reviewed-by: jjg, hannesw ! src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java Changeset: e00cf18e2593 Author: mchung Date: 2018-11-21 22:33 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e00cf18e2593 8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar Reviewed-by: sundar ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Archive.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleDotGraph.java ! test/langtools/tools/jdeps/modules/DotFileTest.java Changeset: c16b6cc93272 Author: mchung Date: 2018-11-21 22:34 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c16b6cc93272 8213909: jdeps --print-module-deps should report missing dependences 8168869: jdeps: localized messages don't use proper line breaks Reviewed-by: sundar ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/DependencyFinder.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsConfiguration.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/Module.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleExportsAnalyzer.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties ! test/langtools/tools/jdeps/Basic.java ! test/langtools/tools/jdeps/MultiReleaseJar.java ! test/langtools/tools/jdeps/Options.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java ! test/langtools/tools/jdeps/listdeps/src/lib/Lib.java + test/langtools/tools/jdeps/mrjar/Main.java - test/langtools/tools/jdeps/mrjar/test/Main.java Changeset: 526b2490c616 Author: vtewari Date: 2018-11-22 13:25 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/526b2490c616 8046500: GetIpAddrTable function failed on Pure Ipv6 environment Reviewed-by: chegar ! src/java.base/windows/native/libnet/NetworkInterface.c ! src/java.base/windows/native/libnet/NetworkInterface_winXP.c Changeset: d9d3b14b2cfa Author: pliden Date: 2018-11-22 09:14 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d9d3b14b2cfa 8214068: ZGC crashes with vmTestbase/nsk/jdi/ReferenceType/instances/instances004/TestDescription.java Reviewed-by: eosterlund, rehn, dcubed ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: ec92cbf2152b Author: pliden Date: 2018-11-09 14:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ec92cbf2152b 8212748: ZGC: Add reentrant locking functionality Reviewed-by: eosterlund, kbarrett ! src/hotspot/share/gc/z/zLock.hpp ! src/hotspot/share/gc/z/zLock.inline.hpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zPageAllocator.cpp Changeset: 95ce45e0249f Author: rkennke Date: 2018-11-22 09:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/95ce45e0249f 8214055: GC/C2 abstraction for phaseX Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/phaseX.cpp Changeset: c88468bc7690 Author: rkennke Date: 2018-11-22 09:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c88468bc7690 8214057: GC/C2 abstraction for Node::has_special_unique_user() Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/node.cpp Changeset: 11b97acc9c7f Author: tschatzl Date: 2018-11-22 09:25 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/11b97acc9c7f 8213997: Remove G1HRRSUseSparseTable flag Summary: Remove develop flag because it is not used anyway. Reviewed-by: shade, manc ! src/hotspot/share/gc/g1/g1_globals.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 533b02f7842c Author: tschatzl Date: 2018-11-22 09:26 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/533b02f7842c 8213927: G1 ignores AlwaysPreTouch when UseTransparentHugePages is enabled Summary: With UseTransparentHugePages we always need to pretouch on small page size as the underlying memory could currently be allocated as either small or large pages. Reviewed-by: shade, sjohanss ! src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp Changeset: 2d18e5ed0f8d Author: simonis Date: 2018-11-22 09:44 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2d18e5ed0f8d 8213944: Fix AIX build after the removal of Xrandr.h and add a configure check for it Reviewed-by: shade, erikj, stuefe, ihse, goetz ! make/autoconf/help.m4 ! make/autoconf/lib-x11.m4 ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 8b26bd8b1832 Author: eosterlund Date: 2018-11-22 09:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8b26bd8b1832 8213486: SIGSEGV in CompiledMethod::cleanup_inline_caches_impl with AOT Reviewed-by: kvn, dlong ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp Changeset: 9cb53c505acd Author: eosterlund Date: 2018-11-22 09:55 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/9cb53c505acd 8214056: Allow the GC to attach context information to CompiledMethod Reviewed-by: shade, kvn, adinn ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp Changeset: 4f45c682eab0 Author: eosterlund Date: 2018-11-22 10:01 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4f45c682eab0 8213755: Let nmethods be is_unloading() outside of safepoints Reviewed-by: rehn, coleenp, kvn ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sweeper.cpp Changeset: 7088cfa71363 Author: sgehwolf Date: 2018-11-22 10:11 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7088cfa71363 8214105: [TESTBUG] Bit test is always false in serviceability/jvmti/StartPhase/AllowedFunctions Reviewed-by: dcubed, dholmes, jcbeyler, gadams, sspitsyn Contributed-by: Simon Tooke ! test/hotspot/jtreg/serviceability/jvmti/StartPhase/AllowedFunctions/libAllowedFunctions.c Changeset: 0a77b7e41322 Author: sgehwolf Date: 2018-11-22 11:15 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0a77b7e41322 8214108: [TESTBUG] Incorrect Function parameter lists in vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001 Reviewed-by: gadams, sspitsyn Contributed-by: Simon Tooke ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/extmech/extmech.cpp Changeset: 15fc92f4ae9a Author: hannesw Date: 2018-11-22 15:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/15fc92f4ae9a 8200432: javadoc fails with ClassCastException on {@link byte[]} Reviewed-by: jjg, sundar ! src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java + test/langtools/jdk/javadoc/doclet/testSeeTag/badref/Test.java ! test/langtools/tools/doclint/ReferenceTest.java ! test/langtools/tools/doclint/ReferenceTest.out Changeset: 61dcd7cd48c3 Author: simonis Date: 2018-11-22 17:22 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/61dcd7cd48c3 8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x Reviewed-by: erikj, ihse ! doc/building.html ! doc/building.md ! make/devkit/Makefile ! make/devkit/Tools.gmk Changeset: 4bef1957a1d8 Author: mchung Date: 2018-11-22 10:15 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4bef1957a1d8 8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file Reviewed-by: lancea, alanb + test/langtools/tools/jdeps/listdeps/src/lib2/Lib2.java Changeset: a959583eea01 Author: mhorie Date: 2018-11-22 21:43 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a959583eea01 8214205: PPC64: Add instructions for counting trailing zeros Reviewed-by: mdoerr, gromero ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/globals_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/vm_version_ppc.cpp Changeset: 02747dfbd776 Author: amlu Date: 2018-11-23 12:45 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/02747dfbd776 8214241: Problem list com/sun/jndi/ldap/LdapTimeoutTest.java for all platforms Reviewed-by: vtewari, weijun ! test/jdk/ProblemList.txt Changeset: e21361bccfa1 Author: ysuenaga Date: 2018-11-23 16:36 +0900 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e21361bccfa1 8213015: Inconsistent settings between JFR.configure and -XX:FlightRecorderOptions Reviewed-by: mgronlun, egahlin ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.hpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java Changeset: eb6864cdcd61 Author: vtewari Date: 2018-11-23 13:16 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/eb6864cdcd61 8203672: JNI exception pending in PlainSocketImpl.c 8203264: JNI exception pending in PlainDatagramSocketImpl.c:740 8203673: JNI exception pending in DualStackPlainDatagramSocketImpl.c:398 Reviewed-by: chegar, igerasim ! src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c ! src/java.base/windows/native/libnet/DualStackPlainDatagramSocketImpl.c ! src/java.base/windows/native/libnet/PlainSocketImpl.c Changeset: 600fca45232b Author: mgronlun Date: 2018-11-23 10:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/600fca45232b 8214161: java.lang.IllegalAccessError: class jdk.internal.event.X509CertificateEvent (in module java.base) cannot access class jdk.jfr.internal.handlers.EventHandler (in module jdk.jfr) because module java.base does not read module jdk.jfr Reviewed-by: egahlin, dholmes ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp Changeset: bbfa1b3aaf7e Author: rehn Date: 2018-11-23 10:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bbfa1b3aaf7e 8212108: SafepointSynchronizer never ending counter (big enough) Reviewed-by: dholmes, eosterlund ! src/hotspot/share/code/dependencyContext.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepoint.hpp ! test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java ! test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java Changeset: 61b3b58a1d1d Author: rehn Date: 2018-11-23 11:07 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/61b3b58a1d1d 8214181: safepoint header cleanup Reviewed-by: kbarrett, dholmes, coleenp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/memory/iterator.cpp ! src/hotspot/share/runtime/safepoint.hpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/services/threadService.hpp ! src/hotspot/share/utilities/hashtable.cpp Changeset: c9325aa887da Author: sjohanss Date: 2018-11-23 10:57 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c9325aa887da 8214118: HeapRegions marked as archive even if CDS mapping fails Reviewed-by: tschatzl, jiangli ! src/hotspot/share/gc/g1/g1Allocator.hpp ! src/hotspot/share/gc/g1/g1Allocator.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp Changeset: 7d3cde494494 Author: roland Date: 2018-11-22 17:25 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7d3cde494494 8214206: Fix for JDK-8213419 is broken on 32-bit Reviewed-by: mdoerr, shade ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/runtime/compilationPolicy.cpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/hashtable.cpp Changeset: 2d795829f39f Author: bulasevich Date: 2018-11-23 19:45 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2d795829f39f 8213845: ARM32: Interpreter doesn't call result handler after native calls Reviewed-by: aph ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp Changeset: 30a02b4e6c06 Author: jwilhelm Date: 2018-11-24 01:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/30a02b4e6c06 8214276: Problemlist compiler/intrinsics/mathexact/MulExactLConstantTest.java Reviewed-by: kbarrett ! test/hotspot/jtreg/ProblemList.txt Changeset: 7a16ce664d85 Author: weijun Date: 2018-11-26 08:27 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7a16ce664d85 8214262: SunEC native code does not compile with debug on Reviewed-by: jnimeh ! src/jdk.crypto.ec/share/native/libsunec/impl/ec.c ! src/jdk.crypto.ec/share/native/libsunec/impl/ecdecode.c Changeset: c6df6671267e Author: jlahoda Date: 2018-11-26 09:24 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c6df6671267e 8214113: Switch expressions may have constant type and may be skipped during write Summary: Switch expressions should not be compile-time constants. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/switchexpr/SwitchExpressionIsNotAConstant.java Changeset: ca9459361300 Author: thartmann Date: 2018-11-26 12:16 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ca9459361300 8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions Summary: Added missing UnlockDiagnosticVMOptions. Reviewed-by: tschatzl ! test/hotspot/jtreg/compiler/arguments/TestScavengeRootsInCode.java Changeset: 6df06df9ae2e Author: hseigel Date: 2018-11-26 09:46 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6df06df9ae2e 8204525: [TESTBUG] runtime/NMT/MallocStressTest.java ran out of java heap Summary: Handle OutOfMemoryError exception to prevent test aborting Reviewed-by: zgu, dholmes ! test/hotspot/jtreg/runtime/NMT/MallocStressTest.java Changeset: c93e62e7fa3c Author: jlaskey Date: 2018-11-26 12:20 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c93e62e7fa3c 8203442: String::transform Reviewed-by: smarks, sherman, alanb, darcy, forax, rriggs, scolebourne, dholmes, plevart ! src/java.base/share/classes/java/lang/String.java + test/jdk/java/lang/String/Transform.java Changeset: e017d2f176d0 Author: sgehwolf Date: 2018-11-26 09:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e017d2f176d0 8214059: Undefined behaviour in ADLC Reviewed-by: shade, kbarrett Contributed-by: Simon Tooke ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/dfa.cpp ! src/hotspot/share/adlc/formssel.cpp Changeset: e62fe5079d64 Author: kbarrett Date: 2018-11-26 13:17 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e62fe5079d64 8214202: DirtyCardQueueSet::get_completed_buffer should not clear _process_completed Summary: Remove flag clearing and simplify get_completed-buffer. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/dirtyCardQueue.cpp ! src/hotspot/share/gc/shared/ptrQueue.cpp Changeset: 6d243dcde190 Author: jjg Date: 2018-11-26 11:00 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6d243dcde190 8213956: javadoc crash using {@index} in doc-files file Reviewed-by: jlahoda, hannesw, pmuthuswamy ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java + test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java Changeset: 00c47178ea6c Author: jiangli Date: 2018-11-26 14:13 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/00c47178ea6c 8214086: [TESTBUG] Fix subgraph test cases in ReplaceCriticalClasses.java Summary: Add subgraph test cases in ReplaceCriticalClassesForSubgraphs.java. Reviewed-by: iklam ! src/hotspot/share/memory/heapShared.cpp ! test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java + test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClassesForSubgraphs.java Changeset: 526f5cf13972 Author: jjg Date: 2018-11-26 11:17 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/526f5cf13972 8190312: javadoc -link doesn't work with http: -> https: URL redirects Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java + test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java Changeset: 3db8758f0f79 Author: iklam Date: 2018-11-26 15:06 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3db8758f0f79 8214029: Remove dead code BasicHashtable::bulk_free_entries Reviewed-by: dholmes ! src/hotspot/share/utilities/hashtable.cpp ! src/hotspot/share/utilities/hashtable.hpp Changeset: 7084dae775f2 Author: weijun Date: 2018-11-27 08:51 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/7084dae775f2 8214100: use of keystore probing results in unnecessary exception thrown Reviewed-by: mullan ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java + test/jdk/sun/security/tools/keytool/ProbingFailure.java ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: cecba555360c Author: xuelei Date: 2018-11-26 20:50 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/cecba555360c 8214321: Misleading code in SSLCipher Reviewed-by: ascarpino ! src/java.base/share/classes/sun/security/ssl/SSLCipher.java Changeset: d9f6a700fec9 Author: stuefe Date: 2018-11-27 07:54 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d9f6a700fec9 8213834: JVMTI ResourceExhausted should not be posted in CompilerThread Reviewed-by: dholmes, dcubed, jcbeyler, sspitsyn ! src/hotspot/share/prims/jvmtiExport.cpp Changeset: bffef37beacb Author: dlong Date: 2018-11-26 22:49 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/bffef37beacb 8213259: [AOT] AOTing java.base fails with "java.lang.AssertionError: no fingerprint for Ljdk/internal/event/Event" Reviewed-by: iklam, kvn ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/klassFactory.cpp Changeset: 0037ea3c7322 Author: roland Date: 2018-11-26 17:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0037ea3c7322 8214189: test/hotspot/jtreg/compiler/intrinsics/mathexact/MulExactLConstantTest.java fails on Windows x64 when run with -XX:-TieredCompilation Reviewed-by: kvn ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/jtreg/ProblemList.txt + test/hotspot/jtreg/compiler/integerArithmetic/MultiplyByConstantLongMax.java Changeset: 93afbb11063b Author: coffeys Date: 2018-11-27 11:09 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/93afbb11063b 8214295: Populate handlers while holding streamHandlerLock Reviewed-by: chegar ! src/java.base/share/classes/java/net/URL.java Changeset: 99eb43bc3595 Author: hannesw Date: 2018-11-27 13:02 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/99eb43bc3595 8213716: javadoc search not working with Japanese and Chinese locales Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: b80549fdb52f Author: mbaesken Date: 2018-11-26 14:04 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b80549fdb52f 8214297: testbug : missing fclose in jvmti_aod.cpp Reviewed-by: coleenp, stuefe ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp Changeset: 605878cd4009 Author: vromero Date: 2018-11-27 11:07 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/605878cd4009 8203277: preflow visitor used during lambda attribution shouldn't visit class definitions inside the lambda body Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java + test/langtools/tools/javac/T8203277/PreflowShouldVisitLambdaOrDiamondInsideLambdaTest.java ! test/langtools/tools/javac/api/TestGetScopeResult.java Changeset: ca6b58b8ffc5 Author: mgronlun Date: 2018-11-27 18:14 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/ca6b58b8ffc5 8214287: SpecJbb2005StressModule got uncaught exception Reviewed-by: egahlin, jwilhelm ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java Changeset: 44fe5fab538a Author: joehw Date: 2018-11-27 09:40 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/44fe5fab538a 8177286: AttributeSet: attempt to compare Qname and String Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeSet.java Changeset: b206bdfb9fe2 Author: darcy Date: 2018-11-27 11:28 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b206bdfb9fe2 8213911: Use example.com in java.net and other examples Reviewed-by: prappo, chegar, rriggs, mullan ! src/java.base/share/classes/java/net/HostPortrange.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLPermission.java ! src/java.base/share/classes/java/net/package-info.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/security/CodeSource.java Changeset: c724619944f1 Author: pchilanomate Date: 2018-11-27 13:39 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c724619944f1 8150689: Thread dump report "waiting to re-lock in wait()" shows incorrectly Summary: "waiting to re-lock in wait()" is now shown in the frame where relocking is taking place Reviewed-by: dholmes, dcubed ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vframe.cpp Changeset: 10c6e9066819 Author: jiangli Date: 2018-11-27 17:53 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/10c6e9066819 8214217: [TESTBUG] runtime/appcds/LotsOfClasses.java failed with fragmented heap Summary: Improve the fragmentation error message. Set java heap size in LotsOfClasses.java. Reviewed-by: iklam, ccheung ! src/hotspot/share/memory/filemap.cpp ! test/hotspot/jtreg/runtime/appcds/LotsOfClasses.java Changeset: e7fdc9d9c376 Author: dcubed Date: 2018-11-27 18:35 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/e7fdc9d9c376 8202415: Incorrect time logged for monitor deflation Summary: Add support for "deflating per-thread idle monitors" log mesgs. Reviewed-by: dholmes, coleenp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! test/hotspot/jtreg/runtime/logging/SafepointCleanupTest.java Changeset: 64413aaea8ed Author: mseledtsov Date: 2018-11-27 15:52 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/64413aaea8ed 8213914: [TESTBUG] Several JFR VM events are not covered by tests Summary: Fixed several relevant test issues, added a test to check event coverage Reviewed-by: egahlin ! test/jdk/jdk/jfr/event/compiler/TestCompilerConfig.java ! test/jdk/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java + test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java ! test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 53a407ab6d22 Author: coleenp Date: 2018-11-27 19:46 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/53a407ab6d22 8214151: [TESTBUG] CleanProtectionDomain.java fails due to RuntimeException: 'protection domain unlinked' missing Summary: call WB_ProtectionDomainRemovedCount. Reviewed-by: jiangli, pchilanomate ! test/hotspot/jtreg/runtime/Dictionary/CleanProtectionDomain.java Changeset: 19b15ff2576b Author: dholmes Date: 2018-11-27 21:20 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/19b15ff2576b 8214208: Nestmate package validation logging/exception should include classloader information Reviewed-by: hseigel, coleenp, mchung ! src/hotspot/share/oops/instanceKlass.cpp ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestmateMembership.java ! test/jdk/java/lang/reflect/Nestmates/TestReflectionAPI.java Changeset: 4b427f2653f1 Author: dholmes Date: 2018-11-27 22:02 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4b427f2653f1 8212207: runtime/InternalApi/ThreadCpuTimesDeadlock.java crashes with SEGV in pthread_getcpuclockid+0x0 Summary: skip non-JavaThreads that have not reached a minimal initialization point - setting their stack size Reviewed-by: kbarrett, stuefe ! src/hotspot/share/services/management.cpp Changeset: 1ffff60c9f54 Author: pmuthuswamy Date: 2018-11-28 09:37 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/1ffff60c9f54 8213921: Use {@systemProperty} tag for properties listed in "Networking Properties" Reviewed-by: chegar ! src/java.base/share/classes/java/net/doc-files/net-properties.html Changeset: c76cfae195c8 Author: pmuthuswamy Date: 2018-11-28 10:21 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c76cfae195c8 8202621: bad test with broken links needs to be updated Reviewed-by: hannesw ! test/langtools/jdk/javadoc/doclet/DocRootSlash/DocRootSlash.java ! test/langtools/jdk/javadoc/doclet/DocRootSlash/overview.html ! test/langtools/jdk/javadoc/doclet/DocRootSlash/p1/C1.java ! test/langtools/jdk/javadoc/doclet/DocRootSlash/p1/package.html Changeset: 70adb0f573a7 Author: mli Date: 2018-11-28 15:34 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/70adb0f573a7 8211975: move testlibrary/jdk/testlibrary/OptimalCapacity.java to top-level library Reviewed-by: igerasim ! test/jdk/java/lang/Character/UnicodeBlock/OptimalMapSize.java ! test/jdk/java/lang/Enum/ConstantDirectoryOptimalCapacity.java ! test/jdk/java/lang/invoke/VarHandle/AccessMode/OptimalMapSize.java - test/jdk/lib/testlibrary/jdk/testlibrary/OptimalCapacity.java + test/lib/jdk/test/lib/util/OptimalCapacity.java Changeset: f480ad035c73 Author: roland Date: 2018-11-27 09:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/f480ad035c73 8214172: GC interface entry points for loop opts Reviewed-by: kvn, rkennke ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/phasetype.hpp Changeset: d17e09494308 Author: roland Date: 2018-11-27 14:49 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d17e09494308 8214362: C2: gc interface entry point for split if Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/loopopts.cpp Changeset: 8586613959f0 Author: mbaesken Date: 2018-11-27 15:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/8586613959f0 8214373: adjust usage of ReleaseLongArrayElements in MacosxDebuggerLocal Reviewed-by: stuefe, jcbeyler ! src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m Changeset: 2e52aa822c57 Author: ihse Date: 2018-11-28 10:00 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2e52aa822c57 8178317: Create man pages using pandoc from markdown sources Reviewed-by: erikj ! make/CompileToolsJdk.gmk ! make/Docs.gmk ! make/Images.gmk ! make/ModuleWrapper.gmk ! make/ToolsJdk.gmk ! make/autoconf/jdk-options.m4 ! make/common/Modules.gmk ! make/common/ProcessMarkdown.gmk ! make/conf/jib-profiles.js ! make/devkit/createPandocBundle.sh ! make/launcher/LauncherCommon.gmk + make/scripts/pandoc-manpage-filter.js + make/scripts/pandoc-manpage-filter.sh.template - src/bsd/doc/man/DO_NOT_EDIT--GENERATED_FILES - src/bsd/doc/man/apt.1 - src/bsd/doc/man/ja/apt.1 - src/bsd/doc/man/ja/jar.1 - src/bsd/doc/man/ja/jarsigner.1 - src/bsd/doc/man/ja/java.1 - src/bsd/doc/man/ja/javac.1 - src/bsd/doc/man/ja/javadoc.1 - src/bsd/doc/man/ja/javap.1 - src/bsd/doc/man/ja/javaws.1 - src/bsd/doc/man/ja/jcmd.1 - src/bsd/doc/man/ja/jconsole.1 - src/bsd/doc/man/ja/jdb.1 - src/bsd/doc/man/ja/jdeps.1 - src/bsd/doc/man/ja/jhat.1 - src/bsd/doc/man/ja/jinfo.1 - src/bsd/doc/man/ja/jjs.1 - src/bsd/doc/man/ja/jmap.1 - src/bsd/doc/man/ja/jps.1 - src/bsd/doc/man/ja/jrunscript.1 - src/bsd/doc/man/ja/jsadebugd.1 - src/bsd/doc/man/ja/jstack.1 - src/bsd/doc/man/ja/jstat.1 - src/bsd/doc/man/ja/jstatd.1 - src/bsd/doc/man/ja/keytool.1 - src/bsd/doc/man/ja/pack200.1 - src/bsd/doc/man/ja/rmic.1 - src/bsd/doc/man/ja/rmid.1 - src/bsd/doc/man/ja/rmiregistry.1 - src/bsd/doc/man/ja/serialver.1 - src/bsd/doc/man/ja/unpack200.1 - src/bsd/doc/man/jar.1 - src/bsd/doc/man/jarsigner.1 - src/bsd/doc/man/java.1 - src/bsd/doc/man/javac.1 - src/bsd/doc/man/javadoc.1 - src/bsd/doc/man/javap.1 - src/bsd/doc/man/javaws.1 - src/bsd/doc/man/jcmd.1 - src/bsd/doc/man/jconsole.1 - src/bsd/doc/man/jdb.1 - src/bsd/doc/man/jdeps.1 - src/bsd/doc/man/jhat.1 - src/bsd/doc/man/jinfo.1 - src/bsd/doc/man/jjs.1 - src/bsd/doc/man/jmap.1 - src/bsd/doc/man/jps.1 - src/bsd/doc/man/jrunscript.1 - src/bsd/doc/man/jsadebugd.1 - src/bsd/doc/man/jstack.1 - src/bsd/doc/man/jstat.1 - src/bsd/doc/man/jstatd.1 - src/bsd/doc/man/keytool.1 - src/bsd/doc/man/pack200.1 - src/bsd/doc/man/rmic.1 - src/bsd/doc/man/rmid.1 - src/bsd/doc/man/rmiregistry.1 - src/bsd/doc/man/serialver.1 - src/bsd/doc/man/unpack200.1 + src/java.base/share/man/java.1 + src/java.base/share/man/keytool.1 + src/java.rmi/share/man/rmid.1 + src/java.rmi/share/man/rmiregistry.1 + src/java.scripting/share/man/jrunscript.1 + src/jdk.compiler/share/man/javac.1 + src/jdk.compiler/share/man/serialver.1 + src/jdk.jartool/share/man/jar.1 + src/jdk.jartool/share/man/jarsigner.1 + src/jdk.javadoc/share/man/javadoc.1 + src/jdk.jcmd/share/man/jcmd.1 + src/jdk.jcmd/share/man/jinfo.1 + src/jdk.jcmd/share/man/jmap.1 + src/jdk.jcmd/share/man/jps.1 + src/jdk.jcmd/share/man/jstack.1 + src/jdk.jcmd/share/man/jstat.1 + src/jdk.jconsole/share/man/jconsole.1 + src/jdk.jdeps/share/man/javap.1 + src/jdk.jdeps/share/man/jdeps.1 + src/jdk.jdi/share/man/jdb.1 + src/jdk.jstatd/share/man/jstatd.1 + src/jdk.pack/share/man/pack200.1 + src/jdk.pack/share/man/unpack200.1 + src/jdk.rmic/share/man/rmic.1 + src/jdk.scripting.nashorn.shell/share/man/jjs.1 - src/linux/doc/man/DO_NOT_EDIT--GENERATED_FILES - src/linux/doc/man/ja/jar.1 - src/linux/doc/man/ja/jarsigner.1 - src/linux/doc/man/ja/java.1 - src/linux/doc/man/ja/javac.1 - src/linux/doc/man/ja/javadoc.1 - src/linux/doc/man/ja/javap.1 - src/linux/doc/man/ja/javaws.1 - src/linux/doc/man/ja/jcmd.1 - src/linux/doc/man/ja/jconsole.1 - src/linux/doc/man/ja/jdb.1 - src/linux/doc/man/ja/jdeps.1 - src/linux/doc/man/ja/jhat.1 - src/linux/doc/man/ja/jinfo.1 - src/linux/doc/man/ja/jjs.1 - src/linux/doc/man/ja/jmap.1 - src/linux/doc/man/ja/jps.1 - src/linux/doc/man/ja/jrunscript.1 - src/linux/doc/man/ja/jsadebugd.1 - src/linux/doc/man/ja/jstack.1 - src/linux/doc/man/ja/jstat.1 - src/linux/doc/man/ja/jstatd.1 - src/linux/doc/man/ja/keytool.1 - src/linux/doc/man/ja/pack200.1 - src/linux/doc/man/ja/rmic.1 - src/linux/doc/man/ja/rmid.1 - src/linux/doc/man/ja/rmiregistry.1 - src/linux/doc/man/ja/serialver.1 - src/linux/doc/man/ja/unpack200.1 - src/linux/doc/man/jar.1 - src/linux/doc/man/jarsigner.1 - src/linux/doc/man/java.1 - src/linux/doc/man/javac.1 - src/linux/doc/man/javadoc.1 - src/linux/doc/man/javap.1 - src/linux/doc/man/javaws.1 - src/linux/doc/man/jcmd.1 - src/linux/doc/man/jconsole.1 - src/linux/doc/man/jdb.1 - src/linux/doc/man/jdeps.1 - src/linux/doc/man/jhat.1 - src/linux/doc/man/jinfo.1 - src/linux/doc/man/jjs.1 - src/linux/doc/man/jmap.1 - src/linux/doc/man/jps.1 - src/linux/doc/man/jrunscript.1 - src/linux/doc/man/jsadebugd.1 - src/linux/doc/man/jstack.1 - src/linux/doc/man/jstat.1 - src/linux/doc/man/jstatd.1 - src/linux/doc/man/keytool.1 - src/linux/doc/man/pack200.1 - src/linux/doc/man/rmic.1 - src/linux/doc/man/rmid.1 - src/linux/doc/man/rmiregistry.1 - src/linux/doc/man/serialver.1 - src/linux/doc/man/unpack200.1 - src/solaris/doc/sun/man/man1/DO_NOT_EDIT--GENERATED_FILES - src/solaris/doc/sun/man/man1/ja/jar.1 - src/solaris/doc/sun/man/man1/ja/jarsigner.1 - src/solaris/doc/sun/man/man1/ja/java.1 - src/solaris/doc/sun/man/man1/ja/javac.1 - src/solaris/doc/sun/man/man1/ja/javadoc.1 - src/solaris/doc/sun/man/man1/ja/javap.1 - src/solaris/doc/sun/man/man1/ja/jcmd.1 - src/solaris/doc/sun/man/man1/ja/jconsole.1 - src/solaris/doc/sun/man/man1/ja/jdb.1 - src/solaris/doc/sun/man/man1/ja/jdeps.1 - src/solaris/doc/sun/man/man1/ja/jhat.1 - src/solaris/doc/sun/man/man1/ja/jinfo.1 - src/solaris/doc/sun/man/man1/ja/jjs.1 - src/solaris/doc/sun/man/man1/ja/jmap.1 - src/solaris/doc/sun/man/man1/ja/jps.1 - src/solaris/doc/sun/man/man1/ja/jrunscript.1 - src/solaris/doc/sun/man/man1/ja/jsadebugd.1 - src/solaris/doc/sun/man/man1/ja/jstack.1 - src/solaris/doc/sun/man/man1/ja/jstat.1 - src/solaris/doc/sun/man/man1/ja/jstatd.1 - src/solaris/doc/sun/man/man1/ja/keytool.1 - src/solaris/doc/sun/man/man1/ja/pack200.1 - src/solaris/doc/sun/man/man1/ja/rmic.1 - src/solaris/doc/sun/man/man1/ja/rmid.1 - src/solaris/doc/sun/man/man1/ja/rmiregistry.1 - src/solaris/doc/sun/man/man1/ja/serialver.1 - src/solaris/doc/sun/man/man1/ja/unpack200.1 - src/solaris/doc/sun/man/man1/jar.1 - src/solaris/doc/sun/man/man1/jarsigner.1 - src/solaris/doc/sun/man/man1/java.1 - src/solaris/doc/sun/man/man1/javac.1 - src/solaris/doc/sun/man/man1/javadoc.1 - src/solaris/doc/sun/man/man1/javap.1 - src/solaris/doc/sun/man/man1/jcmd.1 - src/solaris/doc/sun/man/man1/jconsole.1 - src/solaris/doc/sun/man/man1/jdb.1 - src/solaris/doc/sun/man/man1/jdeps.1 - src/solaris/doc/sun/man/man1/jhat.1 - src/solaris/doc/sun/man/man1/jinfo.1 - src/solaris/doc/sun/man/man1/jjs.1 - src/solaris/doc/sun/man/man1/jmap.1 - src/solaris/doc/sun/man/man1/jps.1 - src/solaris/doc/sun/man/man1/jrunscript.1 - src/solaris/doc/sun/man/man1/jsadebugd.1 - src/solaris/doc/sun/man/man1/jstack.1 - src/solaris/doc/sun/man/man1/jstat.1 - src/solaris/doc/sun/man/man1/jstatd.1 - src/solaris/doc/sun/man/man1/keytool.1 - src/solaris/doc/sun/man/man1/pack200.1 - src/solaris/doc/sun/man/man1/rmic.1 - src/solaris/doc/sun/man/man1/rmid.1 - src/solaris/doc/sun/man/man1/rmiregistry.1 - src/solaris/doc/sun/man/man1/serialver.1 - src/solaris/doc/sun/man/man1/unpack200.1 Changeset: 28632315d1be Author: tschatzl Date: 2018-11-28 10:52 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/28632315d1be 8211211: vmTestbase/metaspace/stressDictionary/StressDictionary.java timeout Summary: Disable CMS precleaning to avoid accumulating too many classloaders to unload. Reviewed-by: kbarrett, sangheki ! test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java Changeset: 877dd2b0f36c Author: tschatzl Date: 2018-11-28 11:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/877dd2b0f36c 8213996: Remove one of the SparsePRT entry tables Summary: Remove unused functionality in SparsePRT Reviewed-by: shade, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/sparsePRT.cpp ! src/hotspot/share/gc/g1/sparsePRT.hpp Changeset: b22da519f2e3 Author: rehn Date: 2018-11-28 11:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/b22da519f2e3 8213791: StringTable: Use get and insert Reviewed-by: eosterlund, gziemski ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp Changeset: 263c7685a22a Author: dchuyko Date: 2018-11-28 13:24 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/263c7685a22a 8214272: Don't use memset to initialize arrays of MemoryUsage in memoryManager.cpp Reviewed-by: rkennke, shade ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/services/memoryManager.cpp Changeset: 91ae63450fa8 Author: simonis Date: 2018-11-28 13:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/91ae63450fa8 8214343: Handle the absence of Xrandr more generically Reviewed-by: stuefe, erikj, prr ! make/autoconf/lib-x11.m4 ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: fab77e2d8146 Author: iklam Date: 2018-11-28 07:51 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fab77e2d8146 8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found Reviewed-by: lfoltan, sspitsyn, shade ! test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java Changeset: 732bec44c89e Author: joehw Date: 2018-11-28 10:30 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/732bec44c89e 8213117: adoptNode corrupts attribute values Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java + test/jaxp/javax/xml/jaxp/unittest/dom/DocumentTest.java Changeset: 70c19392c266 Author: rkennke Date: 2018-11-29 11:50 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/70c19392c266 Merge ! .hgtags - src/bsd/doc/man/DO_NOT_EDIT--GENERATED_FILES - src/bsd/doc/man/apt.1 - src/bsd/doc/man/ja/apt.1 - src/bsd/doc/man/ja/jar.1 - src/bsd/doc/man/ja/jarsigner.1 - src/bsd/doc/man/ja/java.1 - src/bsd/doc/man/ja/javac.1 - src/bsd/doc/man/ja/javadoc.1 - src/bsd/doc/man/ja/javap.1 - src/bsd/doc/man/ja/javaws.1 - src/bsd/doc/man/ja/jcmd.1 - src/bsd/doc/man/ja/jconsole.1 - src/bsd/doc/man/ja/jdb.1 - src/bsd/doc/man/ja/jdeps.1 - src/bsd/doc/man/ja/jhat.1 - src/bsd/doc/man/ja/jinfo.1 - src/bsd/doc/man/ja/jjs.1 - src/bsd/doc/man/ja/jmap.1 - src/bsd/doc/man/ja/jps.1 - src/bsd/doc/man/ja/jrunscript.1 - src/bsd/doc/man/ja/jsadebugd.1 - src/bsd/doc/man/ja/jstack.1 - src/bsd/doc/man/ja/jstat.1 - src/bsd/doc/man/ja/jstatd.1 - src/bsd/doc/man/ja/keytool.1 - src/bsd/doc/man/ja/pack200.1 - src/bsd/doc/man/ja/rmic.1 - src/bsd/doc/man/ja/rmid.1 - src/bsd/doc/man/ja/rmiregistry.1 - src/bsd/doc/man/ja/serialver.1 - src/bsd/doc/man/ja/unpack200.1 - src/bsd/doc/man/jar.1 - src/bsd/doc/man/jarsigner.1 - src/bsd/doc/man/java.1 - src/bsd/doc/man/javac.1 - src/bsd/doc/man/javadoc.1 - src/bsd/doc/man/javap.1 - src/bsd/doc/man/javaws.1 - src/bsd/doc/man/jcmd.1 - src/bsd/doc/man/jconsole.1 - src/bsd/doc/man/jdb.1 - src/bsd/doc/man/jdeps.1 - src/bsd/doc/man/jhat.1 - src/bsd/doc/man/jinfo.1 - src/bsd/doc/man/jjs.1 - src/bsd/doc/man/jmap.1 - src/bsd/doc/man/jps.1 - src/bsd/doc/man/jrunscript.1 - src/bsd/doc/man/jsadebugd.1 - src/bsd/doc/man/jstack.1 - src/bsd/doc/man/jstat.1 - src/bsd/doc/man/jstatd.1 - src/bsd/doc/man/keytool.1 - src/bsd/doc/man/pack200.1 - src/bsd/doc/man/rmic.1 - src/bsd/doc/man/rmid.1 - src/bsd/doc/man/rmiregistry.1 - src/bsd/doc/man/serialver.1 - src/bsd/doc/man/unpack200.1 ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/ptrQueue.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/linux/doc/man/DO_NOT_EDIT--GENERATED_FILES - src/linux/doc/man/ja/jar.1 - src/linux/doc/man/ja/jarsigner.1 - src/linux/doc/man/ja/java.1 - src/linux/doc/man/ja/javac.1 - src/linux/doc/man/ja/javadoc.1 - src/linux/doc/man/ja/javap.1 - src/linux/doc/man/ja/javaws.1 - src/linux/doc/man/ja/jcmd.1 - src/linux/doc/man/ja/jconsole.1 - src/linux/doc/man/ja/jdb.1 - src/linux/doc/man/ja/jdeps.1 - src/linux/doc/man/ja/jhat.1 - src/linux/doc/man/ja/jinfo.1 - src/linux/doc/man/ja/jjs.1 - src/linux/doc/man/ja/jmap.1 - src/linux/doc/man/ja/jps.1 - src/linux/doc/man/ja/jrunscript.1 - src/linux/doc/man/ja/jsadebugd.1 - src/linux/doc/man/ja/jstack.1 - src/linux/doc/man/ja/jstat.1 - src/linux/doc/man/ja/jstatd.1 - src/linux/doc/man/ja/keytool.1 - src/linux/doc/man/ja/pack200.1 - src/linux/doc/man/ja/rmic.1 - src/linux/doc/man/ja/rmid.1 - src/linux/doc/man/ja/rmiregistry.1 - src/linux/doc/man/ja/serialver.1 - src/linux/doc/man/ja/unpack200.1 - src/linux/doc/man/jar.1 - src/linux/doc/man/jarsigner.1 - src/linux/doc/man/java.1 - src/linux/doc/man/javac.1 - src/linux/doc/man/javadoc.1 - src/linux/doc/man/javap.1 - src/linux/doc/man/javaws.1 - src/linux/doc/man/jcmd.1 - src/linux/doc/man/jconsole.1 - src/linux/doc/man/jdb.1 - src/linux/doc/man/jdeps.1 - src/linux/doc/man/jhat.1 - src/linux/doc/man/jinfo.1 - src/linux/doc/man/jjs.1 - src/linux/doc/man/jmap.1 - src/linux/doc/man/jps.1 - src/linux/doc/man/jrunscript.1 - src/linux/doc/man/jsadebugd.1 - src/linux/doc/man/jstack.1 - src/linux/doc/man/jstat.1 - src/linux/doc/man/jstatd.1 - src/linux/doc/man/keytool.1 - src/linux/doc/man/pack200.1 - src/linux/doc/man/rmic.1 - src/linux/doc/man/rmid.1 - src/linux/doc/man/rmiregistry.1 - src/linux/doc/man/serialver.1 - src/linux/doc/man/unpack200.1 - src/solaris/doc/sun/man/man1/DO_NOT_EDIT--GENERATED_FILES - src/solaris/doc/sun/man/man1/ja/jar.1 - src/solaris/doc/sun/man/man1/ja/jarsigner.1 - src/solaris/doc/sun/man/man1/ja/java.1 - src/solaris/doc/sun/man/man1/ja/javac.1 - src/solaris/doc/sun/man/man1/ja/javadoc.1 - src/solaris/doc/sun/man/man1/ja/javap.1 - src/solaris/doc/sun/man/man1/ja/jcmd.1 - src/solaris/doc/sun/man/man1/ja/jconsole.1 - src/solaris/doc/sun/man/man1/ja/jdb.1 - src/solaris/doc/sun/man/man1/ja/jdeps.1 - src/solaris/doc/sun/man/man1/ja/jhat.1 - src/solaris/doc/sun/man/man1/ja/jinfo.1 - src/solaris/doc/sun/man/man1/ja/jjs.1 - src/solaris/doc/sun/man/man1/ja/jmap.1 - src/solaris/doc/sun/man/man1/ja/jps.1 - src/solaris/doc/sun/man/man1/ja/jrunscript.1 - src/solaris/doc/sun/man/man1/ja/jsadebugd.1 - src/solaris/doc/sun/man/man1/ja/jstack.1 - src/solaris/doc/sun/man/man1/ja/jstat.1 - src/solaris/doc/sun/man/man1/ja/jstatd.1 - src/solaris/doc/sun/man/man1/ja/keytool.1 - src/solaris/doc/sun/man/man1/ja/pack200.1 - src/solaris/doc/sun/man/man1/ja/rmic.1 - src/solaris/doc/sun/man/man1/ja/rmid.1 - src/solaris/doc/sun/man/man1/ja/rmiregistry.1 - src/solaris/doc/sun/man/man1/ja/serialver.1 - src/solaris/doc/sun/man/man1/ja/unpack200.1 - src/solaris/doc/sun/man/man1/jar.1 - src/solaris/doc/sun/man/man1/jarsigner.1 - src/solaris/doc/sun/man/man1/java.1 - src/solaris/doc/sun/man/man1/javac.1 - src/solaris/doc/sun/man/man1/javadoc.1 - src/solaris/doc/sun/man/man1/javap.1 - src/solaris/doc/sun/man/man1/jcmd.1 - src/solaris/doc/sun/man/man1/jconsole.1 - src/solaris/doc/sun/man/man1/jdb.1 - src/solaris/doc/sun/man/man1/jdeps.1 - src/solaris/doc/sun/man/man1/jhat.1 - src/solaris/doc/sun/man/man1/jinfo.1 - src/solaris/doc/sun/man/man1/jjs.1 - src/solaris/doc/sun/man/man1/jmap.1 - src/solaris/doc/sun/man/man1/jps.1 - src/solaris/doc/sun/man/man1/jrunscript.1 - src/solaris/doc/sun/man/man1/jsadebugd.1 - src/solaris/doc/sun/man/man1/jstack.1 - src/solaris/doc/sun/man/man1/jstat.1 - src/solaris/doc/sun/man/man1/jstatd.1 - src/solaris/doc/sun/man/man1/keytool.1 - src/solaris/doc/sun/man/man1/pack200.1 - src/solaris/doc/sun/man/man1/rmic.1 - src/solaris/doc/sun/man/man1/rmid.1 - src/solaris/doc/sun/man/man1/rmiregistry.1 - src/solaris/doc/sun/man/man1/serialver.1 - src/solaris/doc/sun/man/man1/unpack200.1 ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/extmech/extmech.cpp ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp - test/jdk/lib/testlibrary/jdk/testlibrary/OptimalCapacity.java - test/langtools/tools/jdeps/mrjar/test/Main.java From rkennke at redhat.com Thu Nov 29 11:12:39 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 12:12:39 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <87720eda-7239-ba21-b93d-674e6cee1f7e@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <87720eda-7239-ba21-b93d-674e6cee1f7e@oracle.com> Message-ID: <55f17364-b32f-4f59-6546-fc403d118a3b@redhat.com> Thanks, Per! I will do this. Check out round 3 when it arrives. ;-) Roman Am 29.11.18 um 12:07 schrieb Per Liden: > Small comment on the build changes. Instead of checking for zero variant > here: > > +? # Only enable Shenandoah on supported arches > +? AC_MSG_CHECKING([if shenandoah can be built]) > +? if HOTSPOT_CHECK_JVM_VARIANT(zero); then > +??? DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc" > +??? AC_MSG_RESULT([no, this JVM variant not supported]) > +? else > > I think you should just add shanandoahgc to the existing check, here: > > ? # Disable unsupported GCs for Zero > ? if HOTSPOT_CHECK_JVM_VARIANT(zero); then > ??? DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc" > ? fi > > cheers, > Per > > On 11/26/18 11:47 PM, Erik Joelsson wrote: >> Build changes look ok to me. >> >> /Erik >> >> On 2018-11-26 13:39, Roman Kennke wrote: >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> From rkennke at redhat.com Thu Nov 29 11:12:11 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 12:12:11 +0100 Subject: RFR (round 1), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <1264c130-6bf1-f71f-8811-a2bf716245af@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <38e57ae2-dce8-6d79-b172-302899312ff9@oracle.com> <1264c130-6bf1-f71f-8811-a2bf716245af@oracle.com> Message-ID: Thanks, Magnus, this makes sense. I'll incorporate that simplification. Thanks, Roman Am 29.11.18 um 11:53 schrieb Magnus Ihse Bursie: > On 2018-11-26 23:47, Erik Joelsson wrote: > >> Build changes look ok to me. > I agree, but I'd like to point out a (possible) style improvement. In > hotspot.m4, > > if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test > "x$OPENJDK_TARGET_CPU" = "xaarch64" || test "x$OPENJDK_TARGET_CPU" == > "xx86"; then > > can be more succinctly expressed as > > if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test > "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then > > > But it's a matter of preference, if you do not want to change. Otherwise > it looks good! > > /Magnus >> >> /Erik >> >> On 2018-11-26 13:39, Roman Kennke wrote: >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the >>> mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ?? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ??https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ?? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ??*) shenandoah-gc >>> >>> >>> ???? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ??*) shared-gc >>> >>> ???? - This is mostly boilerplate that is common to any GC >>> ???? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ???? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ??*) shared-serviceability >>> >>> >>> ???? - The usual code to support another GC >>> >>> ??*) shared-runtime >>> >>> >>> ???? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ?????? e.g. ClassLoaderData, CodeCache, etc >>> ???? - Warning and disabling JFR LeakProfiler >>> ???? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ???? - Locks initialization in mutexLocker.cpp as usual >>> ???? - VM operations defines for Shenandoah's VM ops >>> ???? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ???? - The usual macros in macro.hpp >>> >>> ??*) shared-build >>> >>> >>> ???? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ???? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ?????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ???? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ?????? useful to get the whole marking loop inlined (observed >>> significant >>> regression if we >>> ?????? don't) >>> >>> ??*) shared-tests >>> >>> >>> ???? - Test infrastructure to support Shenandoah >>> ???? - Shenandoah test groups >>> ???? - Exclude Shenandoah in various tests that can be run with >>> selected GC >>> ???? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ??*) shenandoah-tests >>> >>> >>> ???? - Shenandoah specific tests, most reside in gc/shenandoah >>> subdirectory >>> ???? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ?? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ?? - {Windows} x {x86_64}, >>> ?? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ?? - the new Shenandoah tests >>> ?? - jcstress with/without aggressive Shenandoah verification >>> ?? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> > From rkennke at redhat.com Thu Nov 29 11:14:08 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 12:14:08 +0100 Subject: RFR: Build simplifications Message-ID: <4fce6d50-efad-a64f-866c-d319ea6324c1@redhat.com> This incorporates Magnus and Per's suggestions: - disable shenandoah for Zero next to other GCs and features - Make platform check simpler by not duplicating x86_64 and x86 checks. http://cr.openjdk.java.net/~rkennke/build-fixes/webrev.00/ Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Thu Nov 29 11:26:51 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 12:26:51 +0100 Subject: RFR: Build simplifications In-Reply-To: <4fce6d50-efad-a64f-866c-d319ea6324c1@redhat.com> References: <4fce6d50-efad-a64f-866c-d319ea6324c1@redhat.com> Message-ID: <461a378b-48ee-8c5f-2120-59cd23fe7119@redhat.com> On 11/29/18 12:14 PM, Roman Kennke wrote: > This incorporates Magnus and Per's suggestions: > > - disable shenandoah for Zero next to other GCs and features > - Make platform check simpler by not duplicating x86_64 and x86 checks. > > http://cr.openjdk.java.net/~rkennke/build-fixes/webrev.00/ OK, looks good. -Aleksey From roman at kennke.org Thu Nov 29 11:51:42 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 29 Nov 2018 11:51:42 +0000 Subject: hg: shenandoah/jdk: Simplify build configury for Shenandoah Message-ID: <201811291151.wATBphVP016799@aojmv0008.oracle.com> Changeset: c0214bd0e4b7 Author: rkennke Date: 2018-11-29 12:10 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/c0214bd0e4b7 Simplify build configury for Shenandoah ! make/autoconf/hotspot.m4 From rkennke at redhat.com Thu Nov 29 11:53:57 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 12:53:57 +0100 Subject: RFR: Two small C2 cleanups In-Reply-To: References: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> Message-ID: <9b9e607f-fc86-c03c-f0c9-67dbc533e621@redhat.com> Ok, now the merge is in, and the only remaining changes in those files are the ones that I mentioned, and it's not our business to fix them (in sh/jdk) at this point. Also, removed on gratuitous include from compile.cpp: http://cr.openjdk.java.net/~rkennke/c2-cleanups-11-2018/webrev.00/ Ok now? Roman > On 11/29/18 11:00 AM, Roman Kennke wrote: >> We have those gratuitous diffs in C2: >> >> diff --git a/src/hotspot/share/opto/phasetype.hpp >> b/src/hotspot/share/opto/phasetype.hpp >> --- a/src/hotspot/share/opto/phasetype.hpp >> +++ b/src/hotspot/share/opto/phasetype.hpp >> @@ -1,5 +1,5 @@ >> /* >> - * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights >> reserved. >> + * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights >> reserved. >> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> * >> * This code is free software; you can redistribute it and/or modify it > > I see there is a change that should trigger copyright update, no? Or is that coming from upstream > anyway? If so, copyright would be changed in upstream? > > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk-only-shared/latest/src/hotspot/share/opto/phasetype.hpp.sdiff.html > >> diff --git a/src/hotspot/share/opto/subnode.cpp >> b/src/hotspot/share/opto/subnode.cpp >> --- a/src/hotspot/share/opto/subnode.cpp >> +++ b/src/hotspot/share/opto/subnode.cpp >> @@ -883,7 +883,7 @@ >> // LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror)))) >> // or NULL if not matching. >> BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); >> - n = bs->step_over_gc_barrier(n); >> + n = bs->step_over_gc_barrier(n); >> >> if (n->Opcode() != Op_LoadP) return NULL; > > This look okay to fix. > > -Aleksey > > From shade at redhat.com Thu Nov 29 11:56:51 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 12:56:51 +0100 Subject: RFR: Two small C2 cleanups In-Reply-To: <9b9e607f-fc86-c03c-f0c9-67dbc533e621@redhat.com> References: <4ee3c57f-4fef-524a-fe7c-fe17beae0b20@redhat.com> <9b9e607f-fc86-c03c-f0c9-67dbc533e621@redhat.com> Message-ID: On 11/29/18 12:53 PM, Roman Kennke wrote: > Ok, now the merge is in, and the only remaining changes in those files > are the ones that I mentioned, and it's not our business to fix them (in > sh/jdk) at this point. > > Also, removed on gratuitous include from compile.cpp: > > http://cr.openjdk.java.net/~rkennke/c2-cleanups-11-2018/webrev.00/ OK! -Aleksey From roman at kennke.org Thu Nov 29 12:08:26 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 29 Nov 2018 12:08:26 +0000 Subject: hg: shenandoah/jdk: Two small C2 cleanups Message-ID: <201811291208.wATC8QBU024676@aojmv0008.oracle.com> Changeset: 6fbe63803be5 Author: rkennke Date: 2018-11-29 12:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6fbe63803be5 Two small C2 cleanups ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/subnode.cpp From rwestrel at redhat.com Thu Nov 29 14:26:31 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Thu, 29 Nov 2018 14:26:31 +0000 Subject: hg: shenandoah/jdk: move shenandoah specific code into its own ad files Message-ID: <201811291426.wATEQVoH004378@aojmv0008.oracle.com> Changeset: 56b50dd423f6 Author: roland Date: 2018-11-29 11:10 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/56b50dd423f6 move shenandoah specific code into its own ad files ! make/hotspot/gensrc/GensrcAdlc.gmk ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad + src/hotspot/cpu/x86/gc/shenandoah/shenandoah_x86_64.ad ! src/hotspot/cpu/x86/x86_64.ad From rwestrel at redhat.com Thu Nov 29 14:36:47 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 29 Nov 2018 15:36:47 +0100 Subject: RFC: more gc interface hooks for loop opts Message-ID: <87ftvkkl1c.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-loopopts-more/webrev.00/ Does that look reasonable? Or too shenandoah specific? Roland. From rkennke at redhat.com Thu Nov 29 14:43:29 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 15:43:29 +0100 Subject: RFC: more gc interface hooks for loop opts In-Reply-To: <87ftvkkl1c.fsf@redhat.com> References: <87ftvkkl1c.fsf@redhat.com> Message-ID: <4b3a97d0-8f27-48b6-7fd6-953aedb4549c@redhat.com> I think it's ok. Please push it to Shenandoah. I'll try to include it in the upstreaming webrev, let's see if anybody wants this to separately. Roman > http://cr.openjdk.java.net/~roland/shenandoah/gcinterface-loopopts-more/webrev.00/ > > Does that look reasonable? Or too shenandoah specific? > > Roland. > From rwestrel at redhat.com Thu Nov 29 15:05:37 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Thu, 29 Nov 2018 15:05:37 +0000 Subject: hg: shenandoah/jdk: more gc interface loop opts Message-ID: <201811291505.wATF5bFs022110@aojmv0008.oracle.com> Changeset: 2fff3e3b8015 Author: roland Date: 2018-11-29 15:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/2fff3e3b8015 more gc interface loop opts ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp From rkennke at redhat.com Thu Nov 29 16:05:28 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 17:05:28 +0100 Subject: RFR: Remove leftover include in C2 Message-ID: <93692c1e-6d5c-4d39-52a7-4dafec81f866@redhat.com> This is not needed anymore, as of today's Roland's improvements: Ok? Roman diff --git a/src/hotspot/share/opto/loopopts.cpp b/src/hotspot/share/opto/loopopts.cpp --- a/src/hotspot/share/opto/loopopts.cpp +++ b/src/hotspot/share/opto/loopopts.cpp @@ -44,9 +44,6 @@ #if INCLUDE_ZGC #include "gc/z/c2/zBarrierSetC2.hpp" #endif -#if INCLUDE_SHENANDOAHGC -#include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp" -#endif //============================================================================= //------------------------------split_thru_phi--------------------------------- From shade at redhat.com Thu Nov 29 16:14:53 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 17:14:53 +0100 Subject: RFR: Remove leftover include in C2 In-Reply-To: <93692c1e-6d5c-4d39-52a7-4dafec81f866@redhat.com> References: <93692c1e-6d5c-4d39-52a7-4dafec81f866@redhat.com> Message-ID: On 11/29/18 5:05 PM, Roman Kennke wrote: > This is not needed anymore, as of today's Roland's improvements: > > Ok? > > Roman > > diff --git a/src/hotspot/share/opto/loopopts.cpp > b/src/hotspot/share/opto/loopopts.cpp > --- a/src/hotspot/share/opto/loopopts.cpp > +++ b/src/hotspot/share/opto/loopopts.cpp > @@ -44,9 +44,6 @@ > #if INCLUDE_ZGC > #include "gc/z/c2/zBarrierSetC2.hpp" > #endif > -#if INCLUDE_SHENANDOAHGC > -#include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp" > -#endif > > //============================================================================= > //------------------------------split_thru_phi--------------------------------- Yes, seems to be OK: https://builds.shipilev.net/patch-openjdk-shenandoah-jdk-only-shared/latest/src/hotspot/share/opto/loopopts.cpp.sdiff.html -Aleksey From roman at kennke.org Thu Nov 29 17:49:08 2018 From: roman at kennke.org (roman at kennke.org) Date: Thu, 29 Nov 2018 17:49:08 +0000 Subject: hg: shenandoah/jdk: Remove leftover include in C2 Message-ID: <201811291749.wATHn8Rj011945@aojmv0008.oracle.com> Changeset: 867e649eb566 Author: rkennke Date: 2018-11-29 17:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/867e649eb566 Remove leftover include in C2 ! src/hotspot/share/opto/loopopts.cpp From shade at redhat.com Thu Nov 29 18:43:13 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 19:43:13 +0100 Subject: RFR: Rehash Shenandoah tests Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/rehash-tests/webrev.01/ (webrev deliberately ignores whitespace changes to highlight the real ones) This rehashes our tests for upstreaming. Includes several changes, going in as separate changesets: *) Reformat Shenandoah tests: that's IDEA fixing indentation and code style, some of dubious automatic changes reverted by hand; *) Remove obsolete and ignored TestHeapAlloc; *) Move tests to proper locations: basically eliminating "acceptance" folder, and moving specific tests to subfolders, as appropriate; *) Drop "Shenandoah" from test names: make them consistently named *) Prefix tests with "Test", as seems to be the convention In the end, we have this in filesystem: test/hotspot/jtreg/gc/shenandoah $ tree ??? compiler ??? ??? TestC1ArrayCopyNPE.java ??? ??? TestC1VectorizedMismatch.java ??? ??? TestCommonGCLoads.java ??? ??? TestExpandedWBLostNullCheckDep.java ??? ??? TestMaybeNullUnsafeAccess.java ??? ??? TestNullCheck.java ??? ??? TestReferenceCAS.java ??? ??? TestWriteBarrierClearControl.java ??? jni ??? ??? libTestJNICritical.c ??? ??? libTestJNIGlobalRefs.c ??? ??? libTestPinnedGarbage.c ??? ??? TestJNICritical.java ??? ??? TestJNIGlobalRefs.java ??? ??? TestPinnedGarbage.java ??? jvmti ??? ??? libTestHeapDump.c ??? ??? TestHeapDump.java ??? mxbeans ??? ??? TestChurnNotifications.java ??? ??? TestMemoryMXBeans.java ??? ??? TestMemoryPools.java ??? ??? TestPauseNotifications.java ??? oom ??? ??? TestAllocLargeObj.java ??? ??? TestAllocLargerThanHeap.java ??? ??? TestAllocSmallObj.java ??? ??? TestClassLoaderLeak.java ??? ??? TestThreadFailure.java ??? options ??? ??? TestAlwaysPreTouch.java ??? ??? TestArgumentRanges.java ??? ??? TestClassUnloadingArguments.java ??? ??? TestCodeCacheRootStyles.java ??? ??? TestEnabled.java ??? ??? TestExplicitGC.java ??? ??? TestExplicitGCNoConcurrent.java ??? ??? TestHeuristicsUnlock.java ??? ??? TestHumongousThresholdArgs.java ??? ??? TestLoopMiningArguments.java ??? ??? TestObjectAlignment.java ??? ??? TestPacing.java ??? ??? TestParallelRegionStride.java ??? ??? TestRegionSizeArgs.java ??? ??? TestSelectiveBarrierFlags.java ??? ??? TestSingleThreaded.java ??? TestAllocHumongousFragment.java ??? TestAllocIntArrays.java ??? TestAllocObjectArrays.java ??? TestAllocObjects.java ??? TestArrayCopyCheckCast.java ??? TestArrayCopyStress.java ??? TestElasticTLAB.java ??? TestEvilSyncBug.java ??? TestGCThreadGroups.java ??? TestHeapUncommit.java ??? TestHumongousThreshold.java ??? TestLargeObjectAlignment.java ??? TestLotsOfCycles.java ??? TestParallelRefprocSanity.java ??? TestPeriodicGC.java ??? TestRefprocSanity.java ??? TestRegionSampling.java ??? TestRetainObjects.java ??? TestSieveObjects.java ??? TestSmallHeap.java ??? TestStringDedup.java ??? TestStringDedupStress.java ??? TestStringInternCleanup.java ??? TestVerifyJCStress.java ??? TestVerifyLevels.java ??? TestWithLogLevel.java ??? TestWrongArrayMember.java Testing: hotspot_gc_shenandoah {fastdebug|release} Thanks, -Aleksey From zgu at redhat.com Thu Nov 29 18:51:10 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 29 Nov 2018 13:51:10 -0500 Subject: RFR: Rehash Shenandoah tests In-Reply-To: References: Message-ID: Good to me. -Zhengyu On 11/29/18 1:43 PM, Aleksey Shipilev wrote: > http://cr.openjdk.java.net/~shade/shenandoah/rehash-tests/webrev.01/ > (webrev deliberately ignores whitespace changes to highlight the real ones) > > This rehashes our tests for upstreaming. Includes several changes, going in as separate changesets: > > *) Reformat Shenandoah tests: that's IDEA fixing indentation and code style, some of dubious > automatic changes reverted by hand; > *) Remove obsolete and ignored TestHeapAlloc; > *) Move tests to proper locations: basically eliminating "acceptance" folder, and moving specific > tests to subfolders, as appropriate; > *) Drop "Shenandoah" from test names: make them consistently named > *) Prefix tests with "Test", as seems to be the convention > > In the end, we have this in filesystem: > > test/hotspot/jtreg/gc/shenandoah $ tree > ??? compiler > ??? ??? TestC1ArrayCopyNPE.java > ??? ??? TestC1VectorizedMismatch.java > ??? ??? TestCommonGCLoads.java > ??? ??? TestExpandedWBLostNullCheckDep.java > ??? ??? TestMaybeNullUnsafeAccess.java > ??? ??? TestNullCheck.java > ??? ??? TestReferenceCAS.java > ??? ??? TestWriteBarrierClearControl.java > ??? jni > ??? ??? libTestJNICritical.c > ??? ??? libTestJNIGlobalRefs.c > ??? ??? libTestPinnedGarbage.c > ??? ??? TestJNICritical.java > ??? ??? TestJNIGlobalRefs.java > ??? ??? TestPinnedGarbage.java > ??? jvmti > ??? ??? libTestHeapDump.c > ??? ??? TestHeapDump.java > ??? mxbeans > ??? ??? TestChurnNotifications.java > ??? ??? TestMemoryMXBeans.java > ??? ??? TestMemoryPools.java > ??? ??? TestPauseNotifications.java > ??? oom > ??? ??? TestAllocLargeObj.java > ??? ??? TestAllocLargerThanHeap.java > ??? ??? TestAllocSmallObj.java > ??? ??? TestClassLoaderLeak.java > ??? ??? TestThreadFailure.java > ??? options > ??? ??? TestAlwaysPreTouch.java > ??? ??? TestArgumentRanges.java > ??? ??? TestClassUnloadingArguments.java > ??? ??? TestCodeCacheRootStyles.java > ??? ??? TestEnabled.java > ??? ??? TestExplicitGC.java > ??? ??? TestExplicitGCNoConcurrent.java > ??? ??? TestHeuristicsUnlock.java > ??? ??? TestHumongousThresholdArgs.java > ??? ??? TestLoopMiningArguments.java > ??? ??? TestObjectAlignment.java > ??? ??? TestPacing.java > ??? ??? TestParallelRegionStride.java > ??? ??? TestRegionSizeArgs.java > ??? ??? TestSelectiveBarrierFlags.java > ??? ??? TestSingleThreaded.java > ??? TestAllocHumongousFragment.java > ??? TestAllocIntArrays.java > ??? TestAllocObjectArrays.java > ??? TestAllocObjects.java > ??? TestArrayCopyCheckCast.java > ??? TestArrayCopyStress.java > ??? TestElasticTLAB.java > ??? TestEvilSyncBug.java > ??? TestGCThreadGroups.java > ??? TestHeapUncommit.java > ??? TestHumongousThreshold.java > ??? TestLargeObjectAlignment.java > ??? TestLotsOfCycles.java > ??? TestParallelRefprocSanity.java > ??? TestPeriodicGC.java > ??? TestRefprocSanity.java > ??? TestRegionSampling.java > ??? TestRetainObjects.java > ??? TestSieveObjects.java > ??? TestSmallHeap.java > ??? TestStringDedup.java > ??? TestStringDedupStress.java > ??? TestStringInternCleanup.java > ??? TestVerifyJCStress.java > ??? TestVerifyLevels.java > ??? TestWithLogLevel.java > ??? TestWrongArrayMember.java > > > Testing: hotspot_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From rkennke at redhat.com Thu Nov 29 19:06:07 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 20:06:07 +0100 Subject: RFR: Rehash Shenandoah tests In-Reply-To: References: Message-ID: Ok. Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/rehash-tests/webrev.01/ > (webrev deliberately ignores whitespace changes to highlight the real ones) > > This rehashes our tests for upstreaming. Includes several changes, going in as separate changesets: > > *) Reformat Shenandoah tests: that's IDEA fixing indentation and code style, some of dubious > automatic changes reverted by hand; > *) Remove obsolete and ignored TestHeapAlloc; > *) Move tests to proper locations: basically eliminating "acceptance" folder, and moving specific > tests to subfolders, as appropriate; > *) Drop "Shenandoah" from test names: make them consistently named > *) Prefix tests with "Test", as seems to be the convention > > In the end, we have this in filesystem: > > test/hotspot/jtreg/gc/shenandoah $ tree > ??? compiler > ??? ??? TestC1ArrayCopyNPE.java > ??? ??? TestC1VectorizedMismatch.java > ??? ??? TestCommonGCLoads.java > ??? ??? TestExpandedWBLostNullCheckDep.java > ??? ??? TestMaybeNullUnsafeAccess.java > ??? ??? TestNullCheck.java > ??? ??? TestReferenceCAS.java > ??? ??? TestWriteBarrierClearControl.java > ??? jni > ??? ??? libTestJNICritical.c > ??? ??? libTestJNIGlobalRefs.c > ??? ??? libTestPinnedGarbage.c > ??? ??? TestJNICritical.java > ??? ??? TestJNIGlobalRefs.java > ??? ??? TestPinnedGarbage.java > ??? jvmti > ??? ??? libTestHeapDump.c > ??? ??? TestHeapDump.java > ??? mxbeans > ??? ??? TestChurnNotifications.java > ??? ??? TestMemoryMXBeans.java > ??? ??? TestMemoryPools.java > ??? ??? TestPauseNotifications.java > ??? oom > ??? ??? TestAllocLargeObj.java > ??? ??? TestAllocLargerThanHeap.java > ??? ??? TestAllocSmallObj.java > ??? ??? TestClassLoaderLeak.java > ??? ??? TestThreadFailure.java > ??? options > ??? ??? TestAlwaysPreTouch.java > ??? ??? TestArgumentRanges.java > ??? ??? TestClassUnloadingArguments.java > ??? ??? TestCodeCacheRootStyles.java > ??? ??? TestEnabled.java > ??? ??? TestExplicitGC.java > ??? ??? TestExplicitGCNoConcurrent.java > ??? ??? TestHeuristicsUnlock.java > ??? ??? TestHumongousThresholdArgs.java > ??? ??? TestLoopMiningArguments.java > ??? ??? TestObjectAlignment.java > ??? ??? TestPacing.java > ??? ??? TestParallelRegionStride.java > ??? ??? TestRegionSizeArgs.java > ??? ??? TestSelectiveBarrierFlags.java > ??? ??? TestSingleThreaded.java > ??? TestAllocHumongousFragment.java > ??? TestAllocIntArrays.java > ??? TestAllocObjectArrays.java > ??? TestAllocObjects.java > ??? TestArrayCopyCheckCast.java > ??? TestArrayCopyStress.java > ??? TestElasticTLAB.java > ??? TestEvilSyncBug.java > ??? TestGCThreadGroups.java > ??? TestHeapUncommit.java > ??? TestHumongousThreshold.java > ??? TestLargeObjectAlignment.java > ??? TestLotsOfCycles.java > ??? TestParallelRefprocSanity.java > ??? TestPeriodicGC.java > ??? TestRefprocSanity.java > ??? TestRegionSampling.java > ??? TestRetainObjects.java > ??? TestSieveObjects.java > ??? TestSmallHeap.java > ??? TestStringDedup.java > ??? TestStringDedupStress.java > ??? TestStringInternCleanup.java > ??? TestVerifyJCStress.java > ??? TestVerifyLevels.java > ??? TestWithLogLevel.java > ??? TestWrongArrayMember.java > > > Testing: hotspot_gc_shenandoah {fastdebug|release} > > Thanks, > -Aleksey > From shade at redhat.com Thu Nov 29 19:38:19 2018 From: shade at redhat.com (shade at redhat.com) Date: Thu, 29 Nov 2018 19:38:19 +0000 Subject: hg: shenandoah/jdk: 5 new changesets Message-ID: <201811291938.wATJcKwK004529@aojmv0008.oracle.com> Changeset: eb626136aef9 Author: shade Date: 2018-11-29 19:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/eb626136aef9 Reformat Shenandoah tests ! test/hotspot/jtreg/gc/shenandoah/EvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/HumongousThreshold.java ! test/hotspot/jtreg/gc/shenandoah/LargeObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/LotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/PinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahJNICritical.java ! test/hotspot/jtreg/gc/shenandoah/ShenandoahStrDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java ! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java ! test/hotspot/jtreg/gc/shenandoah/TestElasticTLAB.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapAlloc.java ! test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahStrDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestShenandoahWithLogLevel.java ! test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/HeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/ParallelRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/RetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/SieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/StringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/acceptance/VerifyJCStressTest.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1ArrayCopyNPE.java ! test/hotspot/jtreg/gc/shenandoah/compiler/C1VectorizedMismatch.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestMaybeNullUnsafeAccess.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestNullCheck.java ! test/hotspot/jtreg/gc/shenandoah/compiler/TestWriteBarrierClearControl.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/ChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/PauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java ! test/hotspot/jtreg/gc/shenandoah/options/AlwaysPreTouch.java ! test/hotspot/jtreg/gc/shenandoah/options/TestClassUnloadingArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestEnabled.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGCNoConcurrent.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHumongousThresholdArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestLoopMiningArguments.java ! test/hotspot/jtreg/gc/shenandoah/options/TestObjectAlignment.java ! test/hotspot/jtreg/gc/shenandoah/options/TestPacing.java ! test/hotspot/jtreg/gc/shenandoah/options/TestParallelRegionStride.java ! test/hotspot/jtreg/gc/shenandoah/options/TestRegionSizeArgs.java ! test/hotspot/jtreg/gc/shenandoah/options/TestShenandoahArgumentRanges.java Changeset: a40827278a51 Author: shade Date: 2018-11-29 19:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/a40827278a51 Remove obsolete and ignored TestHeapAlloc - test/hotspot/jtreg/gc/shenandoah/TestHeapAlloc.java Changeset: 55e1d662c0f4 Author: shade Date: 2018-11-29 19:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/55e1d662c0f4 Move Shenandoah tests to proper locations + test/hotspot/jtreg/gc/shenandoah/AllocHumongousFragment.java + test/hotspot/jtreg/gc/shenandoah/AllocIntArrays.java + test/hotspot/jtreg/gc/shenandoah/AllocObjectArrays.java + test/hotspot/jtreg/gc/shenandoah/AllocObjects.java + test/hotspot/jtreg/gc/shenandoah/HeapUncommit.java + test/hotspot/jtreg/gc/shenandoah/ParallelRefprocSanity.java - test/hotspot/jtreg/gc/shenandoah/PinnedGarbage.java + test/hotspot/jtreg/gc/shenandoah/RefprocSanity.java + test/hotspot/jtreg/gc/shenandoah/RetainObjects.java - test/hotspot/jtreg/gc/shenandoah/ShenandoahJNICritical.java + test/hotspot/jtreg/gc/shenandoah/SieveObjects.java + test/hotspot/jtreg/gc/shenandoah/StringInternCleanup.java - test/hotspot/jtreg/gc/shenandoah/TestMemoryMXBeans.java - test/hotspot/jtreg/gc/shenandoah/TestMemoryPools.java - test/hotspot/jtreg/gc/shenandoah/TestSelectiveBarrierFlags.java + test/hotspot/jtreg/gc/shenandoah/VerifyJCStressTest.java - test/hotspot/jtreg/gc/shenandoah/acceptance/AllocHumongousFragment.java - test/hotspot/jtreg/gc/shenandoah/acceptance/AllocIntArrays.java - test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjectArrays.java - test/hotspot/jtreg/gc/shenandoah/acceptance/AllocObjects.java - test/hotspot/jtreg/gc/shenandoah/acceptance/HeapUncommit.java - test/hotspot/jtreg/gc/shenandoah/acceptance/ParallelRefprocSanity.java - test/hotspot/jtreg/gc/shenandoah/acceptance/RefprocSanity.java - test/hotspot/jtreg/gc/shenandoah/acceptance/RetainObjects.java - test/hotspot/jtreg/gc/shenandoah/acceptance/SieveObjects.java - test/hotspot/jtreg/gc/shenandoah/acceptance/StringInternCleanup.java - test/hotspot/jtreg/gc/shenandoah/acceptance/VerifyJCStressTest.java + test/hotspot/jtreg/gc/shenandoah/jni/PinnedGarbage.java + test/hotspot/jtreg/gc/shenandoah/jni/ShenandoahJNICritical.java + test/hotspot/jtreg/gc/shenandoah/jni/libPinnedGarbage.c + test/hotspot/jtreg/gc/shenandoah/jni/libShenandoahJNICritical.c - test/hotspot/jtreg/gc/shenandoah/libPinnedGarbage.c - test/hotspot/jtreg/gc/shenandoah/libShenandoahJNICritical.c + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryMXBeans.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryPools.java + test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java Changeset: 4fda1e5bcae1 Author: shade Date: 2018-11-29 19:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/4fda1e5bcae1 Drop "Shenandoah" from test names ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/gc/shenandoah/ShenandoahStrDedupStress.java + test/hotspot/jtreg/gc/shenandoah/StringDedupStress.java - test/hotspot/jtreg/gc/shenandoah/TestShenandoahStrDedup.java - test/hotspot/jtreg/gc/shenandoah/TestShenandoahWithLogLevel.java + test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java + test/hotspot/jtreg/gc/shenandoah/TestWithLogLevel.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNICritical.java < test/hotspot/jtreg/gc/shenandoah/jni/ShenandoahJNICritical.java ! test/hotspot/jtreg/gc/shenandoah/jni/libTestJNICritical.c < test/hotspot/jtreg/gc/shenandoah/jni/libShenandoahJNICritical.c + test/hotspot/jtreg/gc/shenandoah/options/TestArgumentRanges.java - test/hotspot/jtreg/gc/shenandoah/options/TestShenandoahArgumentRanges.java + test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreaded.java - test/hotspot/jtreg/gc/shenandoah/options/TestSingleThreadedShenandoah.java Changeset: fc031a7f74f2 Author: shade Date: 2018-11-29 19:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/fc031a7f74f2 Prefix Shenandoah tests with "Test" ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/gc/shenandoah/AllocHumongousFragment.java - test/hotspot/jtreg/gc/shenandoah/AllocIntArrays.java - test/hotspot/jtreg/gc/shenandoah/AllocObjectArrays.java - test/hotspot/jtreg/gc/shenandoah/AllocObjects.java - test/hotspot/jtreg/gc/shenandoah/EvilSyncBug.java - test/hotspot/jtreg/gc/shenandoah/HeapUncommit.java - test/hotspot/jtreg/gc/shenandoah/HumongousThreshold.java - test/hotspot/jtreg/gc/shenandoah/LargeObjectAlignment.java - test/hotspot/jtreg/gc/shenandoah/LotsOfCycles.java - test/hotspot/jtreg/gc/shenandoah/ParallelRefprocSanity.java - test/hotspot/jtreg/gc/shenandoah/RefprocSanity.java - test/hotspot/jtreg/gc/shenandoah/RetainObjects.java - test/hotspot/jtreg/gc/shenandoah/SieveObjects.java - test/hotspot/jtreg/gc/shenandoah/StringInternCleanup.java + test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java + test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java + test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java + test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java + test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java + test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java + test/hotspot/jtreg/gc/shenandoah/TestHumongousThreshold.java + test/hotspot/jtreg/gc/shenandoah/TestLargeObjectAlignment.java + test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java + test/hotspot/jtreg/gc/shenandoah/TestParallelRefprocSanity.java + test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java + test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java + test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java < test/hotspot/jtreg/gc/shenandoah/StringDedupStress.java + test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java + test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java + test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java - test/hotspot/jtreg/gc/shenandoah/VerifyJCStressTest.java - test/hotspot/jtreg/gc/shenandoah/WrongArrayMember.java - test/hotspot/jtreg/gc/shenandoah/compiler/C1ArrayCopyNPE.java - test/hotspot/jtreg/gc/shenandoah/compiler/C1VectorizedMismatch.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestC1ArrayCopyNPE.java + test/hotspot/jtreg/gc/shenandoah/compiler/TestC1VectorizedMismatch.java - test/hotspot/jtreg/gc/shenandoah/jni/PinnedGarbage.java + test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java - test/hotspot/jtreg/gc/shenandoah/jni/libPinnedGarbage.c + test/hotspot/jtreg/gc/shenandoah/jni/libTestPinnedGarbage.c - test/hotspot/jtreg/gc/shenandoah/mxbeans/ChurnNotifications.java - test/hotspot/jtreg/gc/shenandoah/mxbeans/PauseNotifications.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java + test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java - test/hotspot/jtreg/gc/shenandoah/options/AlwaysPreTouch.java + test/hotspot/jtreg/gc/shenandoah/options/TestAlwaysPreTouch.java From rkennke at redhat.com Thu Nov 29 20:41:27 2018 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 29 Nov 2018 21:41:27 +0100 Subject: RFR (round 3), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> Message-ID: <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> Hello all, Thanks so far for all the reviews and support! I forgot to update the 'round' yesterday. We are in round 3 now :-) Also, I fixed the numbering of my webrevs to match the review-round. ;-) Things we've changed today: - We moved shenandoah-specific code out of .ad files into our own .ad files under gc/shenandoah (in shenandoah-gc), how cool is that? This requires an addition in build machinery though, see make/hotspot/gensrc/GensrcAdlc.gmk (in shared-build). - Improved zero-disabling and build-code-simplification as suggested by Magnus and Per - Cleaned up some leftovers in C2 - Improved C2 loop opts code by introducing another APIs in BarrierSetC2. See the new APIs in shared-gc under BarrierSetC2.hpp. - I don't see where it makes sense to put INCLUDE_SHENANDOAHGC guards now. - We would all very much prefer to keep ShenandoahXYZNode names, as noted earlier. This stuff is Shenandoah-specific, so let's just call it that. - Rehashed Shenandoah tests (formatting, naming, directory layout, etc) - Rebased on jdk-12+22 - Question: let us know if you need separate RFE for the new BSC2 APIs? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/03/ Thanks, Roman > Alright, we fixed: > - The minor issues that Kim reported in shared-gc > - A lot of fixes in shared-tests according to Leonid's review > - Disabled SA heapdumping similar to ZGC as Per suggested > > Some notes: > Leonid: test/hotspot/jtreg/gc/TestFullGCCount.java was actually > correct. The @requires there means to exclude runs with both CMS and > ExplicitGCInvokesConcurrent at the same time, because that would be > (expectedly) failing. It can run CMS, default GC and any other GC just > fine. Adding the same clause for Shenandoah means the same, and filters > the combination (+UseShenandoahGC)+(+ExplicitGCInvokesConcurrent). I > made the condition a bit clearer by avoiding triple-negation. > > See: > http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008457.html > > Per: Disabling the SA part for heapdumping makes 2 tests fail: > - test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java > - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java > > we filter them for Shenandoah now. I'm wondering: how do you get past > those with ZGC? > > See: > http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008466.html > > (Note to Leonid and tests reviewers: I'll add those related filters in > next round). > > Vladimir: Roland integrated a bunch of changes to make loop* code look > better. I can tell that we're not done with C2 yet. Can you look over > the code and see what is ok, and especially what is not ok, so that we > can focus our efforts on the relevant parts? > > Updated set of webrevs: > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/ > > Thanks, > Roman > > >> Hi, >> >> This is the first round of changes for including Shenandoah GC into >> mainline. >> I divided the review into parts that roughly correspond to the mailing lists >> that would normally review it, and I divided it into 'shared' code >> changes and >> 'shenandoah' code changes (actually, mostly additions). The intend is to >> eventually >> push them as single 'combined' changeset, once reviewed. >> >> JEP: >> ? https://openjdk.java.net/jeps/189 >> Bug entry: >> >> ?https://bugs.openjdk.java.net/browse/JDK-8214259 >> >> Webrevs: >> ? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >> >> For those who want to see the full change, have a look at the >> shenandoah-complete >> >> directory, >> it contains the full combined webrev. Alternatively, there is the file >> shenandoah-master.patch >> , >> which is what I intend to commit (and which should be equivalent to the >> 'shenandoah-complete' webrev). >> >> Sections to review (at this point) are the following: >> ?*) shenandoah-gc >> >> ??? - Actual Shenandoah implementation, almost completely residing in >> gc/shenandoah >> >> ?*) shared-gc >> >> ??? - This is mostly boilerplate that is common to any GC >> ??? - referenceProcessor.cpp has a little change to make one assert not >> fail (next to CMS and G1) >> ??? - taskqueue.hpp has some small adjustments to enable subclassing >> >> ?*) shared-serviceability >> >> ??? - The usual code to support another GC >> >> ?*) shared-runtime >> >> ??? - A number of friends declarations to allow Shenandoah iterators to >> hook up with, >> ????? e.g. ClassLoaderData, CodeCache, etc >> ??? - Warning and disabling JFR LeakProfiler >> ??? - fieldDescriptor.hpp added is_stable() accessor, for use in >> Shenandoah C2 optimizations >> ??? - Locks initialization in mutexLocker.cpp as usual >> ??? - VM operations defines for Shenandoah's VM ops >> ??? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >> Shenandoah's logging >> ??? - The usual macros in macro.hpp >> >> ?*) shared-build >> >> ??? - Add shenandoah feature, enabled by default, as agreed with >> Vladimir K. beforehand >> ??? - Some flags for shenandoah-enabled compilation to get >> SUPPORT_BARRIER_ON_PRIMITIVES >> ????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >> Shenandoah's barriers >> ??? - --param inline-unit-growth=1000 settings for 2 shenandoah source >> files, which is >> ????? useful to get the whole marking loop inlined (observed significant >> regression if we >> ????? don't) >> >> ?*) shared-tests >> >> ??? - Test infrastructure to support Shenandoah >> ??? - Shenandoah test groups >> ??? - Exclude Shenandoah in various tests that can be run with selected GC >> ??? - Enable/add configure for Shenandoah for tests that make sense to >> run with it >> >> ?*) shenandoah-tests >> >> ??? - Shenandoah specific tests, most reside in gc/shenandoah subdirectory >> ??? - A couple of tests configurations have been added, e.g. >> TestGCBasherWithShenandoah.java >> >> I intentionally left out shared-compiler for now, because we have some >> work left to do >> there, but if you click around you'll find the patch anyway, in case you >> want to take >> a peek at it. >> >> We have regular builds on: >> ? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >> ? - {Windows} x {x86_64}, >> ? - {MacOS X} x {x86_64} >> >> This also routinely passes: >> ? - the new Shenandoah tests >> ? - jcstress with/without aggressive Shenandoah verification >> ? - specjvm2008 with/without aggressive Shenandoah verification >> >> >> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >> the credit for being the original inventor of Shenandoah, Aleksey >> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >> contributions, everybody else in Red Hat's OpenJDK team for testing, >> advice and support, my collegues in Oracle's GC, runtime and compiler >> teams for tirelessly helping with and reviewing all the GC interface and >> related changes, and of course the many early adopters for reporting >> bugs and success stories and feature requests: we wouldn't be here >> without any of you! >> >> Best regards, >> Roman >> > From shade at redhat.com Thu Nov 29 22:27:02 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 29 Nov 2018 23:27:02 +0100 Subject: sh/jdk fails with Serial Message-ID: <4c7505c3-b9be-a725-2e47-dfa335f2659f@redhat.com> Run latest sh/jdk with: $ linux-x86_64-server-fastdebug/images/jdk/bin/java \ -jar target/benchmarks.jar Serial -foe true -f 10 -wi 5 -i 5 -t 1 -w 1s -r 1s \ --jvmArgs '-Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC \ -XX:+UnlockDiagnosticVMOptions -XX:ShenandoahGCHeuristics=aggressive \ -XX:+ShenandoahVerifyOptoBarriers -XX:+ShenandoahOOMDuringEvacALot' It would fail with: # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp:3992), pid=6669, tid=6681 # assert(!uu->is_MergeMem()) failed: chain of MergeMems? # # JRE version: OpenJDK Runtime Environment (12.0) (fastdebug build 12-internal+0-adhoc.shade.shenandoah-jdk) # Java VM: OpenJDK 64-Bit Server VM (fastdebug 12-internal+0-adhoc.shade.shenandoah-jdk, mixed mode, sharing, tiered, compressed oops, shenandoah gc, linux-amd64) # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/shade/projects/redhat-benchmarks/core.6669) # # An error report file with more information is saved as: # /home/shade/projects/redhat-benchmarks/hs_err_pid6669.log # # Compiler replay data is saved as: # /home/shade/projects/redhat-benchmarks/replay_pid6669.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # Stack: [0x00007f6c841b0000,0x00007f6c842b1000], sp=0x00007f6c842a9580, free space=997k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x1a6e6b0] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x310 V [libjvm.so+0x1a6f50f] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f V [libjvm.so+0xb2d56a] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a V [libjvm.so+0x17f8f2b] MemoryGraphFixer::fix_mem(Node*, Node*, Node*, Node*, Node*, Unique_Node_List&) [clone .constprop.189]+0xf8b V [libjvm.so+0x17fdea9] ShenandoahWriteBarrierNode::pin_and_expand(PhaseIdealLoop*)+0x3129 V [libjvm.so+0x1744c6c] ShenandoahBarrierSetC2::optimize_loops(PhaseIdealLoop*, LoopOptsMode, VectorSet&, Node_Stack&, Node_List&) const+0x19c Bisect would show the cause is: The first bad revision is: changeset: 53594:2fff3e3b8015 user: roland date: Thu Nov 29 15:12:20 2018 +0100 summary: more gc interface loop opts Thanks From rkennke at redhat.com Fri Nov 30 09:09:14 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 10:09:14 +0100 Subject: RFR (round 3), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> Message-ID: <2b31b813-3178-4712-7a72-b3ec62394c71@redhat.com> Hi Per, Thanks for taking time to look at this! We will take care of all the issues you mentioned. Regarding the flags, I think they are useful as they are now. Shenandoah can be run in 'passive' mode, which doesn't involve any concurrent GC (iow, it runs kindof like Parallel GC). In this mode we can selectively turn on/off different kinds of barriers. This is useful: - for debugging. if we see a crash and we suspect it's caused by a certain type of barrier, we can turn on/off those barriers to narrow down - for performance experiments: passive w/o any barriers give a good baseline against which we can measure impact of types of barriers. Debugging may or may not be useful in develop mode (some bugs only show up in product build), performance work quite definitely is not useful in develop builds, and therefore I think it makes sense to keep them as diagnostic, because that is what they are: diagnostic flags. Makes sense? Thanks, Roman > On 11/29/18 9:41 PM, Roman Kennke wrote: > [...] >> http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/03/ > > Some comments (I didn't look at the compiler part): > > > src/hotspot/share/gc/shared/barrierSetConfig.hpp > src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp > ------------------------------------------------------- > Please insert the Shenandoah lines so that the lists remain > alphabetically sorted on GC names. > > > src/hotspot/share/gc/shared/gcCause.cpp > --------------------------------------- > Add the Shenandoah stuff after _dcmd_gc_run to match the order in the > header file. > > > src/hotspot/share/gc/shared/gcConfig.cpp > ---------------------------------------- > Please insert the Shenandoah lines so that the lists remain > alphabetically sorted on GC names. Only the last change is in the right > place now. > > > src/hotspot/share/gc/shared/gcTrace.hpp > --------------------------------------- > Please move this new class to a gc/shenandoah/shanandoahTrace.hpp file > (or something similar). > > > src/hotspot/share/gc/shared/gc_globals.hpp > src/hotspot/share/gc/shared/vmStructs_gc.hpp > ------------------------------------------ > Please insert the INCLUDE_SHENANDOAHGC/SHENANDOAHGC_ONLY stuff so that > the lists remain alphabetically sorted on GC names. > > > src/hotspot/share/utilities/globalDefinitions.hpp > ------------------------------------------------- > I think you want to call the new macro UINT64_FORMAT_X_W, to maintain > similarity to it's sibling UINT64_FORMAT_X. Also please adjust the > indentation/alignment so the list of macros remains nicely structured. > > > src/hotspot/share/utilities/macros.hpp > -------------------------------------- > Please insert the Shenandoah lines so that the lists remain > alphabetically sorted on GC names. > > > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java > > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java > > ------------------------------------------------------------------------------- > > Since the heap walking is now disabled, it looks like there's quite a > bit of code here that can be removed. > > > test/hotspot/jtreg/* > -------------------- > As Aleksey and I discussed in a separate thread. Using > 'vm.gc.Shenandoah' does not mean the same thing as 'vm.gc == > "Shenandoah"', and you typically want to use 'vm.gc == "Shenandoah"' in > most cases (I did't check all), like in tests that aren't Shenandoah > specific. > > > src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp > ------------------------------------------------------ > I don't think you want to expose the following flags. Setting any of > them to false will crash the VM, right? If you really want to keep them > I'd suggest you make them develop-flags. > > ?346?? diagnostic(bool, ShenandoahSATBBarrier, true, ???????? \ > ?347?????????? "Turn on/off SATB barriers in Shenandoah") ???????? \ > ?348 ???????? \ > ?349?? diagnostic(bool, ShenandoahKeepAliveBarrier, true, ???????? \ > ?350?????????? "Turn on/off keep alive barriers in Shenandoah") ???????? \ > ?351 ???????? \ > ?352?? diagnostic(bool, ShenandoahWriteBarrier, true, ???????? \ > ?353?????????? "Turn on/off write barriers in Shenandoah") ???????? \ > ?354 ???????? \ > ?355?? diagnostic(bool, ShenandoahReadBarrier, true, ???????? \ > ?356?????????? "Turn on/off read barriers in Shenandoah") ???????? \ > ?357 ???????? \ > ?358?? diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false, ???????? \ > ?359?????????? "Turn on/off enqueuing of oops for storeval barriers") > ???????? \ > ?360 ???????? \ > ?361?? diagnostic(bool, ShenandoahStoreValReadBarrier, true, ???????? \ > ?362?????????? "Turn on/off store val read barriers in Shenandoah") > ???????? \ > ?363 ???????? \ > ?364?? diagnostic(bool, ShenandoahCASBarrier, true, ???????? \ > ?365?????????? "Turn on/off CAS barriers in Shenandoah") ???????? \ > ?366 ???????? \ > ?367?? diagnostic(bool, ShenandoahAcmpBarrier, true, ???????? \ > ?368?????????? "Turn on/off acmp barriers in Shenandoah") ???????? \ > ?369 ???????? \ > ?370?? diagnostic(bool, ShenandoahCloneBarrier, true, ???????? \ > ?371?????????? "Turn on/off clone barriers in Shenandoah") ???????? \ > > > cheers, > Per From shade at redhat.com Fri Nov 30 09:12:46 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 10:12:46 +0100 Subject: RFR: Rename UINT64_FORMAT_HEX_W to UINT64_FORMAT_X_W Message-ID: <0d50156c-3d46-32ce-d554-cbe41cfc4104@redhat.com> Following up on more Shenandoah reviews, make our new macro symmetrical to UINT64_FORMAT_X: diff -r 2fff3e3b8015 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Nov 29 15:12:20 2018 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Fri Nov 30 10:09:40 2018 +0100 @@ -435,11 +435,11 @@ st->print("|T " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_tlab_allocs()), proper_unit_for_byte_size(get_tlab_allocs())); st->print("|G " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_gclab_allocs()), proper_unit_for_byte_size(get_gclab_allocs())); st->print("|S " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_shared_allocs()), proper_unit_for_byte_size(get_shared_allocs())); st->print("|L " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_live_data_bytes()), proper_unit_for_byte_size(get_live_data_bytes())); st->print("|CP " SIZE_FORMAT_W(3), _critical_pins); - st->print("|SN " UINT64_FORMAT_HEX_W(12) ", " UINT64_FORMAT_HEX_W(8) ", " UINT64_FORMAT_HEX_W(8) ", " UINT64_FORMAT_HEX_W(8), + st->print("|SN " UINT64_FORMAT_X_W(12) ", " UINT64_FORMAT_X_W(8) ", " UINT64_FORMAT_X_W(8) ", " UINT64_FORMAT_X_W(8), seqnum_first_alloc_mutator(), seqnum_last_alloc_mutator(), seqnum_first_alloc_gc(), seqnum_last_alloc_gc()); st->cr(); } diff -r 2fff3e3b8015 src/hotspot/share/utilities/globalDefinitions.hpp --- a/src/hotspot/share/utilities/globalDefinitions.hpp Thu Nov 29 15:12:20 2018 +0100 +++ b/src/hotspot/share/utilities/globalDefinitions.hpp Fri Nov 30 10:09:40 2018 +0100 @@ -65,13 +65,13 @@ // Format 64-bit quantities. #define INT64_FORMAT "%" PRId64 #define UINT64_FORMAT "%" PRIu64 #define UINT64_FORMAT_X "%" PRIx64 -#define UINT64_FORMAT_HEX_W(width) "%" #width PRIx64 #define INT64_FORMAT_W(width) "%" #width PRId64 #define UINT64_FORMAT_W(width) "%" #width PRIu64 +#define UINT64_FORMAT_X_W(width) "%" #width PRIx64 #define PTR64_FORMAT "0x%016" PRIx64 // Format jlong, if necessary #ifndef JLONG_FORMAT Testing: tier1_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri Nov 30 09:17:18 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 10:17:18 +0100 Subject: RFR: Rename UINT64_FORMAT_HEX_W to UINT64_FORMAT_X_W In-Reply-To: <0d50156c-3d46-32ce-d554-cbe41cfc4104@redhat.com> References: <0d50156c-3d46-32ce-d554-cbe41cfc4104@redhat.com> Message-ID: <51a56880-9a7a-1b77-79c7-62cb0b6ae0fc@redhat.com> Ok. Thanks! Roman > Following up on more Shenandoah reviews, make our new macro symmetrical to UINT64_FORMAT_X: > > diff -r 2fff3e3b8015 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Thu Nov 29 15:12:20 2018 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Fri Nov 30 10:09:40 2018 +0100 > @@ -435,11 +435,11 @@ > st->print("|T " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_tlab_allocs()), > proper_unit_for_byte_size(get_tlab_allocs())); > st->print("|G " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_gclab_allocs()), > proper_unit_for_byte_size(get_gclab_allocs())); > st->print("|S " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_shared_allocs()), > proper_unit_for_byte_size(get_shared_allocs())); > st->print("|L " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_live_data_bytes()), > proper_unit_for_byte_size(get_live_data_bytes())); > st->print("|CP " SIZE_FORMAT_W(3), _critical_pins); > - st->print("|SN " UINT64_FORMAT_HEX_W(12) ", " UINT64_FORMAT_HEX_W(8) ", " UINT64_FORMAT_HEX_W(8) > ", " UINT64_FORMAT_HEX_W(8), > + st->print("|SN " UINT64_FORMAT_X_W(12) ", " UINT64_FORMAT_X_W(8) ", " UINT64_FORMAT_X_W(8) ", " > UINT64_FORMAT_X_W(8), > seqnum_first_alloc_mutator(), seqnum_last_alloc_mutator(), > seqnum_first_alloc_gc(), seqnum_last_alloc_gc()); > st->cr(); > } > > diff -r 2fff3e3b8015 src/hotspot/share/utilities/globalDefinitions.hpp > --- a/src/hotspot/share/utilities/globalDefinitions.hpp Thu Nov 29 15:12:20 2018 +0100 > +++ b/src/hotspot/share/utilities/globalDefinitions.hpp Fri Nov 30 10:09:40 2018 +0100 > @@ -65,13 +65,13 @@ > > // Format 64-bit quantities. > #define INT64_FORMAT "%" PRId64 > #define UINT64_FORMAT "%" PRIu64 > #define UINT64_FORMAT_X "%" PRIx64 > -#define UINT64_FORMAT_HEX_W(width) "%" #width PRIx64 > #define INT64_FORMAT_W(width) "%" #width PRId64 > #define UINT64_FORMAT_W(width) "%" #width PRIu64 > +#define UINT64_FORMAT_X_W(width) "%" #width PRIx64 > > #define PTR64_FORMAT "0x%016" PRIx64 > > // Format jlong, if necessary > #ifndef JLONG_FORMAT > > > Testing: tier1_gc_shenandoah > > Thanks, > -Aleksey > From rwestrel at redhat.com Fri Nov 30 09:29:49 2018 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 30 Nov 2018 10:29:49 +0100 Subject: sh/jdk fails with Serial In-Reply-To: <4c7505c3-b9be-a725-2e47-dfa335f2659f@redhat.com> References: <4c7505c3-b9be-a725-2e47-dfa335f2659f@redhat.com> Message-ID: <87wooukj5e.fsf@redhat.com> That fixes it: http://cr.openjdk.java.net/~roland/shenandoah/sunk-mergemem-chain/webrev.00/ Ok to push? Roland. From shade at redhat.com Fri Nov 30 09:31:49 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 10:31:49 +0100 Subject: sh/jdk fails with Serial In-Reply-To: <87wooukj5e.fsf@redhat.com> References: <4c7505c3-b9be-a725-2e47-dfa335f2659f@redhat.com> <87wooukj5e.fsf@redhat.com> Message-ID: On 11/30/18 10:29 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/shenandoah/sunk-mergemem-chain/webrev.00/ Yes, please do it. -Aleksey From shade at redhat.com Fri Nov 30 09:31:08 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 30 Nov 2018 09:31:08 +0000 Subject: hg: shenandoah/jdk: Rename UINT64_FORMAT_HEX_W to UINT64_FORMAT_X_W Message-ID: <201811300931.wAU9V8fr021566@aojmv0008.oracle.com> Changeset: 81c74d0d31b8 Author: shade Date: 2018-11-30 10:08 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/81c74d0d31b8 Rename UINT64_FORMAT_HEX_W to UINT64_FORMAT_X_W ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp From shade at redhat.com Fri Nov 30 09:43:53 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 10:43:53 +0100 Subject: RFR: Put Shenandoah configs/macros in alphabetical order Message-ID: <3c5394cb-2bb7-a2a4-8048-ec050d618181@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/macro-order/webrev.01/ This covers another part of upstreaming reviews. Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri Nov 30 09:47:45 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 10:47:45 +0100 Subject: RFR: Put Shenandoah configs/macros in alphabetical order In-Reply-To: <3c5394cb-2bb7-a2a4-8048-ec050d618181@redhat.com> References: <3c5394cb-2bb7-a2a4-8048-ec050d618181@redhat.com> Message-ID: <8AE553D7-8559-4E07-8AC9-23945D11659B@redhat.com> Yes, please! Thanks! Am 30. November 2018 10:43:53 MEZ schrieb Aleksey Shipilev : >http://cr.openjdk.java.net/~shade/shenandoah/macro-order/webrev.01/ > >This covers another part of upstreaming reviews. > >Testing: hotspot_gc_shenandoah > >Thanks, >-Aleksey From rkennke at redhat.com Fri Nov 30 09:55:26 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 10:55:26 +0100 Subject: RFR (round 3), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> <2b31b813-3178-4712-7a72-b3ec62394c71@redhat.com> Message-ID: <13c3fa3b-dae3-0042-ce7a-27fb7b4ee4ca@redhat.com> >> Hi Per, >> >> Thanks for taking time to look at this! >> >> We will take care of all the issues you mentioned. >> >> Regarding the flags, I think they are useful as they are now. Shenandoah >> can be run in 'passive' mode, which doesn't involve any concurrent GC >> (iow, it runs kindof like Parallel GC). In this mode we can selectively >> turn on/off different kinds of barriers. This is useful: >> - for debugging. if we see a crash and we suspect it's caused by a >> certain type of barrier, we can turn on/off those barriers to narrow down >> - for performance experiments: passive w/o any barriers give a good >> baseline against which we can measure impact of types of barriers. >> >> Debugging may or may not be useful in develop mode (some bugs only show >> up in product build), performance work quite definitely is not useful in >> develop builds, and therefore I think it makes sense to keep them as >> diagnostic, because that is what they are: diagnostic flags. >> >> Makes sense? > > I can see how these flags can be useful. But I think you might be in > violating-spec-territory here, if you're allowing users to turn on flags > that crash the VM. If they are safe to use in 'passive' mode, then I > think there should be code in shenandoahArguments.cpp that > rejects/corrects flag combinations that are unstable. Let us see if we can do that. If you think this violates the spec, then please point to the part that says diagnostic (!!) options must pass the TCK and/or not crash the JVM? I mean, it's called diagnostic for a reason. It seems counter-useful to bury diagnostic flags that we would be using for diagnostics. > I think the correct way to think about this is: We should pass the TCK, > regardless of which features are enabled/disabled (unless the VM barfs > at start-up because the chosen combination of flags are incompatible or > isn't supported in the current environment, etc). > > CC:ing Mikael here, who might be able to shed some light on what's ok > and not ok here. Yeah, again, where is it said that diagnostic flags must even pass the TCK? That is totally new to me. Thanks, Roman From rwestrel at redhat.com Fri Nov 30 10:16:58 2018 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Fri, 30 Nov 2018 10:16:58 +0000 Subject: hg: shenandoah/jdk: make sure chains of MergeMem nodes are optimized Message-ID: <201811301016.wAUAGwGe010064@aojmv0008.oracle.com> Changeset: 0548cd0b253c Author: roland Date: 2018-11-30 10:26 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0548cd0b253c make sure chains of MergeMem nodes are optimized ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp From shade at redhat.com Fri Nov 30 10:34:39 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 30 Nov 2018 10:34:39 +0000 Subject: hg: shenandoah/jdk: Put Shenandoah configs/macros in alphabetical order Message-ID: <201811301034.wAUAYeiH016991@aojmv0008.oracle.com> Changeset: 0a8beb8257b0 Author: shade Date: 2018-11-30 11:27 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0a8beb8257b0 Put Shenandoah configs/macros in alphabetical order ! src/hotspot/share/gc/shared/barrierSetConfig.hpp ! src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcConfig.cpp ! src/hotspot/share/utilities/macros.hpp From shade at redhat.com Fri Nov 30 10:56:10 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 11:56:10 +0100 Subject: RFR: Move ShenandoahGCTracer to gc/shenandoah Message-ID: <7d63b360-071b-6851-a7e0-a05694b53e1d@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/move-gctracer/webrev.01/ Testing: tier1_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri Nov 30 10:59:27 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 11:59:27 +0100 Subject: RFR: Move ShenandoahGCTracer to gc/shenandoah In-Reply-To: <7d63b360-071b-6851-a7e0-a05694b53e1d@redhat.com> References: <7d63b360-071b-6851-a7e0-a05694b53e1d@redhat.com> Message-ID: <0984227f-22c8-9a0e-c026-d035252fab7b@redhat.com> Looks good! Thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/move-gctracer/webrev.01/ > > Testing: tier1_gc_shenandoah > > Thanks, > -Aleksey > From shade at redhat.com Fri Nov 30 11:09:36 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 30 Nov 2018 11:09:36 +0000 Subject: hg: shenandoah/jdk: Move ShenandoahGCTracer to gc/shenandoah Message-ID: <201811301109.wAUB9axc003665@aojmv0008.oracle.com> Changeset: 5c51efb0b530 Author: shade Date: 2018-11-30 11:53 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/5c51efb0b530 Move ShenandoahGCTracer to gc/shenandoah ! src/hotspot/share/gc/shared/gcTrace.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp + src/hotspot/share/gc/shenandoah/shenandoahTracer.hpp From rkennke at redhat.com Fri Nov 30 11:45:01 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 12:45:01 +0100 Subject: RFR: Trim unused code from Shenandoah SA Message-ID: There's quite a lot of code that can be trimmed out of Shenandoah SA code, now that the broken heap walking is out. Testing: manual jstack test, hotspot_gc_shenandoah (ongoing) http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.00/ Ok? Roman From shade at redhat.com Fri Nov 30 11:56:20 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 12:56:20 +0100 Subject: RFR: Trim unused code from Shenandoah SA In-Reply-To: References: Message-ID: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> On 11/30/18 12:45 PM, Roman Kennke wrote: > There's quite a lot of code that can be trimmed out of Shenandoah SA > code, now that the broken heap walking is out. > > Testing: manual jstack test, hotspot_gc_shenandoah (ongoing) > > http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.00/ Looks okay, *but* field renames should go in separately. Look at it this way: we have to have the possibility to plainly revert all these changesets when heap iteration is back in order. Doing so with your current patch would revert the field renames too. -Aleksey From rkennke at redhat.com Fri Nov 30 12:24:42 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 13:24:42 +0100 Subject: RFR: Trim unused code from Shenandoah SA In-Reply-To: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> References: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> Message-ID: <173764fb-67d5-4265-8e0c-990176f64f35@redhat.com> > On 11/30/18 12:45 PM, Roman Kennke wrote: >> There's quite a lot of code that can be trimmed out of Shenandoah SA >> code, now that the broken heap walking is out. >> >> Testing: manual jstack test, hotspot_gc_shenandoah (ongoing) >> >> http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.00/ > > Looks okay, *but* field renames should go in separately. > > Look at it this way: we have to have the possibility to plainly revert all these changesets when > heap iteration is back in order. Doing so with your current patch would revert the field renames too. Right. Also, we can get rid of corresponding stuff in vmStructs too. Hold on. Roman From rkennke at redhat.com Fri Nov 30 12:30:23 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 13:30:23 +0100 Subject: RFR: Rename fields in (SA) ShenandoahHeap.java to omit 'Regions' and 'Field' suffix Message-ID: <3387e047-37b9-649f-0836-c0cadc6c778a@redhat.com> ... makes field naming consistent and less misleading (it is *not* the number of used vs. committed regions). Testing: tier1_gc_shenandoah (should be a compile-time-issue only) Roman From shade at redhat.com Fri Nov 30 12:34:58 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 13:34:58 +0100 Subject: RFR: Rename fields in (SA) ShenandoahHeap.java to omit 'Regions' and 'Field' suffix In-Reply-To: <3387e047-37b9-649f-0836-c0cadc6c778a@redhat.com> References: <3387e047-37b9-649f-0836-c0cadc6c778a@redhat.com> Message-ID: <1a9b5a11-a126-2ab7-4bf5-9874111c8f6d@redhat.com> On 11/30/18 1:30 PM, Roman Kennke wrote: > ... makes field naming consistent and less misleading (it is *not* the > number of used vs. committed regions). > > Testing: tier1_gc_shenandoah (should be a compile-time-issue only) There's no webrev in this RFR, but I believe it is a clean dissect from the previous RFR? -Aleksey From rkennke at redhat.com Fri Nov 30 12:39:24 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 13:39:24 +0100 Subject: RFR: Rename fields in (SA) ShenandoahHeap.java to omit 'Regions' and 'Field' suffix In-Reply-To: <1a9b5a11-a126-2ab7-4bf5-9874111c8f6d@redhat.com> References: <3387e047-37b9-649f-0836-c0cadc6c778a@redhat.com> <1a9b5a11-a126-2ab7-4bf5-9874111c8f6d@redhat.com> Message-ID: <6f14d1e5-458c-1b4a-b686-94ff64f164c6@redhat.com> > On 11/30/18 1:30 PM, Roman Kennke wrote: >> ... makes field naming consistent and less misleading (it is *not* the >> number of used vs. committed regions). >> >> Testing: tier1_gc_shenandoah (should be a compile-time-issue only) > > There's no webrev in this RFR, but I believe it is a clean dissect from the previous RFR? Oops: http://cr.openjdk.java.net/~rkennke/rename-sa-fields/webrev.00/ Roman From shade at redhat.com Fri Nov 30 12:40:07 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 13:40:07 +0100 Subject: RFR: Rename fields in (SA) ShenandoahHeap.java to omit 'Regions' and 'Field' suffix In-Reply-To: <6f14d1e5-458c-1b4a-b686-94ff64f164c6@redhat.com> References: <3387e047-37b9-649f-0836-c0cadc6c778a@redhat.com> <1a9b5a11-a126-2ab7-4bf5-9874111c8f6d@redhat.com> <6f14d1e5-458c-1b4a-b686-94ff64f164c6@redhat.com> Message-ID: <43e939b1-493e-ccba-4953-faa47b92f945@redhat.com> On 11/30/18 1:39 PM, Roman Kennke wrote: >> On 11/30/18 1:30 PM, Roman Kennke wrote: >>> ... makes field naming consistent and less misleading (it is *not* the >>> number of used vs. committed regions). >>> >>> Testing: tier1_gc_shenandoah (should be a compile-time-issue only) >> >> There's no webrev in this RFR, but I believe it is a clean dissect from the previous RFR? > > Oops: > http://cr.openjdk.java.net/~rkennke/rename-sa-fields/webrev.00/ Looks good! -Aleksey From rkennke at redhat.com Fri Nov 30 12:43:41 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 13:43:41 +0100 Subject: RFR: Trim unused code from Shenandoah SA In-Reply-To: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> References: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> Message-ID: >> There's quite a lot of code that can be trimmed out of Shenandoah SA >> code, now that the broken heap walking is out. >> >> Testing: manual jstack test, hotspot_gc_shenandoah (ongoing) >> >> http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.00/ > > Looks okay, *but* field renames should go in separately. > > Look at it this way: we have to have the possibility to plainly revert all these changesets when > heap iteration is back in order. Doing so with your current patch would revert the field renames too. I don't think the heap walking code can be done like it is now, but instead needs a clean object walking interface like using CollectedHeap::object_iterate() or so, but anyway, here's the patch, without the renames, but also removing the corresponding vmStructs stuff: http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.01/ Notice that I kept VM_INT_CONSTANTS_SHENANDOAH, otherwise we'd have to remove the corresponding entry in vmStructs_gc.hpp, but I'd rather keep it in case we need it in the future. Testing: jstack and hotspot_gc_shenandoah Ok? From shade at redhat.com Fri Nov 30 13:11:02 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 14:11:02 +0100 Subject: RFR: Trim unused code from Shenandoah SA In-Reply-To: References: <3df95a6b-2dae-2034-9bd2-f977a37f93aa@redhat.com> Message-ID: <687011f2-eb64-34ad-56e8-f131459828c8@redhat.com> On 11/30/18 1:43 PM, Roman Kennke wrote: >>> There's quite a lot of code that can be trimmed out of Shenandoah SA >>> code, now that the broken heap walking is out. >>> >>> Testing: manual jstack test, hotspot_gc_shenandoah (ongoing) >>> >>> http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.00/ >> >> Looks okay, *but* field renames should go in separately. >> >> Look at it this way: we have to have the possibility to plainly revert all these changesets when >> heap iteration is back in order. Doing so with your current patch would revert the field renames too. > > I don't think the heap walking code can be done like it is now, but > instead needs a clean object walking interface like using > CollectedHeap::object_iterate() or so, but anyway, here's the patch, > without the renames, but also removing the corresponding vmStructs stuff: > > http://cr.openjdk.java.net/~rkennke/trim-shenandoah-sa/webrev.01/ OK. -Aleksey From roman at kennke.org Fri Nov 30 13:20:18 2018 From: roman at kennke.org (roman at kennke.org) Date: Fri, 30 Nov 2018 13:20:18 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811301320.wAUDKJon002637@aojmv0008.oracle.com> Changeset: 3eeceb4e24c3 Author: rkennke Date: 2018-11-30 14:20 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3eeceb4e24c3 Rename fields in (SA) ShenandoahHeap.java to omit 'Regions' and 'Field' suffix ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java Changeset: 03f537b7be17 Author: rkennke Date: 2018-11-30 14:20 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/03f537b7be17 Trim unused code from Shenandoah SA ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java From shade at redhat.com Fri Nov 30 14:58:03 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 15:58:03 +0100 Subject: RFR: Test @requires should check what GC is enabled at runtime Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/ This rewires our @requires handling again! @requires is messy, and new filtering code is based on understanding that: a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected" b) "vm.gc == null" says "...and we are running with default GC" c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts" ...which makes all tests that set -XX:+UseShenandoahGC gain the filter like: @requires vm.gc.Shenandoah & (vm.gc == "null" | vm.gc == "Shenandoah") Testing: hotspot_gc_shenandoah with: - -shenandoahgc build - +shenandoahgc build - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseShenandoahGC" - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseParallelGC" Thanks, -Aleksey From shade at redhat.com Fri Nov 30 14:58:34 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 15:58:34 +0100 Subject: sh/jdk fails with Serial In-Reply-To: References: <4c7505c3-b9be-a725-2e47-dfa335f2659f@redhat.com> <87wooukj5e.fsf@redhat.com> Message-ID: <5894c975-f590-bc41-5668-7f5511f32eed@redhat.com> On 11/30/18 10:31 AM, Aleksey Shipilev wrote: > On 11/30/18 10:29 AM, Roland Westrelin wrote: >> http://cr.openjdk.java.net/~roland/shenandoah/sunk-mergemem-chain/webrev.00/ > > Yes, please do it. Testing seems happy with this patch in. -Aleksey From rkennke at redhat.com Fri Nov 30 15:03:23 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 16:03:23 +0100 Subject: RFR: Test @requires should check what GC is enabled at runtime In-Reply-To: References: Message-ID: Hi Aleksey, > http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/ > > This rewires our @requires handling again! @requires is messy, and new filtering code is based on > understanding that: > a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected" > b) "vm.gc == null" says "...and we are running with default GC" > c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts" I assume that what you say is true :-) But... doesn't this mean that for our own tests, under gc/shenandoah, it is ok & sufficient to have: @requires vm.gc.Shenandoah ? Because if it's available in build, we can run the test, and then we set -XX:+UseShenandoahGC ? The other two seem useful only if GC is selected & set by harness. What am I missing? Roman > ...which makes all tests that set -XX:+UseShenandoahGC gain the filter like: > @requires vm.gc.Shenandoah & (vm.gc == "null" | vm.gc == "Shenandoah") > > Testing: hotspot_gc_shenandoah with: > - -shenandoahgc build > - +shenandoahgc build > - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseShenandoahGC" > - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseParallelGC" > > Thanks, > -Aleksey > From rkennke at redhat.com Fri Nov 30 15:17:14 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 16:17:14 +0100 Subject: RFR: Test @requires should check what GC is enabled at runtime In-Reply-To: References: Message-ID: <54a3191f-db47-62b0-6c7e-882a946e708c@redhat.com> > http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/ > > This rewires our @requires handling again! @requires is messy, and new filtering code is based on > understanding that: > a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected" > b) "vm.gc == null" says "...and we are running with default GC" > c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts" > > ...which makes all tests that set -XX:+UseShenandoahGC gain the filter like: > @requires vm.gc.Shenandoah & (vm.gc == "null" | vm.gc == "Shenandoah") > > Testing: hotspot_gc_shenandoah with: > - -shenandoahgc build > - +shenandoahgc build > - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseShenandoahGC" > - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseParallelGC" I needed to think again. So what you proposed selects the test if: - Shenandoah is actually available (vm.gc.Shenandoah) *and* one of: - harness did not force a GC - harness forced ShenandoahGC which seems good. Go! Thanks! Roman From shade at redhat.com Fri Nov 30 16:12:13 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 17:12:13 +0100 Subject: RFR: Test @requires should check what GC is enabled at runtime In-Reply-To: References: Message-ID: On 11/30/18 4:03 PM, Roman Kennke wrote: > Hi Aleksey, > >> http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/ >> >> This rewires our @requires handling again! @requires is messy, and new filtering code is based on >> understanding that: >> a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected" >> b) "vm.gc == null" says "...and we are running with default GC" >> c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts" > > I assume that what you say is true :-) But... > > doesn't this mean that for our own tests, under gc/shenandoah, it is ok > & sufficient to have: @requires vm.gc.Shenandoah ? Because if it's > available in build, we can run the test, and then we set > -XX:+UseShenandoahGC ? Wait a minute. I misunderstood the semantics of vm.gc.Shenandoah. It is actually "true" if -XX:+UseShenandoahGC can be set: it is supported by build, and no other GC is explicitly selected. So, for the tests that explicitly set -XX:+UseShenandoahGC we have to put @requires vm.gc.Shenandoah, and for other tests that _can_ be run with Shenandoah by external option, we should use @requires vm.gc != "Shenandoah". This patch does so: http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.02 Still passes the same battery of tests. -Aleksey From rkennke at redhat.com Fri Nov 30 16:14:47 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 17:14:47 +0100 Subject: RFR: Test @requires should check what GC is enabled at runtime In-Reply-To: References: Message-ID: Ok Am 30.11.18 um 17:12 schrieb Aleksey Shipilev: > On 11/30/18 4:03 PM, Roman Kennke wrote: >> Hi Aleksey, >> >>> http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/ >>> >>> This rewires our @requires handling again! @requires is messy, and new filtering code is based on >>> understanding that: >>> a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected" >>> b) "vm.gc == null" says "...and we are running with default GC" >>> c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts" >> >> I assume that what you say is true :-) But... >> >> doesn't this mean that for our own tests, under gc/shenandoah, it is ok >> & sufficient to have: @requires vm.gc.Shenandoah ? Because if it's >> available in build, we can run the test, and then we set >> -XX:+UseShenandoahGC ? > > Wait a minute. I misunderstood the semantics of vm.gc.Shenandoah. It is actually "true" if > -XX:+UseShenandoahGC can be set: it is supported by build, and no other GC is explicitly selected. > So, for the tests that explicitly set -XX:+UseShenandoahGC we have to put @requires > vm.gc.Shenandoah, and for other tests that _can_ be run with Shenandoah by external option, we > should use @requires vm.gc != "Shenandoah". > > This patch does so: > http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.02 > > Still passes the same battery of tests. > > -Aleksey > From shade at redhat.com Fri Nov 30 16:17:19 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 30 Nov 2018 16:17:19 +0000 Subject: hg: shenandoah/jdk: Test @requires should check what GC is enabled at runtime Message-ID: <201811301617.wAUGHKux000690@aojmv0008.oracle.com> Changeset: 3685cdb424de Author: shade Date: 2018-11-30 17:09 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/3685cdb424de Test @requires should check what GC is enabled at runtime ! test/hotspot/jtreg/gc/TestFullGCCount.java ! test/hotspot/jtreg/gc/shenandoah/options/TestEnabled.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java From shade at redhat.com Fri Nov 30 18:01:57 2018 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 30 Nov 2018 19:01:57 +0100 Subject: RFR: Fail early when critical barriers are disabled Message-ID: <848b0873-8fda-3f57-d2be-8f5ab7021288@redhat.com> http://cr.openjdk.java.net/~shade/shenandoah/check-barriers/webrev.01/ This are actually two changes. *) Separate "passive" heuristics from "adaptive", by subclassing the root Heuristics, and implementing cset selection for degenerated-gc path. This path is actually more efficient than the one in adaptive, because it can capitalize on the available free space after immediate garbage reclamation. The motivation to have the change in this bunch is to allow "passive" to check barriers on its own. *) Fail early when critical barriers are disabled, by letting heuristics check the configuration before proceeding. This allows checking for normal-concurrent, traversal, and passive operation modes. This makes diagnostic barrier flags much safer to use. New test validates the behavior. Testing: hotspot_gc_shenandoah, adhoc passive benchmarks Thanks, -Aleksey From rkennke at redhat.com Fri Nov 30 18:31:09 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 19:31:09 +0100 Subject: RFR: Fail early when critical barriers are disabled In-Reply-To: <848b0873-8fda-3f57-d2be-8f5ab7021288@redhat.com> References: <848b0873-8fda-3f57-d2be-8f5ab7021288@redhat.com> Message-ID: Great! Go! Am 30. November 2018 19:01:57 MEZ schrieb Aleksey Shipilev : >http://cr.openjdk.java.net/~shade/shenandoah/check-barriers/webrev.01/ > >This are actually two changes. > >*) Separate "passive" heuristics from "adaptive", by subclassing the >root Heuristics, and >implementing cset selection for degenerated-gc path. This path is >actually more efficient than the >one in adaptive, because it can capitalize on the available free space >after immediate garbage >reclamation. The motivation to have the change in this bunch is to >allow "passive" to check barriers >on its own. > >*) Fail early when critical barriers are disabled, by letting >heuristics check the configuration >before proceeding. This allows checking for normal-concurrent, >traversal, and passive operation >modes. This makes diagnostic barrier flags much safer to use. New test >validates the behavior. > >Testing: hotspot_gc_shenandoah, adhoc passive benchmarks > >Thanks, >-Aleksey From rkennke at redhat.com Fri Nov 30 19:28:47 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 20:28:47 +0100 Subject: RFR (round 3), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <5eee86f0-84a8-8ba1-bb77-c61680f4a6a1@oracle.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> <2b31b813-3178-4712-7a72-b3ec62394c71@redhat.com> <13c3fa3b-dae3-0042-ce7a-27fb7b4ee4ca@redhat.com> <5eee86f0-84a8-8ba1-bb77-c61680f4a6a1@oracle.com> Message-ID: Yes, Aleksey just implemented it. It will appear in round 4 in a bit. Thanks, Roman Am 30. November 2018 20:25:35 MEZ schrieb Vladimir Kozlov : >Can you do simple verification of flags and exit VM gracefully with >error message? > >I think it should be fine. Crashing VM (unintentionally) is definitely >not acceptable. > >Thanks, >Vladimir > >On 11/30/18 1:55 AM, Roman Kennke wrote: >>>> Hi Per, >>>> >>>> Thanks for taking time to look at this! >>>> >>>> We will take care of all the issues you mentioned. >>>> >>>> Regarding the flags, I think they are useful as they are now. >Shenandoah >>>> can be run in 'passive' mode, which doesn't involve any concurrent >GC >>>> (iow, it runs kindof like Parallel GC). In this mode we can >selectively >>>> turn on/off different kinds of barriers. This is useful: >>>> - for debugging. if we see a crash and we suspect it's caused by a >>>> certain type of barrier, we can turn on/off those barriers to >narrow down >>>> - for performance experiments: passive w/o any barriers give a good >>>> baseline against which we can measure impact of types of barriers. >>>> >>>> Debugging may or may not be useful in develop mode (some bugs only >show >>>> up in product build), performance work quite definitely is not >useful in >>>> develop builds, and therefore I think it makes sense to keep them >as >>>> diagnostic, because that is what they are: diagnostic flags. >>>> >>>> Makes sense? >>> >>> I can see how these flags can be useful. But I think you might be in >>> violating-spec-territory here, if you're allowing users to turn on >flags >>> that crash the VM. If they are safe to use in 'passive' mode, then I >>> think there should be code in shenandoahArguments.cpp that >>> rejects/corrects flag combinations that are unstable. >> >> Let us see if we can do that. >> >> If you think this violates the spec, then please point to the part >that >> says diagnostic (!!) options must pass the TCK and/or not crash the >JVM? >> I mean, it's called diagnostic for a reason. It seems counter-useful >to >> bury diagnostic flags that we would be using for diagnostics. >> >>> I think the correct way to think about this is: We should pass the >TCK, >>> regardless of which features are enabled/disabled (unless the VM >barfs >>> at start-up because the chosen combination of flags are incompatible >or >>> isn't supported in the current environment, etc). >>> >>> CC:ing Mikael here, who might be able to shed some light on what's >ok >>> and not ok here. >> >> Yeah, again, where is it said that diagnostic flags must even pass >the >> TCK? That is totally new to me. >> >> Thanks, >> Roman >> From shade at redhat.com Fri Nov 30 19:38:23 2018 From: shade at redhat.com (shade at redhat.com) Date: Fri, 30 Nov 2018 19:38:23 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201811301938.wAUJcNbY015473@aojmv0008.oracle.com> Changeset: 50a327013d7a Author: shade Date: 2018-11-30 18:58 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/50a327013d7a Separate "passive" heuristics from "adaptive" ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp Changeset: 02ceca8573e0 Author: shade Date: 2018-11-30 18:58 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/02ceca8573e0 Fail early when critical barriers are disabled ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp + test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java From rkennke at redhat.com Fri Nov 30 21:00:33 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 22:00:33 +0100 Subject: RFR (round 4), JDK-8214259: Implementation: JEP 189: Shenandoah: A Low-Pause Garbage Collector In-Reply-To: <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> References: <9ff4171e-9827-8710-554a-b84da309277a@redhat.com> <914ae8db-c7d6-4d14-541b-f49d670d2ffb@redhat.com> <0f7aa868-5862-47da-9d1c-98ee70036e72@redhat.com> Message-ID: <02c58732-e421-6eb2-d21f-50e56b5d665f@redhat.com> Hi all, here comes round 4 of Shenandoah upstreaming review: This includes fixes for the issues that Per brought up: - Verify and gracefully reject dangerous flags combinations that disables required barriers - Revisited @requires filters in tests - Trim unused code from Shenandoah's SA impl - Move ShenandoahGCTracer to gc/shenandoah - Fix ordering of GC names in various files - Rename UINT64_FORMAT_HEX_W to UINT64_FORMAT_X_W http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/04/ Thanks everybody for taking time to review this! Roman > Hello all, > > Thanks so far for all the reviews and support! > > I forgot to update the 'round' yesterday. We are in round 3 now :-) > Also, I fixed the numbering of my webrevs to match the review-round. ;-) > > Things we've changed today: > - We moved shenandoah-specific code out of .ad files into our own .ad > files under gc/shenandoah (in shenandoah-gc), how cool is that? This > requires an addition in build machinery though, see > make/hotspot/gensrc/GensrcAdlc.gmk (in shared-build). > - Improved zero-disabling and build-code-simplification as suggested by > Magnus and Per > - Cleaned up some leftovers in C2 > - Improved C2 loop opts code by introducing another APIs in > BarrierSetC2. See the new APIs in shared-gc under BarrierSetC2.hpp. > - I don't see where it makes sense to put INCLUDE_SHENANDOAHGC guards now. > - We would all very much prefer to keep ShenandoahXYZNode names, as > noted earlier. This stuff is Shenandoah-specific, so let's just call it > that. > - Rehashed Shenandoah tests (formatting, naming, directory layout, etc) > - Rebased on jdk-12+22 > > - Question: let us know if you need separate RFE for the new BSC2 APIs? > > http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/03/ > > Thanks, > Roman > >> Alright, we fixed: >> - The minor issues that Kim reported in shared-gc >> - A lot of fixes in shared-tests according to Leonid's review >> - Disabled SA heapdumping similar to ZGC as Per suggested >> >> Some notes: >> Leonid: test/hotspot/jtreg/gc/TestFullGCCount.java was actually >> correct. The @requires there means to exclude runs with both CMS and >> ExplicitGCInvokesConcurrent at the same time, because that would be >> (expectedly) failing. It can run CMS, default GC and any other GC just >> fine. Adding the same clause for Shenandoah means the same, and filters >> the combination (+UseShenandoahGC)+(+ExplicitGCInvokesConcurrent). I >> made the condition a bit clearer by avoiding triple-negation. >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008457.html >> >> Per: Disabling the SA part for heapdumping makes 2 tests fail: >> - test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java >> - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java >> >> we filter them for Shenandoah now. I'm wondering: how do you get past >> those with ZGC? >> >> See: >> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-November/008466.html >> >> (Note to Leonid and tests reviewers: I'll add those related filters in >> next round). >> >> Vladimir: Roland integrated a bunch of changes to make loop* code look >> better. I can tell that we're not done with C2 yet. Can you look over >> the code and see what is ok, and especially what is not ok, so that we >> can focus our efforts on the relevant parts? >> >> Updated set of webrevs: >> http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/01/ >> >> Thanks, >> Roman >> >> >>> Hi, >>> >>> This is the first round of changes for including Shenandoah GC into >>> mainline. >>> I divided the review into parts that roughly correspond to the mailing lists >>> that would normally review it, and I divided it into 'shared' code >>> changes and >>> 'shenandoah' code changes (actually, mostly additions). The intend is to >>> eventually >>> push them as single 'combined' changeset, once reviewed. >>> >>> JEP: >>> ? https://openjdk.java.net/jeps/189 >>> Bug entry: >>> >>> ?https://bugs.openjdk.java.net/browse/JDK-8214259 >>> >>> Webrevs: >>> ? http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/ >>> >>> For those who want to see the full change, have a look at the >>> shenandoah-complete >>> >>> directory, >>> it contains the full combined webrev. Alternatively, there is the file >>> shenandoah-master.patch >>> , >>> which is what I intend to commit (and which should be equivalent to the >>> 'shenandoah-complete' webrev). >>> >>> Sections to review (at this point) are the following: >>> ?*) shenandoah-gc >>> >>> ??? - Actual Shenandoah implementation, almost completely residing in >>> gc/shenandoah >>> >>> ?*) shared-gc >>> >>> ??? - This is mostly boilerplate that is common to any GC >>> ??? - referenceProcessor.cpp has a little change to make one assert not >>> fail (next to CMS and G1) >>> ??? - taskqueue.hpp has some small adjustments to enable subclassing >>> >>> ?*) shared-serviceability >>> >>> ??? - The usual code to support another GC >>> >>> ?*) shared-runtime >>> >>> ??? - A number of friends declarations to allow Shenandoah iterators to >>> hook up with, >>> ????? e.g. ClassLoaderData, CodeCache, etc >>> ??? - Warning and disabling JFR LeakProfiler >>> ??? - fieldDescriptor.hpp added is_stable() accessor, for use in >>> Shenandoah C2 optimizations >>> ??? - Locks initialization in mutexLocker.cpp as usual >>> ??? - VM operations defines for Shenandoah's VM ops >>> ??? - globalDefinitions.hpp added UINT64_FORMAT_HEX_W for use in >>> Shenandoah's logging >>> ??? - The usual macros in macro.hpp >>> >>> ?*) shared-build >>> >>> ??? - Add shenandoah feature, enabled by default, as agreed with >>> Vladimir K. beforehand >>> ??? - Some flags for shenandoah-enabled compilation to get >>> SUPPORT_BARRIER_ON_PRIMITIVES >>> ????? and SUPPORT_NOT_TO_SPACE_INVARIANT which is required for >>> Shenandoah's barriers >>> ??? - --param inline-unit-growth=1000 settings for 2 shenandoah source >>> files, which is >>> ????? useful to get the whole marking loop inlined (observed significant >>> regression if we >>> ????? don't) >>> >>> ?*) shared-tests >>> >>> ??? - Test infrastructure to support Shenandoah >>> ??? - Shenandoah test groups >>> ??? - Exclude Shenandoah in various tests that can be run with selected GC >>> ??? - Enable/add configure for Shenandoah for tests that make sense to >>> run with it >>> >>> ?*) shenandoah-tests >>> >>> ??? - Shenandoah specific tests, most reside in gc/shenandoah subdirectory >>> ??? - A couple of tests configurations have been added, e.g. >>> TestGCBasherWithShenandoah.java >>> >>> I intentionally left out shared-compiler for now, because we have some >>> work left to do >>> there, but if you click around you'll find the patch anyway, in case you >>> want to take >>> a peek at it. >>> >>> We have regular builds on: >>> ? - {Linux} x {x86_64, x86_32, armhf, aarch64, ppc64el, s390x} >>> ? - {Windows} x {x86_64}, >>> ? - {MacOS X} x {x86_64} >>> >>> This also routinely passes: >>> ? - the new Shenandoah tests >>> ? - jcstress with/without aggressive Shenandoah verification >>> ? - specjvm2008 with/without aggressive Shenandoah verification >>> >>> >>> I'd like to thank my collegues at Red Hat: Christine Flood, she deserves >>> the credit for being the original inventor of Shenandoah, Aleksey >>> Shipl?v, Roland Westrelin & Zhengyu Gu for their countless >>> contributions, everybody else in Red Hat's OpenJDK team for testing, >>> advice and support, my collegues in Oracle's GC, runtime and compiler >>> teams for tirelessly helping with and reviewing all the GC interface and >>> related changes, and of course the many early adopters for reporting >>> bugs and success stories and feature requests: we wouldn't be here >>> without any of you! >>> >>> Best regards, >>> Roman >>> >> > From zgu at redhat.com Fri Nov 30 21:13:31 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 30 Nov 2018 16:13:31 -0500 Subject: RFR: TestFullGCCount still not quite right Message-ID: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, therefore, we need to filter it out when the flag is not specified. diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java --- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 16:04:44 2018 -0500 +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 16:10:37 2018 -0500 @@ -26,7 +26,7 @@ ? * @bug 7072527 ? * @summary CMS: JMM GC counters overcount in some cases ? * @requires !(vm.gc == "ConcMarkSweep" & vm.opt.ExplicitGCInvokesConcurrent == true) - * @requires !(vm.gc == "Shenandoah"??? & vm.opt.ExplicitGCInvokesConcurrent == true) + * @requires !(vm.gc == "Shenandoah"??? & (vm.opt.ExplicitGCInvokesConcurrent == true | vm.opt.ExplicitGCInvokesConcurrent == null)) ? * @modules java.management ? * @run main/othervm -Xlog:gc TestFullGCCount ? */ Test: ? make CONF=linux-x86_64-server-fastdebug run-test TEST=gc/TestFullGCCount.java JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" Should not run. and make CONF=linux-x86_64-server-fastdebug run-test TEST=gc/TestFullGCCount.java JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ExplicitGCInvokesConcurrent" Should run. Thanks, -Zhengyu From rkennke at redhat.com Fri Nov 30 21:20:25 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 22:20:25 +0100 Subject: RFR: TestFullGCCount still not quite right In-Reply-To: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> References: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> Message-ID: <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> Oh man. Yes, makes sense. So in a sense, we went full-circle because it means flag!=false would cover it because it's not the same as flag==true. Right? Roman Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu : >By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, >therefore, we need to filter it out when the flag is not specified. > >diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java >--- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >16:04:44 2018 -0500 >+++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >16:10:37 2018 -0500 >@@ -26,7 +26,7 @@ > ? * @bug 7072527 > ? * @summary CMS: JMM GC counters overcount in some cases > ? * @requires !(vm.gc == "ConcMarkSweep" & >vm.opt.ExplicitGCInvokesConcurrent == true) >- * @requires !(vm.gc == "Shenandoah"??? & >vm.opt.ExplicitGCInvokesConcurrent == true) >+ * @requires !(vm.gc == "Shenandoah"??? & >(vm.opt.ExplicitGCInvokesConcurrent == true | >vm.opt.ExplicitGCInvokesConcurrent == null)) > ? * @modules java.management > ? * @run main/othervm -Xlog:gc TestFullGCCount > ? */ > > >Test: > ? make CONF=linux-x86_64-server-fastdebug run-test >TEST=gc/TestFullGCCount.java >JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions >-XX:+UseShenandoahGC" > >Should not run. > >and > >make CONF=linux-x86_64-server-fastdebug run-test >TEST=gc/TestFullGCCount.java >JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC > >-XX:-ExplicitGCInvokesConcurrent" > >Should run. > >Thanks, > >-Zhengyu From zgu at redhat.com Fri Nov 30 21:28:22 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 30 Nov 2018 16:28:22 -0500 Subject: RFR: TestFullGCCount still not quite right In-Reply-To: <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> References: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> Message-ID: On 11/30/18 4:20 PM, Roman Kennke wrote: > Oh man. Yes, makes sense. > > So in a sense, we went full-circle because it means flag!=false would cover it because it's not the same as flag==true. Right? Yes. I think having another test header, probably is better and cleaner solution: * @test TestFullGCCount.java * @bug 7072527 * @summary CMS: JMM GC counters overcount in some cases * @requires vm.gc.Shenandoah & vm.gc == "Shenandoah" & vm.opt.ExplicitGCInvokesConcurrent == false * @modules java.management * @run main/othervm -Xlog:gc TestFullGCCount Will test with -shenandoahgc build. What do you think? -Zhengyu > > Roman > > > Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu : >> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, >> therefore, we need to filter it out when the flag is not specified. >> >> diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java >> --- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >> 16:04:44 2018 -0500 >> +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >> 16:10:37 2018 -0500 >> @@ -26,7 +26,7 @@ >> ? * @bug 7072527 >> ? * @summary CMS: JMM GC counters overcount in some cases >> ? * @requires !(vm.gc == "ConcMarkSweep" & >> vm.opt.ExplicitGCInvokesConcurrent == true) >> - * @requires !(vm.gc == "Shenandoah"??? & >> vm.opt.ExplicitGCInvokesConcurrent == true) >> + * @requires !(vm.gc == "Shenandoah"??? & >> (vm.opt.ExplicitGCInvokesConcurrent == true | >> vm.opt.ExplicitGCInvokesConcurrent == null)) >> ? * @modules java.management >> ? * @run main/othervm -Xlog:gc TestFullGCCount >> ? */ >> >> >> Test: >> ? make CONF=linux-x86_64-server-fastdebug run-test >> TEST=gc/TestFullGCCount.java >> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions >> -XX:+UseShenandoahGC" >> >> Should not run. >> >> and >> >> make CONF=linux-x86_64-server-fastdebug run-test >> TEST=gc/TestFullGCCount.java >> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC >> >> -XX:-ExplicitGCInvokesConcurrent" >> >> Should run. >> >> Thanks, >> >> -Zhengyu From zgu at redhat.com Fri Nov 30 21:35:10 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 30 Nov 2018 16:35:10 -0500 Subject: RFR: TestFullGCCount still not quite right In-Reply-To: References: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> Message-ID: <699764b6-dade-3ba5-e69c-3e8b49ad40d1@redhat.com> On 11/30/18 4:28 PM, Zhengyu Gu wrote: > > > On 11/30/18 4:20 PM, Roman Kennke wrote: >> Oh man. Yes, makes sense. >> >> So in a sense, we went full-circle because it means flag!=false would >> cover it because it's not the same as flag==true. Right? > > Yes. > > I think having another test header, probably is better and cleaner > solution: > > ?* @test TestFullGCCount.java > ?* @bug 7072527 > ?* @summary CMS: JMM GC counters overcount in some cases > ?* @requires vm.gc.Shenandoah & vm.gc == "Shenandoah" & > vm.opt.ExplicitGCInvokesConcurrent == false > ?* @modules java.management > ?* @run main/othervm -Xlog:gc TestFullGCCount Well, this probably won't prevent the first one from failing Shenandoah :-( -Zhengyu > > Will test with -shenandoahgc build. > > What do you think? > > -Zhengyu > > >> >> Roman >> >> >> Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu : >>> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, >>> therefore, we need to filter it out when the flag is not specified. >>> >>> diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java >>> --- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >>> 16:04:44 2018 -0500 >>> +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >>> 16:10:37 2018 -0500 >>> @@ -26,7 +26,7 @@ >>> ?? * @bug 7072527 >>> ?? * @summary CMS: JMM GC counters overcount in some cases >>> ?? * @requires !(vm.gc == "ConcMarkSweep" & >>> vm.opt.ExplicitGCInvokesConcurrent == true) >>> - * @requires !(vm.gc == "Shenandoah"??? & >>> vm.opt.ExplicitGCInvokesConcurrent == true) >>> + * @requires !(vm.gc == "Shenandoah"??? & >>> (vm.opt.ExplicitGCInvokesConcurrent == true | >>> vm.opt.ExplicitGCInvokesConcurrent == null)) >>> ?? * @modules java.management >>> ?? * @run main/othervm -Xlog:gc TestFullGCCount >>> ?? */ >>> >>> >>> Test: >>> ?? make CONF=linux-x86_64-server-fastdebug run-test >>> TEST=gc/TestFullGCCount.java >>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions >>> -XX:+UseShenandoahGC" >>> >>> Should not run. >>> >>> and >>> >>> make CONF=linux-x86_64-server-fastdebug run-test >>> TEST=gc/TestFullGCCount.java >>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC >>> >>> -XX:-ExplicitGCInvokesConcurrent" >>> >>> Should run. >>> >>> Thanks, >>> >>> -Zhengyu From zgu at redhat.com Fri Nov 30 21:40:38 2018 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 30 Nov 2018 16:40:38 -0500 Subject: RFR: TestFullGCCount still not quite right In-Reply-To: <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> References: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> Message-ID: <10f8dae3-45e9-cc56-b691-7c4f9eb8bf81@redhat.com> On 11/30/18 4:20 PM, Roman Kennke wrote: > Oh man. Yes, makes sense. > > So in a sense, we went full-circle because it means flag!=false would cover it because it's not the same as flag==true. Right? Yep, should just go back to original form: * @requires !(vm.gc == "Shenandoah" & vm.opt.ExplicitGCInvokesConcurrent != false) Okay? Thanks, -Zhengyu > > Roman > > > Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu : >> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, >> therefore, we need to filter it out when the flag is not specified. >> >> diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java >> --- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >> 16:04:44 2018 -0500 >> +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >> 16:10:37 2018 -0500 >> @@ -26,7 +26,7 @@ >> ? * @bug 7072527 >> ? * @summary CMS: JMM GC counters overcount in some cases >> ? * @requires !(vm.gc == "ConcMarkSweep" & >> vm.opt.ExplicitGCInvokesConcurrent == true) >> - * @requires !(vm.gc == "Shenandoah"??? & >> vm.opt.ExplicitGCInvokesConcurrent == true) >> + * @requires !(vm.gc == "Shenandoah"??? & >> (vm.opt.ExplicitGCInvokesConcurrent == true | >> vm.opt.ExplicitGCInvokesConcurrent == null)) >> ? * @modules java.management >> ? * @run main/othervm -Xlog:gc TestFullGCCount >> ? */ >> >> >> Test: >> ? make CONF=linux-x86_64-server-fastdebug run-test >> TEST=gc/TestFullGCCount.java >> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions >> -XX:+UseShenandoahGC" >> >> Should not run. >> >> and >> >> make CONF=linux-x86_64-server-fastdebug run-test >> TEST=gc/TestFullGCCount.java >> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC >> >> -XX:-ExplicitGCInvokesConcurrent" >> >> Should run. >> >> Thanks, >> >> -Zhengyu From rkennke at redhat.com Fri Nov 30 21:46:44 2018 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 30 Nov 2018 22:46:44 +0100 Subject: RFR: TestFullGCCount still not quite right In-Reply-To: <10f8dae3-45e9-cc56-b691-7c4f9eb8bf81@redhat.com> References: <9f8e4e90-3e06-fc47-38f1-4ec8aec0b5ea@redhat.com> <636D0A0C-31A3-40F2-858C-A98C004CF571@redhat.com> <10f8dae3-45e9-cc56-b691-7c4f9eb8bf81@redhat.com> Message-ID: <8ae4b74c-44e9-435d-4859-86f986ca2a16@redhat.com> > On 11/30/18 4:20 PM, Roman Kennke wrote: >> Oh man. Yes, makes sense. >> >> So in a sense, we went full-circle because it means flag!=false would >> cover it because it's not the same as flag==true. Right? > > Yep, should just go back to original form: > > ?* @requires !(vm.gc == "Shenandoah"??? & > vm.opt.ExplicitGCInvokesConcurrent != false) Yeah. Maybe put comments there. This has been a mind-bending confusing exercice. Roman > Okay? > > Thanks, > > -Zhengyu >> >> Roman >> >> >> Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu : >>> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah, >>> therefore, we need to filter it out when the flag is not specified. >>> >>> diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java >>> --- a/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >>> 16:04:44 2018 -0500 >>> +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java??????? Fri Nov 30 >>> 16:10:37 2018 -0500 >>> @@ -26,7 +26,7 @@ >>> ?? * @bug 7072527 >>> ?? * @summary CMS: JMM GC counters overcount in some cases >>> ?? * @requires !(vm.gc == "ConcMarkSweep" & >>> vm.opt.ExplicitGCInvokesConcurrent == true) >>> - * @requires !(vm.gc == "Shenandoah"??? & >>> vm.opt.ExplicitGCInvokesConcurrent == true) >>> + * @requires !(vm.gc == "Shenandoah"??? & >>> (vm.opt.ExplicitGCInvokesConcurrent == true | >>> vm.opt.ExplicitGCInvokesConcurrent == null)) >>> ?? * @modules java.management >>> ?? * @run main/othervm -Xlog:gc TestFullGCCount >>> ?? */ >>> >>> >>> Test: >>> ?? make CONF=linux-x86_64-server-fastdebug run-test >>> TEST=gc/TestFullGCCount.java >>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions >>> -XX:+UseShenandoahGC" >>> >>> Should not run. >>> >>> and >>> >>> make CONF=linux-x86_64-server-fastdebug run-test >>> TEST=gc/TestFullGCCount.java >>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC >>> >>> -XX:-ExplicitGCInvokesConcurrent" >>> >>> Should run. >>> >>> Thanks, >>> >>> -Zhengyu From michael at nitschinger.at Thu Nov 8 09:55:07 2018 From: michael at nitschinger.at (Michael Nitschinger) Date: Thu, 08 Nov 2018 09:55:07 -0000 Subject: Question on Shenandoah GarbageCollectorMXBeans Message-ID: <30AA2877-69D7-45ED-AD71-C8DB09FCAF7E@nitschinger.at> Hi, I?ve been trying to get GC information through the GarbageCollectorMXBean instances and it is working great so far, although I have a couple of questions. I couldn?t find any documentation on this topic, so sorry if it is written up somewhere. I?m adding my NotificationListener to the MXBeans returned by the ManagementFactory with shenandoah enabled and: when I?m looking at the ?cause? of the GarbageCollectionNotificationInfo it always says ?No GC? which seems weird to me (both for the Pauses and the Cycles bean) - even that the action contains messages like ?end of major GC? or ?end of minor GC". In terms of ?action?, Shenandoah Pauses always seems to return ?end of major GC? while Shenandoah Cycles returns ?end of minor GC?, but is that really accurate? There seems to be only one ?shenandoah? memory pool and while the Cycles info has memory usage attached to it, the Pauses one has no memory information whatsoever (all values are zeroed out). I?m running on 1.8.0_181-b15 that ships with fedora and the only JVM flag that I set was -XX:+UseShenandoahGC. Happy to provide more information if required, Thanks, Michael