From shade at redhat.com Mon Mar 2 10:40:41 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 2 Mar 2020 11:40:41 +0100 Subject: [8] RFR: Fix tier2_gc_shenandoah group definition Message-ID: <1ab0f647-74c9-0fb4-7a95-4a704a6405dd@redhat.com> A trivial thing that happened back in 2018 during test configs backports: diff -r 7f027e9c4a4b test/TEST.groups --- a/test/TEST.groups Fri Feb 28 17:59:50 2020 +0100 +++ b/test/TEST.groups Mon Mar 02 11:18:21 2020 +0100 @@ -150,5 +150,5 @@ gc/startup_warnings/TestShenandoah.java \ gc/shenandoah/jvmti/TestGetLoadedClasses.sh \ - gc/shenandoah/ + gc/shenandoah/ \ -gc/shenandoah/TestStringDedupStress.java \ -gc/shenandoah/jni/TestCriticalNativeStress.sh \ Missing backslash makes jtreg ignore the rest of the block, and print the warning message. 11u has it right, jdk/jdk has it right, but not 8u. Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Mar 2 10:48:31 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 2 Mar 2020 11:48:31 +0100 Subject: [8] 2020-03-02, Bulk backports to sh/jdk8 Message-ID: <8600c301-a153-1a1b-fdfc-bf52c7cb1eea@redhat.com> This backports a round of relatively safe changes for 8u: [backport] 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads [backport] 8239868: Shenandoah: ditch C2 node limit adjustments [backport] 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity [backport] 8240069: Shenandoah: turn more flags diagnostic [backport] 8240076: Shenandoah: pacer should cover reset and preclean phases [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace 8u webrev: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200302/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 2 11:41:41 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 2 Mar 2020 12:41:41 +0100 Subject: [8] RFR: Fix tier2_gc_shenandoah group definition In-Reply-To: <1ab0f647-74c9-0fb4-7a95-4a704a6405dd@redhat.com> References: <1ab0f647-74c9-0fb4-7a95-4a704a6405dd@redhat.com> Message-ID: <49eafa55-9d8c-ae4d-a9eb-f1981e6c74a9@redhat.com> Uff. Ok, that makes sense. Roman > A trivial thing that happened back in 2018 during test configs backports: > > diff -r 7f027e9c4a4b test/TEST.groups > --- a/test/TEST.groups Fri Feb 28 17:59:50 2020 +0100 > +++ b/test/TEST.groups Mon Mar 02 11:18:21 2020 +0100 > @@ -150,5 +150,5 @@ > gc/startup_warnings/TestShenandoah.java \ > gc/shenandoah/jvmti/TestGetLoadedClasses.sh \ > - gc/shenandoah/ > + gc/shenandoah/ \ > -gc/shenandoah/TestStringDedupStress.java \ > -gc/shenandoah/jni/TestCriticalNativeStress.sh \ > > Missing backslash makes jtreg ignore the rest of the block, and print the warning message. > > 11u has it right, jdk/jdk has it right, but not 8u. > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Mon Mar 2 11:45:41 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 2 Mar 2020 12:45:41 +0100 Subject: [8] 2020-03-02, Bulk backports to sh/jdk8 In-Reply-To: <8600c301-a153-1a1b-fdfc-bf52c7cb1eea@redhat.com> References: <8600c301-a153-1a1b-fdfc-bf52c7cb1eea@redhat.com> Message-ID: <04fd7b83-0791-3970-85fe-45877bbd31f9@redhat.com> Hi Aleksey, In: +void ShenandoahHeuristics::adjust_penalty(intx step) { + assert(0 <= _gc_time_penalties && _gc_time_penalties <= 100, + err_msg("In range before adjustment: " INTX_FORMAT, _gc_time_penalties)); There is one too many spaces before err_msg, I think. Happens in the assert below too. Other than that, it's looking good! Thank you! Roman > This backports a round of relatively safe changes for 8u: > [backport] 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads > [backport] 8239868: Shenandoah: ditch C2 node limit adjustments > [backport] 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity > [backport] 8240069: Shenandoah: turn more flags diagnostic > [backport] 8240076: Shenandoah: pacer should cover reset and preclean phases > [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace > > 8u webrev: > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200302/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From alex at bytopia.org Mon Mar 2 12:52:15 2020 From: alex at bytopia.org (Alexander Yakushev) Date: Mon, 2 Mar 2020 14:52:15 +0200 Subject: SIGSEGV crash in ObjectMonitor::enter with latest Shenandoah JDK8 In-Reply-To: <863be849-3212-acc2-fc38-2c8d80531d89@redhat.com> References: <764f9829-4727-1d10-7218-17e18349ff0d@redhat.com> <8ee880f9-bc96-4349-c13f-b433fa746ad8@redhat.com> <863be849-3212-acc2-fc38-2c8d80531d89@redhat.com> Message-ID: Hello folks, I am terribly sorry for putting this off for too long. A few days ago, I finally tried reproducing the bug again, with JDK8 from 20200228, and it no longer occurs. I've been running the system on regular load for two days now ? before, it usually crashed within a few hours. So, whatever the issue was, it no longer happens, which is great! Thanks for the help, and sorry for leaving you hanging. Best regards, Alexander On Fri, 15 Nov 2019 at 12:50, Roman Kennke wrote: > Hi Alexander, > > > Sorry, I didn't have a chance to continue the investigation. We've > > reverted to Shenandoah 1.0 since then and researched what it takes to > > move this particular service to JDK11 (which is a good idea anyway). > > Hmm, ok. I'd sleep better if I could fix this bug. Or at least, > reproduce it. Or know if it's still present, even. > > > I've noticed on Twitter that you managed to trigger a similar problem > > with Netty in the same method (ScheduleFutureTask.cancel). Did it lead > > anywhere? > > No. This was an attempt to reproduce your problem. But I did not manage > to reproduce it so far. > > I'll keep digging. > > Thanks, > Roman > > From shade at redhat.com Mon Mar 2 13:05:18 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 2 Mar 2020 14:05:18 +0100 Subject: SIGSEGV crash in ObjectMonitor::enter with latest Shenandoah JDK8 In-Reply-To: References: <764f9829-4727-1d10-7218-17e18349ff0d@redhat.com> <8ee880f9-bc96-4349-c13f-b433fa746ad8@redhat.com> <863be849-3212-acc2-fc38-2c8d80531d89@redhat.com> Message-ID: <63b55e6d-1932-05e0-bc2b-a74d2c608475@redhat.com> On 3/2/20 1:52 PM, Alexander Yakushev wrote: > I am terribly sorry for putting this off for too long. A few days ago, I > finally tried reproducing the bug again, with JDK8 from 20200228, and it no > longer occurs. I've been running the system on regular load for two days > now ? before, it usually crashed within a few hours. It must be one of these recently fixed crashes: http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9c948e9fa41e http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cf0f69f962d9 It is very good 8u works for you now! We would like to ask you to update at some point in the future, as we prepare 8u252 EA release. It would happen in about 2 weeks from now. -- Thanks, -Aleksey From alex at bytopia.org Mon Mar 2 13:10:40 2020 From: alex at bytopia.org (Alexander Yakushev) Date: Mon, 2 Mar 2020 15:10:40 +0200 Subject: SIGSEGV crash in ObjectMonitor::enter with latest Shenandoah JDK8 In-Reply-To: <63b55e6d-1932-05e0-bc2b-a74d2c608475@redhat.com> References: <764f9829-4727-1d10-7218-17e18349ff0d@redhat.com> <8ee880f9-bc96-4349-c13f-b433fa746ad8@redhat.com> <863be849-3212-acc2-fc38-2c8d80531d89@redhat.com> <63b55e6d-1932-05e0-bc2b-a74d2c608475@redhat.com> Message-ID: Certainly; thanks Aleksey! On Mon, 2 Mar 2020 at 15:05, Aleksey Shipilev wrote: > > It must be one of these recently fixed crashes: > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9c948e9fa41e > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cf0f69f962d9 > > It is very good 8u works for you now! We would like to ask you to update > at some point in the > future, as we prepare 8u252 EA release. It would happen in about 2 weeks > from now. > From zgu at redhat.com Mon Mar 2 15:54:08 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 2 Mar 2020 10:54:08 -0500 Subject: [14u] RFR 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR Message-ID: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> Hi, I would like to backport this patch to 14u. Shenandoah and JVMTI/JFR leakprofiler all use object mark word's 'marked' pattern, but for different purpose. Without this patch, it can result fatal crash for Shenandoah, as it interpreters JVMTI/JFR visited objects as forwarding objects. The original patch does not apply cleanly, mainly due to line shifts and missing JDK-8236888 in JDK14u. Original bug: https://bugs.openjdk.java.net/browse/JDK-8237632 Original code review: https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2020-February/028693.html 14u Webrev: http://cr.openjdk.java.net/~zgu/JDK-8237632/14u/webrev.00/ Test: hotspot_gc_shenandoah vmTestbase_nsk_jvmti vmTestbase_nsk_jdi Thanks, -Zhengyu From zgu at redhat.com Mon Mar 2 16:05:08 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 2 Mar 2020 11:05:08 -0500 Subject: [14u] RFR 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR In-Reply-To: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> References: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> Message-ID: <8cc385a0-834b-0c97-f6ef-f8b6a633fc68@redhat.com> On 3/2/20 10:54 AM, Zhengyu Gu wrote: > Hi, > > I would like to backport this patch to 14u. > > Shenandoah and JVMTI/JFR leakprofiler all use object mark word's > 'marked' pattern, but for different purpose. Without this patch, it can > result fatal crash for Shenandoah, as it interpreters JVMTI/JFR visited > objects as forwarding objects. > > The original patch does not apply cleanly, mainly due to line shifts and > missing JDK-8236888 in JDK14u. Sorry, wrong bug Id, JDK-8236888 -> JDK-8237963. -Zhengyu > > Original bug: https://bugs.openjdk.java.net/browse/JDK-8237632 > Original code review: > https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2020-February/028693.html > > > 14u Webrev: http://cr.openjdk.java.net/~zgu/JDK-8237632/14u/webrev.00/ > > > Test: > ? hotspot_gc_shenandoah > ? vmTestbase_nsk_jvmti > ? vmTestbase_nsk_jdi > > Thanks, > > -Zhengyu > From shade at redhat.com Mon Mar 2 16:10:36 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 2 Mar 2020 17:10:36 +0100 Subject: [14u] RFR 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR In-Reply-To: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> References: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> Message-ID: <93296dd4-78dd-5a9e-5ac2-7ca1f8b04756@redhat.com> On 3/2/20 4:54 PM, Zhengyu Gu wrote: > Original bug: https://bugs.openjdk.java.net/browse/JDK-8237632 The label should be jdk14u-fix-request? Unless you want to push this into JDK 14 RC, which is the whole other story. > 14u Webrev: http://cr.openjdk.java.net/~zgu/JDK-8237632/14u/webrev.00/ 14u backport looks good. -- Thanks, -Aleksey From shade at redhat.com Mon Mar 2 16:29:29 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 2 Mar 2020 17:29:29 +0100 Subject: [8] 2020-03-02, Bulk backports to sh/jdk8 In-Reply-To: <04fd7b83-0791-3970-85fe-45877bbd31f9@redhat.com> References: <8600c301-a153-1a1b-fdfc-bf52c7cb1eea@redhat.com> <04fd7b83-0791-3970-85fe-45877bbd31f9@redhat.com> Message-ID: <8b7ecfa4-11a0-eed9-7370-1cdee7d9d9d4@redhat.com> On 3/2/20 12:45 PM, Roman Kennke wrote: > +void ShenandoahHeuristics::adjust_penalty(intx step) { > + assert(0 <= _gc_time_penalties && _gc_time_penalties <= 100, > + err_msg("In range before adjustment: " INTX_FORMAT, > _gc_time_penalties)); > > > There is one too many spaces before err_msg, I think. Happens in the > assert below too. It follows the indenting done in upstream: https://hg.openjdk.java.net/jdk/jdk/rev/695c6b0986c3#l1.7 -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 2 16:36:19 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 2 Mar 2020 17:36:19 +0100 Subject: [8] 2020-03-02, Bulk backports to sh/jdk8 In-Reply-To: <8b7ecfa4-11a0-eed9-7370-1cdee7d9d9d4@redhat.com> References: <8600c301-a153-1a1b-fdfc-bf52c7cb1eea@redhat.com> <04fd7b83-0791-3970-85fe-45877bbd31f9@redhat.com> <8b7ecfa4-11a0-eed9-7370-1cdee7d9d9d4@redhat.com> Message-ID: <92ca21aa-f5d0-67c0-4e61-d614e7e10ad4@redhat.com> >> +void ShenandoahHeuristics::adjust_penalty(intx step) { >> + assert(0 <= _gc_time_penalties && _gc_time_penalties <= 100, >> + err_msg("In range before adjustment: " INTX_FORMAT, >> _gc_time_penalties)); >> >> >> There is one too many spaces before err_msg, I think. Happens in the >> assert below too. > It follows the indenting done in upstream: > https://hg.openjdk.java.net/jdk/jdk/rev/695c6b0986c3#l1.7 Ok. *sigh* Go! Roman From zgu at redhat.com Mon Mar 2 16:38:35 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 2 Mar 2020 11:38:35 -0500 Subject: [14u] RFR 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR In-Reply-To: <93296dd4-78dd-5a9e-5ac2-7ca1f8b04756@redhat.com> References: <017a29cf-d773-819d-46ee-0f4d633302a9@redhat.com> <93296dd4-78dd-5a9e-5ac2-7ca1f8b04756@redhat.com> Message-ID: On 3/2/20 11:10 AM, Aleksey Shipilev wrote: > On 3/2/20 4:54 PM, Zhengyu Gu wrote: >> Original bug: https://bugs.openjdk.java.net/browse/JDK-8237632 > > The label should be jdk14u-fix-request? Unless you want to push this into JDK 14 RC, which is the > whole other story. > >> 14u Webrev: http://cr.openjdk.java.net/~zgu/JDK-8237632/14u/webrev.00/ > > 14u backport looks good. Thanks, Aleksey. -Zhengyu > From shade at redhat.com Tue Mar 3 07:05:43 2020 From: shade at redhat.com (shade at redhat.com) Date: Tue, 03 Mar 2020 07:05:43 +0000 Subject: hg: shenandoah/jdk8/hotspot: 7 new changesets Message-ID: <202003030705.02375i5f011428@aojmv0008.oracle.com> Changeset: 5ac47e7047a1 Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/5ac47e7047a1 [backport] 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp - test/gc/shenandoah/compiler/TestCommonGCLoads.java Changeset: a797b1d21bd4 Author: shade Date: 2020-02-24 18:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a797b1d21bd4 [backport] 8239868: Shenandoah: ditch C2 node limit adjustments Reviewed-by: rkennke ! src/share/vm/runtime/arguments.cpp Changeset: f0b856eecb54 Author: shade Date: 2020-02-25 12:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f0b856eecb54 [backport] 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.hpp Changeset: 00610e7ce3a8 Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/00610e7ce3a8 [backport] 8240069: Shenandoah: turn more flags diagnostic Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! test/gc/shenandoah/options/TestCodeCacheRootStyles.java Changeset: 289cf6f8ca61 Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/289cf6f8ca61 [backport] 8240076: Shenandoah: pacer should cover reset and preclean phases Reviewed-by: zgu ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPacer.hpp Changeset: 7f027e9c4a4b Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7f027e9c4a4b [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahUtils.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Changeset: 9fb2d3889479 Author: shade Date: 2020-03-03 08:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9fb2d3889479 Fix tier2_gc_shenandoah group definition ! test/TEST.groups From zgu at redhat.com Tue Mar 3 13:17:37 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 3 Mar 2020 08:17:37 -0500 Subject: [sh/jdk11u]: JVMTI related backports In-Reply-To: References: Message-ID: <6f11a518-40ef-f4c6-783d-1755729a5f7b@redhat.com> Hi Aleksey, Lost your reply in inbox somehow. > If we want to cherry-pick 8237396 ahead of 11u, we have to protect it > with UseShenandoahGC. I think > like this: I will wait jdk11u backport to arrive, so hold off this backport. Thanks, -Zhengyu On 2/28/20 4:37 PM, Zhengyu Gu wrote: > I would like to backport these two JVMTI heap walk related backports: > > 8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers > 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR > > The backports clear JVMTI related test failures. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/jvmti_sh_jdk11u/webrev.00/ > > Test: > ? hotspot_gc_shenandoah > ? vmTestbase_nsk_jvmti > ? vmTestbase_nsk_jdi > > Thanks, > > -Zhengyu > > From shade at redhat.com Tue Mar 3 13:28:08 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 14:28:08 +0100 Subject: [sh/jdk11u]: JVMTI related backports In-Reply-To: <6f11a518-40ef-f4c6-783d-1755729a5f7b@redhat.com> References: <6f11a518-40ef-f4c6-783d-1755729a5f7b@redhat.com> Message-ID: That is fine. Please consider pushing the other one, though. On Tue, Mar 3, 2020 at 2:17 PM Zhengyu Gu wrote: > Hi Aleksey, > > Lost your reply in inbox somehow. > > > If we want to cherry-pick 8237396 ahead of 11u, we have to protect it > > with UseShenandoahGC. I think > > like this: > > I will wait jdk11u backport to arrive, so hold off this backport. > > Thanks, > > -Zhengyu > > > On 2/28/20 4:37 PM, Zhengyu Gu wrote: > > I would like to backport these two JVMTI heap walk related backports: > > > > 8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers > > 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR > > > > The backports clear JVMTI related test failures. > > > > Webrev: > > http://cr.openjdk.java.net/~zgu/shenandoah/jvmti_sh_jdk11u/webrev.00/ > > > > Test: > > hotspot_gc_shenandoah > > vmTestbase_nsk_jvmti > > vmTestbase_nsk_jdi > > > > Thanks, > > > > -Zhengyu > > > > > > From zgu at redhat.com Tue Mar 3 13:34:50 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 3 Mar 2020 08:34:50 -0500 Subject: [sh/jdk11u]: JVMTI related backports In-Reply-To: References: <6f11a518-40ef-f4c6-783d-1755729a5f7b@redhat.com> Message-ID: On 3/3/20 8:28 AM, Aleksey Shipilev wrote: > That is fine. Please consider pushing the other one, though. Most of jvmti failures are exhibited by JDK-8237396, so I think should get them in once. -Zhengyu > > On Tue, Mar 3, 2020 at 2:17 PM Zhengyu Gu > wrote: > > Hi Aleksey, > > Lost your reply in inbox somehow. > > ?> If we want to cherry-pick 8237396 ahead of 11u, we have to > protect it > ?> with UseShenandoahGC. I think > ?> like this: > > I will wait jdk11u backport to arrive, so hold off this backport. > > Thanks, > > -Zhengyu > > > On 2/28/20 4:37 PM, Zhengyu Gu wrote: > > I would like to backport these two JVMTI heap walk related backports: > > > > 8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers > > 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI > and JFR > > > > The backports clear JVMTI related test failures. > > > > Webrev: > > http://cr.openjdk.java.net/~zgu/shenandoah/jvmti_sh_jdk11u/webrev.00/ > > > > Test: > >? ? hotspot_gc_shenandoah > >? ? vmTestbase_nsk_jvmti > >? ? vmTestbase_nsk_jdi > > > > Thanks, > > > > -Zhengyu > > > > > From shade at redhat.com Tue Mar 3 14:18:01 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 15:18:01 +0100 Subject: [11] 2020-03-03, Bulk backports to sh/jdk11 Message-ID: <8f57c95d-8a8b-10f8-de8a-da94161e50ce@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20200303/webrev.01/ This backports the following improvements to sh/jdk11: [backport] 8238851: Shenandoah: C1: Resolve into registers of correct type [backport] 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist All apply cleanly, except 8240217, where ShenandoahEvacAssist has different context. This is not a problem, since the entire block is going away, so I purged it by hand. Please review carefully. Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Tue Mar 3 14:20:34 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 15:20:34 +0100 Subject: [sh/jdk11u]: JVMTI related backports In-Reply-To: References: <6f11a518-40ef-f4c6-783d-1755729a5f7b@redhat.com> Message-ID: <6a7e08e7-de7e-21eb-a28a-d71975b6acff@redhat.com> On 3/3/20 2:34 PM, Zhengyu Gu wrote: > On 3/3/20 8:28 AM, Aleksey Shipilev wrote: >> That is fine. Please consider pushing the other one, though. > > Most of jvmti failures are exhibited by JDK-8237396, so I think should > get them in once. All right. Note that 8237396 would be here only after the April CPU, so in about five weeks from now. -- Thanks, -Aleksey From rkennke at redhat.com Tue Mar 3 14:27:22 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 3 Mar 2020 15:27:22 +0100 Subject: [11] 2020-03-03, Bulk backports to sh/jdk11 In-Reply-To: <8f57c95d-8a8b-10f8-de8a-da94161e50ce@redhat.com> References: <8f57c95d-8a8b-10f8-de8a-da94161e50ce@redhat.com> Message-ID: <14b73fac-f095-05e4-d80c-51549403a154@redhat.com> Hi Aleksey, Looks good to me. Thank you! Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20200303/webrev.01/ > > This backports the following improvements to sh/jdk11: > [backport] 8238851: Shenandoah: C1: Resolve into registers of correct type > [backport] 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint > [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace > [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace > [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist > > All apply cleanly, except 8240217, where ShenandoahEvacAssist has different context. This is not a > problem, since the entire block is going away, so I purged it by hand. > > Please review carefully. > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Tue Mar 3 14:30:30 2020 From: shade at redhat.com (shade at redhat.com) Date: Tue, 03 Mar 2020 14:30:30 +0000 Subject: hg: shenandoah/jdk11: 5 new changesets Message-ID: <202003031430.023EUVo1027296@aojmv0008.oracle.com> Changeset: ce04d0dfc368 Author: rkennke Date: 2020-02-11 16:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ce04d0dfc368 [backport] 8238851: Shenandoah: C1: Resolve into registers of correct type Reviewed-by: shade ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Changeset: 532123164bd6 Author: roland Date: 2020-01-28 11:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/532123164bd6 [backport] 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java Changeset: 9cc697670853 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9cc697670853 [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: f28064de6022 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f28064de6022 [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.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/shenandoah_globals.hpp Changeset: f3816c869e72 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f3816c869e72 [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp From rkennke at redhat.com Tue Mar 3 17:22:14 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 3 Mar 2020 18:22:14 +0100 Subject: RFR: (sh/jdk11): Bulk backports 2020-03-03 Message-ID: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> This backports the following outstanding changes from jdk/jdk to shenandoah/jdk11: JDK-8230350: Shenandoah: Assertion failed when GC is cancelled by a worker thread JDK-8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots JDK-8233401: Shenandoah: Refactor/cleanup Shenandoah load barrier code JDK-8233339: Shenandoah: Centralize load barrier decisions into ShenandoahBarrierSet JDK-8237543: Shenandoah: More asserts around code roots JDK-8237776: Shenandoah: Wrong result with Lucene test JDK-8238574: Shenandoah: Assertion failure due to missing null check JDK-8239354: Shenandoah: minor enhancements to traversal GC Some changes are only fragments of the original change. For example, JDK-8233401 leaves out the native-barrier parts because they are not present in shenandoah/jdk11. Parts of original JDK-8233339 have already arrived via other backport, etc. Please review carefully. Changesets: http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/changesets.txt Webrev: http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/webrev.00/ Testing: hotspot_gc_shenandoah (x86_64 and aarch64) Thanks, Roman From shade at redhat.com Tue Mar 3 17:29:21 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 18:29:21 +0100 Subject: [14] RFR 8240217: Shenandoah: remove ShenandoahEvacAssist Message-ID: Original RFE: https://bugs.openjdk.java.net/browse/JDK-8240217 https://hg.openjdk.java.net/jdk/jdk/rev/c005ba590219 14u fix does not apply cleanly due to context changes. This is not a big deal, because the conflict is in the hunk that removes the entire piece of code. 14u webrev: https://cr.openjdk.java.net/~shade/8240217/webrev.14u.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Tue Mar 3 17:41:16 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 3 Mar 2020 18:41:16 +0100 Subject: [14] RFR 8240217: Shenandoah: remove ShenandoahEvacAssist In-Reply-To: References: Message-ID: <65ac999b-3a97-4bff-f2a0-b3d711c4000b@redhat.com> Looks good! Thank you! Roman > Original RFE: > https://bugs.openjdk.java.net/browse/JDK-8240217 > https://hg.openjdk.java.net/jdk/jdk/rev/c005ba590219 > > 14u fix does not apply cleanly due to context changes. This is not a big deal, because the conflict > is in the hunk that removes the entire piece of code. 14u webrev: > https://cr.openjdk.java.net/~shade/8240217/webrev.14u.01/ > > Testing: hotspot_gc_shenandoah > From shade at redhat.com Tue Mar 3 17:59:58 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 18:59:58 +0100 Subject: RFR: (sh/jdk11): Bulk backports 2020-03-03 In-Reply-To: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> References: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> Message-ID: On 3/3/20 6:22 PM, Roman Kennke wrote: > Changesets: > http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/changesets.txt > Webrev: > http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/webrev.00/ *) I don't understand the move in shenandoahBarrierSet.cpp -- does it correct the method placement to its location in 8233339? *) Do we really need 8238574? Notice in the original changeset it checks the result of LRB_native: https://hg.openjdk.java.net/jdk/jdk/rev/8d8916159b62 ...is it even possible with non-native LRB in 11u? Otherwise looks fine. -- Thanks, -Aleksey From shade at redhat.com Tue Mar 3 18:29:02 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 19:29:02 +0100 Subject: [14] RFR 8240217: Shenandoah: remove ShenandoahEvacAssist In-Reply-To: <65ac999b-3a97-4bff-f2a0-b3d711c4000b@redhat.com> References: <65ac999b-3a97-4bff-f2a0-b3d711c4000b@redhat.com> Message-ID: <77f12493-a02e-2855-e301-c8fa89940d16@redhat.com> Thanks, added fix-request. -Aleksey On 3/3/20 6:41 PM, Roman Kennke wrote: > Looks good! > > Thank you! > Roman > > >> Original RFE: >> https://bugs.openjdk.java.net/browse/JDK-8240217 >> https://hg.openjdk.java.net/jdk/jdk/rev/c005ba590219 >> >> 14u fix does not apply cleanly due to context changes. This is not a big deal, because the conflict >> is in the hunk that removes the entire piece of code. 14u webrev: >> https://cr.openjdk.java.net/~shade/8240217/webrev.14u.01/ >> >> Testing: hotspot_gc_shenandoah From rkennke at redhat.com Tue Mar 3 18:37:49 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 3 Mar 2020 19:37:49 +0100 Subject: RFR: (sh/jdk11): Bulk backports 2020-03-03 In-Reply-To: References: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> Message-ID: <9f1c9cce-64f6-2702-9541-f3e3043c5248@redhat.com> >> Changesets: >> http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/changesets.txt >> Webrev: >> http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/webrev.00/ > > *) I don't understand the move in shenandoahBarrierSet.cpp -- does it correct the method placement > to its location in 8233339? The methods have been there before, come in via another backport. This backport should have carried it instead. This change puts them in the same place where they are in jdk/jdk for consistency. > *) Do we really need 8238574? Notice in the original changeset it checks the result of LRB_native: > https://hg.openjdk.java.net/jdk/jdk/rev/8d8916159b62 > ...is it even possible with non-native LRB in 11u? This is a bit strange. It *is* the native (runtime) barrier in sh/11. However, it's pretty useless because we don't do any concurrent roots processing. No, I don't think the NULL can actually happen because we process all roots at the pause. What should I do? Get rid of the change? Get rid of the whole runtime native barriers? Roman From shade at redhat.com Tue Mar 3 18:38:16 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 19:38:16 +0100 Subject: RFR: (sh/jdk11): Bulk backports 2020-03-03 In-Reply-To: <9f1c9cce-64f6-2702-9541-f3e3043c5248@redhat.com> References: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> <9f1c9cce-64f6-2702-9541-f3e3043c5248@redhat.com> Message-ID: On 3/3/20 7:37 PM, Roman Kennke wrote: >>> Changesets: >>> http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/changesets.txt >>> Webrev: >>> http://cr.openjdk.java.net/~rkennke/backport-shjdk11-2020-03-03/webrev.00/ >> >> *) I don't understand the move in shenandoahBarrierSet.cpp -- does it correct the method placement >> to its location in 8233339? > > The methods have been there before, come in via another backport. This > backport should have carried it instead. This change puts them in the > same place where they are in jdk/jdk for consistency. Right. That's good. >> *) Do we really need 8238574? Notice in the original changeset it checks the result of LRB_native: >> https://hg.openjdk.java.net/jdk/jdk/rev/8d8916159b62 >> ...is it even possible with non-native LRB in 11u? > > This is a bit strange. It *is* the native (runtime) barrier in sh/11. > However, it's pretty useless because we don't do any concurrent roots > processing. No, I don't think the NULL can actually happen because we > process all roots at the pause. What should I do? Get rid of the change? > Get rid of the whole runtime native barriers? Since filtering NULL there is harmless now (and may stop being harmless in future, *if* we ever decide to backport native stuff), I believe having that null check there is the best course of action. Looks good. -- Thanks, -Aleksey From shade at redhat.com Tue Mar 3 18:43:51 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 3 Mar 2020 19:43:51 +0100 Subject: RFR: (sh/jdk11): Bulk backports 2020-03-03 In-Reply-To: References: <49111797-2451-f7c1-9318-40e63dd09347@redhat.com> <9f1c9cce-64f6-2702-9541-f3e3043c5248@redhat.com> Message-ID: On 3/3/20 7:38 PM, Aleksey Shipilev wrote: > On 3/3/20 7:37 PM, Roman Kennke wrote: >>> *) Do we really need 8238574? Notice in the original changeset it checks the result of LRB_native: >>> https://hg.openjdk.java.net/jdk/jdk/rev/8d8916159b62 >>> ...is it even possible with non-native LRB in 11u? >> >> This is a bit strange. It *is* the native (runtime) barrier in sh/11. >> However, it's pretty useless because we don't do any concurrent roots >> processing. No, I don't think the NULL can actually happen because we >> process all roots at the pause. What should I do? Get rid of the change? >> Get rid of the whole runtime native barriers? > > Since filtering NULL there is harmless now (and may stop being harmless in future, *if* we ever > decide to backport native stuff), I believe having that null check there is the best course of action. Meant to say: "[the absence of the null-check] may stop being harmless in future, *if* we ever decide to backport native stuff". Better be safe than sorry here. -- Thanks, -Aleksey From shade at redhat.com Wed Mar 4 08:39:22 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 4 Mar 2020 09:39:22 +0100 Subject: RFR (XS) 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8240511 See bug for rationale. The best fix seems to be just using ParallelGCThreads and ditching Shenandoah-specific option altogether: https://cr.openjdk.java.net/~shade/8240511/webrev.01/ Testing: hotspot_gc_shenandoah, eyeballing gross pause times -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 4 10:41:17 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 4 Mar 2020 11:41:17 +0100 Subject: RFR (XS) 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads In-Reply-To: References: Message-ID: <0ad816d6-6537-6e61-9b17-fabc1631e1fc@redhat.com> Ok yes, that makes sense. That flag predates upstream integration of that code, and it wasn't quite clear how many threads are useful for safepoint cleanup. IIRC, I found that hammering it with ParallelGCThreads was overkill - on my machine. But you are right, hard-wiring it to 4 is certainly overkill on smaller machines than mine ;-) Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240511 > > See bug for rationale. The best fix seems to be just using ParallelGCThreads and ditching > Shenandoah-specific option altogether: > https://cr.openjdk.java.net/~shade/8240511/webrev.01/ > > Testing: hotspot_gc_shenandoah, eyeballing gross pause times > From shade at redhat.com Wed Mar 4 10:48:27 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 4 Mar 2020 11:48:27 +0100 Subject: RFR (XS) 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads In-Reply-To: <0ad816d6-6537-6e61-9b17-fabc1631e1fc@redhat.com> References: <0ad816d6-6537-6e61-9b17-fabc1631e1fc@redhat.com> Message-ID: <71e4d1c7-b454-fcae-0c8e-73c90e7cda06@redhat.com> On 3/4/20 11:41 AM, Roman Kennke wrote: > Ok yes, that makes sense. > > That flag predates upstream integration of that code, and it wasn't > quite clear how many threads are useful for safepoint cleanup. IIRC, I > found that hammering it with ParallelGCThreads was overkill - on my > machine. But you are right, hard-wiring it to 4 is certainly overkill on > smaller machines than mine ;-) I ran a few latency-sensitive tests on my smaller desktop, and they did not regress. I believe that is partly because we have trimmed down the number of parallel threads with JDK-8225229. Therefore I see no reason to keep it in. Another unnecessary GC option bites the dust. -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 4 10:51:54 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 4 Mar 2020 11:51:54 +0100 Subject: RFR (XS) 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads In-Reply-To: <71e4d1c7-b454-fcae-0c8e-73c90e7cda06@redhat.com> References: <0ad816d6-6537-6e61-9b17-fabc1631e1fc@redhat.com> <71e4d1c7-b454-fcae-0c8e-73c90e7cda06@redhat.com> Message-ID: >> Ok yes, that makes sense. >> >> That flag predates upstream integration of that code, and it wasn't >> quite clear how many threads are useful for safepoint cleanup. IIRC, I >> found that hammering it with ParallelGCThreads was overkill - on my >> machine. But you are right, hard-wiring it to 4 is certainly overkill on >> smaller machines than mine ;-) > I ran a few latency-sensitive tests on my smaller desktop, and they did not regress. I believe that > is partly because we have trimmed down the number of parallel threads with JDK-8225229. Therefore I > see no reason to keep it in. Another unnecessary GC option bites the dust. Sure, go! Roman From shade at redhat.com Wed Mar 4 16:08:19 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 4 Mar 2020 17:08:19 +0100 Subject: RFC: Pick up 11.0.7+6 to sh/jdk11 Message-ID: Upstream pushed out 11.0.7+6, let's pick it up to sh/jdk11. Merge is trivial. I am going to tag it shenandoah-11.0.7+6. Changesets: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b5/changesets.txt Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 4 16:35:08 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 4 Mar 2020 17:35:08 +0100 Subject: RFC: Pick up 11.0.7+6 to sh/jdk11 In-Reply-To: References: Message-ID: <61c14199-fc6e-d137-dcda-3dbed2c43719@redhat.com> Ok. Thank you! Roman > Upstream pushed out 11.0.7+6, let's pick it up to sh/jdk11. > > Merge is trivial. I am going to tag it shenandoah-11.0.7+6. > > Changesets: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b5/changesets.txt > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Wed Mar 4 17:14:57 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 4 Mar 2020 18:14:57 +0100 Subject: RFR (XS) 8240534: Shenandoah: ditch debug safepoint timeout adjustment block Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8240534 This seems to be causing some of the failures on our new test servers: diff -r 6f709455592a src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Mar 04 11:50:28 2020 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Mar 04 18:12:25 2020 +0100 @@ -192,14 +192,4 @@ FLAG_SET_DEFAULT(TLABAllocationWeight, 90); } - - // Make sure safepoint deadlocks are failing predictably. This sets up VM to report - // fatal error after 10 seconds of wait for safepoint syncronization (not the VM - // operation itself). There is no good reason why Shenandoah would spend that - // much time synchronizing. -#ifdef ASSERT - FLAG_SET_DEFAULT(SafepointTimeout, true); - FLAG_SET_DEFAULT(SafepointTimeoutDelay, 10000); - FLAG_SET_DEFAULT(AbortVMOnSafepointTimeout, true); -#endif } -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 4 17:30:55 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 4 Mar 2020 18:30:55 +0100 Subject: RFR (XS) 8240534: Shenandoah: ditch debug safepoint timeout adjustment block In-Reply-To: References: Message-ID: <1516299c-e0a6-6b3f-0928-49b08bac3a67@redhat.com> Ok. Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240534 > > This seems to be causing some of the failures on our new test servers: > > diff -r 6f709455592a src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Mar 04 11:50:28 2020 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Wed Mar 04 18:12:25 2020 +0100 > @@ -192,14 +192,4 @@ > FLAG_SET_DEFAULT(TLABAllocationWeight, 90); > } > - > - // Make sure safepoint deadlocks are failing predictably. This sets up VM to report > - // fatal error after 10 seconds of wait for safepoint syncronization (not the VM > - // operation itself). There is no good reason why Shenandoah would spend that > - // much time synchronizing. > -#ifdef ASSERT > - FLAG_SET_DEFAULT(SafepointTimeout, true); > - FLAG_SET_DEFAULT(SafepointTimeoutDelay, 10000); > - FLAG_SET_DEFAULT(AbortVMOnSafepointTimeout, true); > -#endif > } > > From gnu.andrew at redhat.com Wed Mar 4 19:17:39 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 4 Mar 2020 19:17:39 +0000 Subject: [RFR] [8u] 8u252-b05 Upstream Sync Message-ID: Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/root/merge.changeset Changes in aarch64-shenandoah-jdk8u252-b05: - S8022263: use same Clang warnings on BSD as on Linux - S8055283: Expand ResourceHashtable with C_HEAP allocation, removal and some unit tests - S8068184: Fix for JDK-8032832 caused a deadlock - S8079693: Add support for ECDSA P-384 and P-521 curves to XML Signature - S8132130: some docs cleanup - S8144526: Remove Marlin logging use of deleted internal API - S8144654: Improve Marlin logging - S8144718: Pisces / Marlin Strokers may generate invalid curves with huge coordinates and round joins - S8166976: TestCipherPBECons has wrong @run line - S8167409: Invalid value passed to critical JNI function - S8181872: C1: possible overflow when strength reducing integer multiply by constant - S8187078: -XX:+VerifyOops finds numerous problems when running JPRT - S8191227: issues with unsafe handle resolution - S8216472: (se) Stack overflow during selection operation leads to crash (win) - S8229022: BufferedReader performance can be improved by using StringBuilder - S8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type - S8235904: Infinite loop when rendering huge lines Main issues of note: - Two merge conflicts - src/share/vm/code/debugInfo.cpp: changes are applied to ConstantOopWriteValue::write_on_impl rather than CanstantOopWriteValue::write_on due to "[backport] Workaround C1 ConstantOopWriteValue bug" - src/share/vm/opto/type.cpp: slight context difference due to presence of TypeAryPtr::cast_to_nonconst in aarch64/shenandoah-jdk8u diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk b/.hgtags | 1 b/src/share/classes/com/sun/crypto/provider/BlowfishCipher.java | 2 b/src/share/classes/com/sun/crypto/provider/DESCipher.java | 2 b/src/share/classes/com/sun/crypto/provider/DESedeCipher.java | 2 b/src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java | 29 b/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java | 2 b/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java | 2 b/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java | 2 b/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java | 2 b/src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java | 2 b/src/share/classes/com/sun/security/sasl/digest/FactoryImpl.java | 6 b/src/share/classes/com/sun/security/sasl/ntlm/FactoryImpl.java | 6 b/src/share/classes/java/io/BufferedReader.java | 4 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java | 4 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java | 103 ++- b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java | 6 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java | 1 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java | 1 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java | 1 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java | 34 - b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java | 1 b/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java | 1 b/src/share/classes/sun/java2d/marlin/ByteArrayCache.java | 4 b/src/share/classes/sun/java2d/marlin/FloatArrayCache.java | 4 b/src/share/classes/sun/java2d/marlin/IntArrayCache.java | 4 b/src/share/classes/sun/java2d/marlin/MarlinConst.java | 9 b/src/share/classes/sun/java2d/marlin/MarlinProperties.java | 4 b/src/share/classes/sun/java2d/marlin/MarlinUtils.java | 49 - b/src/share/classes/sun/java2d/marlin/RendererContext.java | 22 b/src/share/classes/sun/java2d/marlin/Stroker.java | 20 b/src/share/classes/sun/java2d/pisces/Stroker.java | 20 b/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java | 29 b/src/share/classes/sun/security/jgss/GSSCredentialImpl.java | 4 b/src/share/classes/sun/security/jgss/GSSToken.java | 14 b/src/share/classes/sun/security/jgss/LoginConfigImpl.java | 2 b/src/share/classes/sun/security/jgss/ProviderList.java | 6 b/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java | 4 b/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java | 12 b/src/share/classes/sun/security/jgss/spi/GSSNameSpi.java | 4 b/src/share/classes/sun/security/jgss/spi/MechanismFactory.java | 2 b/src/share/classes/sun/security/krb5/Checksum.java | 8 b/src/share/classes/sun/security/krb5/Config.java | 4 b/src/share/classes/sun/security/krb5/Credentials.java | 2 b/src/share/classes/sun/security/krb5/EncryptedData.java | 6 b/src/share/classes/sun/security/krb5/EncryptionKey.java | 12 b/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java | 2 b/src/share/classes/sun/security/krb5/PrincipalName.java | 11 b/src/share/classes/sun/security/krb5/Realm.java | 5 b/src/share/classes/sun/security/krb5/internal/APOptions.java | 4 b/src/share/classes/sun/security/krb5/internal/APRep.java | 4 b/src/share/classes/sun/security/krb5/internal/APReq.java | 4 b/src/share/classes/sun/security/krb5/internal/Authenticator.java | 4 b/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java | 4 b/src/share/classes/sun/security/krb5/internal/EncKDCRepPart.java | 4 b/src/share/classes/sun/security/krb5/internal/EncKrbCredPart.java | 4 b/src/share/classes/sun/security/krb5/internal/EncKrbPrivPart.java | 4 b/src/share/classes/sun/security/krb5/internal/EncTicketPart.java | 4 b/src/share/classes/sun/security/krb5/internal/HostAddress.java | 6 b/src/share/classes/sun/security/krb5/internal/HostAddresses.java | 4 b/src/share/classes/sun/security/krb5/internal/KDCOptions.java | 6 b/src/share/classes/sun/security/krb5/internal/KDCRep.java | 4 b/src/share/classes/sun/security/krb5/internal/KDCReq.java | 6 b/src/share/classes/sun/security/krb5/internal/KDCReqBody.java | 4 b/src/share/classes/sun/security/krb5/internal/KRBCred.java | 4 b/src/share/classes/sun/security/krb5/internal/KRBError.java | 4 b/src/share/classes/sun/security/krb5/internal/KRBPriv.java | 4 b/src/share/classes/sun/security/krb5/internal/KRBSafe.java | 4 b/src/share/classes/sun/security/krb5/internal/KRBSafeBody.java | 4 b/src/share/classes/sun/security/krb5/internal/KerberosTime.java | 4 b/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java | 4 b/src/share/classes/sun/security/krb5/internal/LastReq.java | 4 b/src/share/classes/sun/security/krb5/internal/LoginOptions.java | 4 b/src/share/classes/sun/security/krb5/internal/MethodData.java | 4 b/src/share/classes/sun/security/krb5/internal/PAData.java | 15 b/src/share/classes/sun/security/krb5/internal/PAEncTSEnc.java | 4 b/src/share/classes/sun/security/krb5/internal/PAForUserEnc.java | 4 b/src/share/classes/sun/security/krb5/internal/Ticket.java | 4 b/src/share/classes/sun/security/krb5/internal/TransitedEncoding.java | 4 b/src/share/classes/sun/security/krb5/internal/crypto/Des.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/DesMacCksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/HmacMd5ArcFourCksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes128CksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes256CksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Des3KdCksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/crypto/RsaMd5DesCksumType.java | 2 b/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java | 2 b/src/share/classes/sun/security/krb5/internal/rcache/AuthList.java | 2 b/src/share/classes/sun/security/pkcs11/wrapper/CK_CREATEMUTEX.java | 7 b/src/solaris/classes/sun/java2d/xr/XRDrawLine.java | 2 b/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java | 33 - b/src/windows/classes/sun/security/krb5/internal/tools/Kinit.java | 27 b/src/windows/classes/sun/security/krb5/internal/tools/Klist.java | 2 b/src/windows/native/sun/nio/ch/WindowsSelectorImpl.c | 101 +-- b/test/com/sun/crypto/provider/Cipher/PBE/TestCipherPBECons.java | 1 b/test/java/awt/Graphics/DrawLineTest.java | 73 ++ b/test/java/nio/channels/Selector/StackOverflowTest.java | 49 + b/test/javax/xml/crypto/dsig/GenerationTests.java | 154 +++- b/test/javax/xml/crypto/dsig/ValidationTests.java | 4 b/test/javax/xml/crypto/dsig/data/signature-enveloping-p384-sha1.xml | 3 b/test/javax/xml/crypto/dsig/data/signature-enveloping-p521-sha1.xml | 5 b/test/sun/java2d/marlin/TextClipErrorTest.java | 322 ++++++++++ 101 files changed, 984 insertions(+), 431 deletions(-) diffstat for hotspot b/.hgtags | 1 b/make/bsd/makefiles/gcc.make | 9 b/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp | 7 b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp | 8 b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp | 2 b/src/share/vm/adlc/archDesc.cpp | 26 - b/src/share/vm/adlc/main.cpp | 1 b/src/share/vm/adlc/output_c.cpp | 17 b/src/share/vm/c1/c1_LIRGenerator.cpp | 10 b/src/share/vm/c1/c1_LIRGenerator.hpp | 2 b/src/share/vm/code/debugInfo.cpp | 18 b/src/share/vm/opto/type.cpp | 33 - b/src/share/vm/opto/type.hpp | 3 b/src/share/vm/prims/forte.cpp | 2 b/src/share/vm/prims/jni.cpp | 2 b/src/share/vm/runtime/java.cpp | 2 b/src/share/vm/utilities/globalDefinitions.hpp | 4 b/src/share/vm/utilities/resourceHash.cpp | 182 ++++++++++ b/src/share/vm/utilities/resourceHash.hpp | 54 ++ b/test/compiler/c1/MultiplyByMaxInt.java | 53 ++ b/test/compiler/criticalnatives/argumentcorruption/CheckLongArgs.java | 54 ++ b/test/compiler/criticalnatives/argumentcorruption/Test8167409.sh | 83 ++++ b/test/compiler/criticalnatives/argumentcorruption/libCNCheckLongArgs.c | 30 + 23 files changed, 510 insertions(+), 93 deletions(-) Successfully built on x86, x86_64, s390, s390x, ppc, ppc64, ppc64le & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From shade at redhat.com Wed Mar 4 19:32:10 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 4 Mar 2020 20:32:10 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u252-b05 Upstream Sync In-Reply-To: References: Message-ID: <529b6ed0-3b5f-6d30-db2a-c033d71e5856@redhat.com> On 3/4/20 8:17 PM, Andrew Hughes wrote: > Merge changesets: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jaxws/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/hotspot/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b05/root/merge.changeset Looks trivially good. > Main issues of note: > - Two merge conflicts > - src/share/vm/code/debugInfo.cpp: changes are applied to > ConstantOopWriteValue::write_on_impl rather than > CanstantOopWriteValue::write_on due to "[backport] Workaround C1 > ConstantOopWriteValue bug" Yes, it is done appropriately for now. We would clean that mess up in sh/jdk8u and integrate back. > - src/share/vm/opto/type.cpp: slight context difference due to > presence of TypeAryPtr::cast_to_nonconst in aarch64/shenandoah-jdk8u That source of merge conflicts would be removed when we integrate sh/jdk8u: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ed1dc6cce765 > Ok to push? Yes. -- Thanks, -Aleksey From zgu at redhat.com Wed Mar 4 23:06:14 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 4 Mar 2020 18:06:14 -0500 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> Message-ID: Traversal GC has the same issue, also need to remark on stack code roots in final traversal. @@ -263,11 +263,12 @@ if (!_heap->is_degenerated_gc_in_progress()) { ShenandoahTraversalRootsClosure roots_cl(q, rp); ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); if (unload_classes) { ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); - _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, NULL, &tc); + MarkingCodeBlobClosure code_cl(&roots_cl, CodeBlobToOopClosure::FixRelocations); + _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, &code_cl, &tc); } else { CLDToOopClosure cld_cl(&roots_cl, ClassLoaderData::_claim_strong); _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); } } else { Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ Thank, -Zhengyu On 2/25/20 12:13 PM, Zhengyu Gu wrote: > Shenandoah encounters a few test failures with tools/javac. Verifier > catches unmarked oops in nmethod's metadata during root evacuation in > final mark phase. > > The problem is that, Shenandoah marks on stack nmethods in init mark > pause, but it does not mark nmethod's metadata during concurrent mark > phase, when new nmethod is about to be executed. > > The solution: > 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when the > nmethod is about to be executed, when nmethod entry barrier is supported. > > 2) Remark on stack nmethod's metadata at final mark pause. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and > release) > > Thanks, > > -Zhengyu From shade at redhat.com Thu Mar 5 10:16:51 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 5 Mar 2020 11:16:51 +0100 Subject: [8] 2020-03-05, Bulk backports to sh/jdk8 Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200305/webrev.01/ This is hopefully the last batch of backports for April release: [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Thu Mar 5 10:20:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 5 Mar 2020 11:20:52 +0100 Subject: [11] 2020-03-05, Bulk backports to sh/jdk11 Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20200305/webrev.01/ This is hopefully the last batch of backports for April release: [backport] 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 5 13:22:36 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 5 Mar 2020 14:22:36 +0100 Subject: [8] 2020-03-05, Bulk backports to sh/jdk8 In-Reply-To: References: Message-ID: <3a1e4312-44e2-d16a-6f8a-b6905c27a168@redhat.com> Ok, looks good. THank you! Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20200305/webrev.01/ > > This is hopefully the last batch of backports for April release: > [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace > [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist > [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From rkennke at redhat.com Thu Mar 5 13:22:57 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 5 Mar 2020 14:22:57 +0100 Subject: [11] 2020-03-05, Bulk backports to sh/jdk11 In-Reply-To: References: Message-ID: <1ebca6c7-e445-e553-896d-25cf0af30a0a@redhat.com> Looks good! Thank you! Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20200305/webrev.01/ > > This is hopefully the last batch of backports for April release: > [backport] 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads > [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Thu Mar 5 15:31:14 2020 From: shade at redhat.com (shade at redhat.com) Date: Thu, 05 Mar 2020 15:31:14 +0000 Subject: hg: shenandoah/jdk11: 2 new changesets Message-ID: <202003051531.025FVFnh026579@aojmv0008.oracle.com> Changeset: 081247446068 Author: shade Date: 2020-03-04 11:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/081247446068 [backport] 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: e3f1f696063f Author: shade Date: 2020-03-04 19:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e3f1f696063f [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp From rkennke at redhat.com Thu Mar 5 16:42:36 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 5 Mar 2020 17:42:36 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Message-ID: I would like to rename ShenandoahLoadReferenceBarrierNode::get_barrier_strength() to is_lrb_useful(). See: Bug: https://bugs.openjdk.java.net/browse/JDK-8240315 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.00/ Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Thu Mar 5 16:57:01 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 5 Mar 2020 17:57:01 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() In-Reply-To: References: Message-ID: On 3/5/20 5:42 PM, Roman Kennke wrote: > I would like to rename > ShenandoahLoadReferenceBarrierNode::get_barrier_strength() to > is_lrb_useful(). See: > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8240315 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.00/ *) "lrb" seems redundant, better be "is_useful"? *) Given how all uses invert the returned value, maybe we should revert the meaning to be "is_redundant"? *) This comment is outdated: 3198 // Look for strongest strength: go over nodes looking for STRONG ones. 3199 // Stop once we encountered STRONG. Otherwise, walk until we ran out of nodes, 3200 // and then the overall strength is NONE. -- Thanks, -Aleksey From adityam at microsoft.com Fri Mar 6 06:37:53 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Fri, 6 Mar 2020 06:37:53 +0000 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure Message-ID: Hi all, This change removes the ShenandoahTraversalUpdateRefsClosure and replaces its use in traversal mode STW weak root processing with the regular ShenandoahUpdateRefsClosure. The only non self-explanatory part of this change is the ordering swap of fixup_roots and parallel_cleaning in ShenandoahTraversalGC::final_traversal_collection. This was necessary to address the case where a previous traversal GC which ran out of memory could leave objects forwarded with their cset bits dropped (and therefore those forwarded objects would not get resolved in the normal update closure which only updates objects in the cset). Moving fixup_roots before parallel_cleaning solves this because fixup_roots will use the ShenandoahTraversalFixRootsClosure to update all the roots. Thanks once again to Roman for his support. I verified that hotspot_gc_shenandoah (which includes traversal mode tests) is clean with this change. Bug: https://bugs.openjdk.java.net/browse/JDK-8236981 Patch: As I don't yet have access to cr.openjdk.java.net, I am pasting the patch below. Thanks, Aditya Mandaleeka ====== diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp Fri Mar 06 10:27:24 2020 +0530 +++ b/src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp Thu Mar 05 22:30:55 2020 -0800 @@ -68,20 +68,6 @@ inline void do_oop_work(T* p); }; -class ShenandoahTraversalUpdateRefsClosure: public OopClosure { -private: - ShenandoahHeap* const _heap; - ShenandoahHeapRegionSet* const _traversal_set; - -public: - inline ShenandoahTraversalUpdateRefsClosure(); - inline void do_oop(oop* p); - inline void do_oop(narrowOop* p); -private: - template - inline void do_oop_work(T* p); -}; - template class ShenandoahEvacuateUpdateRootsClosure: public BasicOopIterateClosure { private: diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp Fri Mar 06 10:27:24 2020 +0530 +++ b/src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp Thu Mar 05 22:30:55 2020 -0800 @@ -83,29 +83,6 @@ void ShenandoahUpdateRefsClosure::do_oop(oop* p) { do_oop_work(p); } void ShenandoahUpdateRefsClosure::do_oop(narrowOop* p) { do_oop_work(p); } -ShenandoahTraversalUpdateRefsClosure::ShenandoahTraversalUpdateRefsClosure() : - _heap(ShenandoahHeap::heap()), - _traversal_set(ShenandoahHeap::heap()->traversal_gc()->traversal_set()) { - assert(_heap->is_traversal_mode(), "Why we here?"); -} - -template -void ShenandoahTraversalUpdateRefsClosure::do_oop_work(T* p) { - T o = RawAccess<>::oop_load(p); - if (!CompressedOops::is_null(o)) { - oop obj = CompressedOops::decode_not_null(o); - if (_heap->in_collection_set(obj) || _traversal_set->is_in(obj)) { - obj = ShenandoahBarrierSet::resolve_forwarded_not_null(obj); - RawAccess::oop_store(p, obj); - } else { - shenandoah_assert_not_forwarded(p, obj); - } - } -} - -void ShenandoahTraversalUpdateRefsClosure::do_oop(oop* p) { do_oop_work(p); } -void ShenandoahTraversalUpdateRefsClosure::do_oop(narrowOop* p) { do_oop_work(p); } - template ShenandoahEvacuateUpdateRootsClosure::ShenandoahEvacuateUpdateRootsClosure() : _heap(ShenandoahHeap::heap()), _thread(Thread::current()) { diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Fri Mar 06 10:27:24 2020 +0530 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu Mar 05 22:30:55 2020 -0800 @@ -2180,19 +2180,11 @@ ShenandoahGCPhase phase(timing_phase); phase_timings()->record_workers_start(timing_phase); if (has_forwarded_objects()) { - if (is_traversal_mode()) { - ShenandoahForwardedIsAliveClosure is_alive; - ShenandoahTraversalUpdateRefsClosure keep_alive; - ShenandoahParallelWeakRootsCleaningTask - cleaning_task(&is_alive, &keep_alive, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading()); - _workers->run_task(&cleaning_task); - } else { - ShenandoahForwardedIsAliveClosure is_alive; - ShenandoahUpdateRefsClosure keep_alive; - ShenandoahParallelWeakRootsCleaningTask - cleaning_task(&is_alive, &keep_alive, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading()); - _workers->run_task(&cleaning_task); - } + ShenandoahForwardedIsAliveClosure is_alive; + ShenandoahUpdateRefsClosure keep_alive; + ShenandoahParallelWeakRootsCleaningTask + cleaning_task(&is_alive, &keep_alive, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading()); + _workers->run_task(&cleaning_task); } else { ShenandoahIsAliveClosure is_alive; #ifdef ASSERT diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Fri Mar 06 10:27:24 2020 +0530 +++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Thu Mar 05 22:30:55 2020 -0800 @@ -605,8 +605,11 @@ // that results the TLAB/GCLAB not usable. Retire them here. _heap->make_parsable(true); + // Do this fixup before the call to parallel_cleaning to ensure that all + // forwarded objects (including those that are no longer in the cset) are + // updated by the time we do weak root processing. + fixup_roots(); _heap->parallel_cleaning(false); - fixup_roots(); _heap->set_has_forwarded_objects(false); From shade at redhat.com Fri Mar 6 11:13:53 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 12:13:53 +0100 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure In-Reply-To: References: Message-ID: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> Hi, The removal looks okay. On 3/6/20 7:37 AM, Aditya Mandaleeka wrote: > diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Fri Mar 06 10:27:24 2020 +0530 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Thu Mar 05 22:30:55 2020 -0800 > @@ -605,8 +605,11 @@ > // that results the TLAB/GCLAB not usable. Retire them here. > _heap->make_parsable(true); > > + // Do this fixup before the call to parallel_cleaning to ensure that all > + // forwarded objects (including those that are no longer in the cset) are > + // updated by the time we do weak root processing. > + fixup_roots(); > _heap->parallel_cleaning(false); > - fixup_roots(); > > _heap->set_has_forwarded_objects(false); ...but this thing reverts recent fix! https://hg.openjdk.java.net/jdk/jdk/rev/b997e5b9479b#l3.1 I wonder what is up with that, Roman? -- Thanks, -Aleksey From shade at redhat.com Fri Mar 6 12:01:59 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 13:01:59 +0100 Subject: RFR (M) 8240671: Shenandoah: refactor ShenandoahPhaseTimings Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8240671 Webrev: https://cr.openjdk.java.net/~shade/8240671/webrev.01/ Tour of changes: *) SHENANDOAH_GC_PHASE_DO macro now uses the sub-macro root definition block that now guarantees that we list the roots in the same order! Also makes the macro itself much shorter. *) ShenandoahWorkerTimings middle-man is eliminated by inlining straight into ShenandoahPhaseTimings. This removes some redundant jumping around. Plus, eliminates it at every use of ShenandoahWorkerTimingsTracker! *) ShenandoahGCPhase is now responsible for measuring the time, which simplifies _timing_data and ShenandoahPhaseTimings interface. *) shenandoahTimingTracker.* are gone, ShenandoahWorkerTimingsTracker implementation moved to shenandoahPhaseTimings.*, as it does not carry its own weight at this point. shenandoahPhaseTimings.* would be renamed at some point in the future. Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Fri Mar 6 12:25:28 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 6 Mar 2020 13:25:28 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() In-Reply-To: References: Message-ID: <99d36427-7844-f727-8e72-3fa1f6cec6bf@redhat.com> Hi Aleksey, >> I would like to rename >> ShenandoahLoadReferenceBarrierNode::get_barrier_strength() to >> is_lrb_useful(). See: >> >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8240315 >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.00/ > > *) "lrb" seems redundant, better be "is_useful"? Ok. > *) Given how all uses invert the returned value, maybe we should revert the meaning to be > "is_redundant"? Right. Done. > *) This comment is outdated: > > 3198 // Look for strongest strength: go over nodes looking for STRONG ones. > 3199 // Stop once we encountered STRONG. Otherwise, walk until we ran out of nodes, > 3200 // and then the overall strength is NONE. Right. I've updated it. http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.01/ Ok now? Roman From rkennke at redhat.com Fri Mar 6 12:31:49 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 6 Mar 2020 13:31:49 +0100 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure In-Reply-To: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> References: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> Message-ID: > The removal looks okay. > > On 3/6/20 7:37 AM, Aditya Mandaleeka wrote: >> diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp >> --- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Fri Mar 06 10:27:24 2020 +0530 >> +++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Thu Mar 05 22:30:55 2020 -0800 >> @@ -605,8 +605,11 @@ >> // that results the TLAB/GCLAB not usable. Retire them here. >> _heap->make_parsable(true); >> >> + // Do this fixup before the call to parallel_cleaning to ensure that all >> + // forwarded objects (including those that are no longer in the cset) are >> + // updated by the time we do weak root processing. >> + fixup_roots(); >> _heap->parallel_cleaning(false); >> - fixup_roots(); >> >> _heap->set_has_forwarded_objects(false); > > ...but this thing reverts recent fix! > https://hg.openjdk.java.net/jdk/jdk/rev/b997e5b9479b#l3.1 > > I wonder what is up with that, Roman? This code is a mess. It doesn't really matter if we fix the roots first and then clean them, or the other way around. In the other fix I thought that it would be more efficient to clean them first and then update what remains. But that causes troubles on the degen-path because we get there with cset down. Ideally we should clean what is unreachable and update the rest in one pass, this requires some work though, which is not the scope of this change. To me the change looks good. I can sponsor it. Thank you, Aditya! Roman From rkennke at redhat.com Fri Mar 6 12:48:02 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 6 Mar 2020 13:48:02 +0100 Subject: RFR (M) 8240671: Shenandoah: refactor ShenandoahPhaseTimings In-Reply-To: References: Message-ID: Very good! That should make that code less error-prone and more consistent. Change looks good! Thank you, Roman On 3/6/20 1:01 PM, Aleksey Shipilev wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240671 > > Webrev: > https://cr.openjdk.java.net/~shade/8240671/webrev.01/ > > Tour of changes: > > *) SHENANDOAH_GC_PHASE_DO macro now uses the sub-macro root definition block that now guarantees > that we list the roots in the same order! Also makes the macro itself much shorter. > > *) ShenandoahWorkerTimings middle-man is eliminated by inlining straight into > ShenandoahPhaseTimings. This removes some redundant jumping around. Plus, eliminates it at every use > of ShenandoahWorkerTimingsTracker! > > *) ShenandoahGCPhase is now responsible for measuring the time, which simplifies _timing_data and > ShenandoahPhaseTimings interface. > > *) shenandoahTimingTracker.* are gone, ShenandoahWorkerTimingsTracker implementation moved to > shenandoahPhaseTimings.*, as it does not carry its own weight at this point. > shenandoahPhaseTimings.* would be renamed at some point in the future. > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Fri Mar 6 12:42:20 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 13:42:20 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() In-Reply-To: <99d36427-7844-f727-8e72-3fa1f6cec6bf@redhat.com> References: <99d36427-7844-f727-8e72-3fa1f6cec6bf@redhat.com> Message-ID: <153f95fb-b7fc-eca3-cf2f-8e099390e1e3@redhat.com> On 3/6/20 1:25 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.01/ Looks good, but there are some leftovers in ASSERT section. Better yet? https://cr.openjdk.java.net/~shade/shenandoah/8240315-add.patch -- Thanks, -Aleksey From shade at redhat.com Fri Mar 6 12:44:33 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 13:44:33 +0100 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure In-Reply-To: References: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> Message-ID: On 3/6/20 1:31 PM, Roman Kennke wrote: >> On 3/6/20 7:37 AM, Aditya Mandaleeka wrote: >>> diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp >>> --- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Fri Mar 06 10:27:24 2020 +0530 >>> +++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Thu Mar 05 22:30:55 2020 -0800 >>> @@ -605,8 +605,11 @@ >>> // that results the TLAB/GCLAB not usable. Retire them here. >>> _heap->make_parsable(true); >>> >>> + // Do this fixup before the call to parallel_cleaning to ensure that all >>> + // forwarded objects (including those that are no longer in the cset) are >>> + // updated by the time we do weak root processing. >>> + fixup_roots(); >>> _heap->parallel_cleaning(false); >>> - fixup_roots(); >>> >>> _heap->set_has_forwarded_objects(false); >> >> ...but this thing reverts recent fix! >> https://hg.openjdk.java.net/jdk/jdk/rev/b997e5b9479b#l3.1 >> >> I wonder what is up with that, Roman? > > This code is a mess. It doesn't really matter if we fix the roots first > and then clean them, or the other way around. In the other fix I thought > that it would be more efficient to clean them first and then update what > remains. But that causes troubles on the degen-path because we get there > with cset down. > > Ideally we should clean what is unreachable and update the rest in one > pass, this requires some work though, which is not the scope of this change. > > To me the change looks good. I can sponsor it. Okay then! -- Thanks, -Aleksey From shade at redhat.com Fri Mar 6 18:51:49 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 19:51:49 +0100 Subject: Shenandoah 11.0.7+ release candidate Message-ID: <83d17edc-7637-4d67-2171-a6fb787f5978@redhat.com> Hi, We are pleased to announce that most of the recent bugfixes and improvements have been backported to Shenandoah 11u tree. That tree is based on upstream OpenJDK 11.0.7+ project, and Shenandoah-enabled downstream distributions should be released at the same time with 11.0.7 release, in mid-April. Since we do not expect more non-critical backports until that release happens, what we have in Shenandoah 11u tree is now the Release Candidate. Please test! Next 1..3 weeks are the perfect time to identify problems with it and put in critical fixes that would land in April release. As usual, you can try it by: a) Building from source yourself: https://hg.openjdk.java.net/shenandoah/jdk11/ b) Taking our nightly builds: https://builds.shipilev.net/openjdk-shenandoah-jdk11/ c) Using the Docker containers with nightly builds: shipilev/openjdk-shenandoah:11 Enjoy! -- Thanks, -Aleksey P.S. Shenandoah 8u RC should come early next week. From adityam at microsoft.com Fri Mar 6 20:08:33 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Fri, 6 Mar 2020 20:08:33 +0000 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure In-Reply-To: References: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> Message-ID: Thank you Aleksey and Roman for reviewing. Please let me know if you'd like me to help with backporting this change or anything. Thanks, Aditya -----Original Message----- From: Aleksey Shipilev Sent: Friday, March 6, 2020 4:45 AM To: Roman Kennke ; Aditya Mandaleeka ; shenandoah-dev Subject: Re: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure On 3/6/20 1:31 PM, Roman Kennke wrote: >> On 3/6/20 7:37 AM, Aditya Mandaleeka wrote: >>> diff -r 92cf8efd381d src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp >>> --- a/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Fri Mar 06 10:27:24 2020 +0530 >>> +++ b/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Thu Mar 05 22:30:55 2020 -0800 >>> @@ -605,8 +605,11 @@ >>> // that results the TLAB/GCLAB not usable. Retire them here. >>> _heap->make_parsable(true); >>> >>> + // Do this fixup before the call to parallel_cleaning to ensure that all >>> + // forwarded objects (including those that are no longer in the cset) are >>> + // updated by the time we do weak root processing. >>> + fixup_roots(); >>> _heap->parallel_cleaning(false); >>> - fixup_roots(); >>> >>> _heap->set_has_forwarded_objects(false); >> >> ...but this thing reverts recent fix! >> https://hg.openjdk.java.net/jdk/jdk/rev/b997e5b9479b#l3.1 >> >> I wonder what is up with that, Roman? > > This code is a mess. It doesn't really matter if we fix the roots first > and then clean them, or the other way around. In the other fix I thought > that it would be more efficient to clean them first and then update what > remains. But that causes troubles on the degen-path because we get there > with cset down. > > Ideally we should clean what is unreachable and update the rest in one > pass, this requires some work though, which is not the scope of this change. > > To me the change looks good. I can sponsor it. Okay then! -- Thanks, -Aleksey From rkennke at redhat.com Fri Mar 6 20:51:10 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 6 Mar 2020 21:51:10 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() In-Reply-To: <153f95fb-b7fc-eca3-cf2f-8e099390e1e3@redhat.com> References: <99d36427-7844-f727-8e72-3fa1f6cec6bf@redhat.com> <153f95fb-b7fc-eca3-cf2f-8e099390e1e3@redhat.com> Message-ID: >> http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.01/ > > Looks good, but there are some leftovers in ASSERT section. > > Better yet? > https://cr.openjdk.java.net/~shade/shenandoah/8240315-add.patch That looks even better, indeed. Thank you! I'm going to push this combined change then: http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.02/ Thanks, Roman From shade at redhat.com Fri Mar 6 20:47:48 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 21:47:48 +0100 Subject: RFR: JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() In-Reply-To: References: <99d36427-7844-f727-8e72-3fa1f6cec6bf@redhat.com> <153f95fb-b7fc-eca3-cf2f-8e099390e1e3@redhat.com> Message-ID: On 3/6/20 9:51 PM, Roman Kennke wrote: > That looks even better, indeed. Thank you! I'm going to push this > combined change then: > > http://cr.openjdk.java.net/~rkennke/JDK-8240315/webrev.02/ Yup. -- Thanks, -Aleksey From shade at redhat.com Fri Mar 6 21:33:39 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 6 Mar 2020 22:33:39 +0100 Subject: RFR: 8236981: Remove ShenandoahTraversalUpdateRefsClosure In-Reply-To: References: <32b89621-834e-7628-5413-0a06a86d1125@redhat.com> Message-ID: On 3/6/20 9:08 PM, Aditya Mandaleeka wrote: > Thank you Aleksey and Roman for reviewing. Please let me know if you'd like me to help with backporting > this change or anything. I think we will backport it along with the bunch of other fixes after mid-April release is out. It is usually no-brainer and less overhead to batch the backports, rather than ask original authors to backport their stuff. You could take up any other starter bugs: https://bugs.openjdk.java.net/issues/?filter=38634 ...or just look around the source code and see what disgusts^W interests you enough to warrant a fix. -- Thanks, -Aleksey From adityam at microsoft.com Sun Mar 8 19:49:18 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Sun, 8 Mar 2020 19:49:18 +0000 Subject: RFR: 8230853: Replace leftover is_in asserts with rich asserts Message-ID: Hi all, This is a simple patch for JDK-8230853, updating some is_in heap asserts to use rich asserts instead. It is mostly the same as what Aleksey already had done (thanks Aleksey!), except that there is one more place in shenandoahHeap.inline.hpp where the old style assert was being used which I've fixed. I did a quick regex search to look for other instances of this heap->is_in check in Shenandoah code and didn't find any more. I also double-checked that the HeapWord*->oop conversion is doing the right thing, thanks to some recent changes in this area. Bug: https://bugs.openjdk.java.net/browse/JDK-8230853 Patch: As I don't yet have access to cr.openjdk.java.net, I am pasting the patch below. Thanks, Aditya Mandaleeka === diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp Sun Mar 08 15:15:38 2020 +0900 +++ b/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp Sun Mar 08 12:30:59 2020 -0700 @@ -25,6 +25,7 @@ #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP #define SHARE_GC_SHENANDOAH_SHENANDOAHCOLLECTIONSET_INLINE_HPP +#include "gc/shenandoah/shenandoahAsserts.hpp" #include "gc/shenandoah/shenandoahCollectionSet.hpp" #include "gc/shenandoah/shenandoahHeap.hpp" #include "gc/shenandoah/shenandoahHeap.inline.hpp" @@ -44,7 +45,7 @@ } bool ShenandoahCollectionSet::is_in(HeapWord* p) const { - assert(_heap->is_in(p), "Must be in the heap"); + shenandoah_assert_in_heap(NULL, p); uintx index = ((uintx) p) >> _region_size_bytes_shift; // no need to subtract the bottom of the heap from p, // _biased_cset_map is biased diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Sun Mar 08 15:15:38 2020 +0900 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Sun Mar 08 12:30:59 2020 -0700 @@ -326,14 +326,14 @@ } inline bool ShenandoahHeap::in_collection_set(oop p) const { + shenandoah_assert_in_heap(NULL, p); assert(collection_set() != NULL, "Sanity"); - assert(is_in(p), "should be in heap"); return collection_set()->is_in(p); } inline bool ShenandoahHeap::in_collection_set_loc(void* p) const { + shenandoah_assert_in_heap(NULL, p); assert(collection_set() != NULL, "Sanity"); - assert(is_in(p), "should be in heap"); return collection_set()->is_in((HeapWord*)p); } diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Sun Mar 08 15:15:38 2020 +0900 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Sun Mar 08 12:30:59 2020 -0700 @@ -25,6 +25,7 @@ #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP #define SHARE_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_INLINE_HPP +#include "gc/shenandoah/shenandoahAsserts.hpp" #include "gc/shenandoah/shenandoahHeapRegionSet.hpp" #include "gc/shenandoah/shenandoahHeap.hpp" #include "gc/shenandoah/shenandoahHeap.inline.hpp" @@ -40,7 +41,7 @@ } bool ShenandoahHeapRegionSet::is_in(oop p) const { - assert(_heap->is_in(p), "Must be in the heap"); + shenandoah_assert_in_heap(NULL, p); uintx index = (cast_from_oop(p)) >> _region_size_bytes_shift; // no need to subtract the bottom of the heap from p, // _biased_set_map is biased From adityam at microsoft.com Mon Mar 9 04:33:53 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Mon, 9 Mar 2020 04:33:53 +0000 Subject: RFR: 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Message-ID: Addressing another silly active bug... this fixes 8220503 by moving the definition of ShenandoahTerminatorTerminator::should_exit_termination into shenandoahTaskqueue.cpp, matching how it is in shenandoah/jdk8u. I removed the comment next to the function. Looking at the history, it was originally next to the virtual "should_force_termination" function back when that function existed and its default implementation returned false. I don't know if there's value in keeping the comment now, especially because it might accidentally be misunderstood to mean that the function returns true. If someone feels strongly about keeping it, I'm happy to add it back (and perhaps reword it for clarity). Bug: https://bugs.openjdk.java.net/browse/JDK-8220503 Patch: See below Thanks, Aditya === diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Sun Mar 08 15:15:38 2020 +0900 +++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Sun Mar 08 21:03:46 2020 -0700 @@ -88,3 +88,7 @@ } } #endif // TASKQUEUE_STATS + +bool ShenandoahTerminatorTerminator::should_exit_termination() { + return _heap->cancelled_gc(); +} diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Sun Mar 08 15:15:38 2020 +0900 +++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Sun Mar 08 21:03:46 2020 -0700 @@ -335,8 +335,7 @@ ShenandoahHeap* _heap; public: ShenandoahTerminatorTerminator(ShenandoahHeap* const heap) : _heap(heap) { } - // return true, terminates immediately, even if there's remaining work left - virtual bool should_exit_termination() { return _heap->cancelled_gc(); } + virtual bool should_exit_termination(); }; #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP From rkennke at redhat.com Mon Mar 9 11:27:57 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 9 Mar 2020 12:27:57 +0100 Subject: RFR: 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header In-Reply-To: References: Message-ID: <67eccd03-edd2-1bb4-4933-1b014a617ffe@redhat.com> Hi Aditya, > Addressing another silly active bug... this fixes 8220503 by moving the definition of > ShenandoahTerminatorTerminator::should_exit_termination into shenandoahTaskqueue.cpp, matching how > it is in shenandoah/jdk8u. > > I removed the comment next to the function. Looking at the history, it was originally next to the > virtual "should_force_termination" function back when that function existed and its default > implementation returned false. I don't know if there's value in keeping the comment now, especially > because it might accidentally be misunderstood to mean that the function returns true. If someone > feels strongly about keeping it, I'm happy to add it back (and perhaps reword it for clarity). > > Bug: https://bugs.openjdk.java.net/browse/JDK-8220503 > Patch: See below Patch looks ok to me. You are right, I don't think we still need the comment, it is misleading and wrong. I'll push the patch for you! Thank you! Roman > === > > diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Sun Mar 08 15:15:38 2020 +0900 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp Sun Mar 08 21:03:46 2020 -0700 > @@ -88,3 +88,7 @@ > } > } > #endif // TASKQUEUE_STATS > + > +bool ShenandoahTerminatorTerminator::should_exit_termination() { > + return _heap->cancelled_gc(); > +} > diff -r e44b68e5bdaf src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Sun Mar 08 15:15:38 2020 +0900 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Sun Mar 08 21:03:46 2020 -0700 > @@ -335,8 +335,7 @@ > ShenandoahHeap* _heap; > public: > ShenandoahTerminatorTerminator(ShenandoahHeap* const heap) : _heap(heap) { } > - // return true, terminates immediately, even if there's remaining work left > - virtual bool should_exit_termination() { return _heap->cancelled_gc(); } > + virtual bool should_exit_termination(); > }; > > #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP > From shade at redhat.com Mon Mar 9 11:27:20 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 9 Mar 2020 12:27:20 +0100 Subject: RFR: 8230853: Shenandoah: replace leftover is_in asserts with rich asserts In-Reply-To: References: Message-ID: <7ea8bc6f-c220-b03e-558e-71a9c264dfce@redhat.com> On 3/8/20 8:49 PM, Aditya Mandaleeka wrote: > Bug: https://bugs.openjdk.java.net/browse/JDK-8230853 > Patch: As I don't yet have access to cr.openjdk.java.net, I am pasting the patch below. *) Process thing: the RFR subject should be exactly the bug synopsis: "Shenandoah: replace leftover is_in asserts with rich asserts" *) in_collection_set_loc(void*) addition does not really work. Slowdebug build would fail with: jdk-jdk/src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp:74:92: error: invalid conversion from 'void*' to 'oop {aka oopDesc*}' [-fpermissive] Luckily, we don't even need these asserts, because ShenandoahCollectionSet::is_in has one. Unfortunately, we cannot use the rich assert there, because it needs to accept arbitrary HeapWord* :/ So reverting that part is in order. It should probably be void*, not HeapWord* to begin with. In the end, this is the patch: https://cr.openjdk.java.net/~shade/8230853/webrev.02/ Agree? -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 9 11:57:03 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 9 Mar 2020 12:57:03 +0100 Subject: RFR: 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header In-Reply-To: <67eccd03-edd2-1bb4-4933-1b014a617ffe@redhat.com> References: <67eccd03-edd2-1bb4-4933-1b014a617ffe@redhat.com> Message-ID: <4d07b81a-9f57-dd84-3498-1bf4e114932b@redhat.com> Hi Aditya, >> Bug: https://bugs.openjdk.java.net/browse/JDK-8220503 >> Patch: See below > > Patch looks ok to me. You are right, I don't think we still need the > comment, it is misleading and wrong. > > I'll push the patch for you! Thank you! I pushed the patch. Congratulations, your second patch already!! :-D You should consider requesting Author status whenever you feel ready for it. It would make the whole process much easier for all of us: http://openjdk.java.net/projects/#project-author Let me know if you need any help with that. Cheers, Roman From shade at redhat.com Mon Mar 9 13:18:58 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 9 Mar 2020 14:18:58 +0100 Subject: RFR (S) 8240749: Shenandoah: refactor ShenandoahUtils Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8240749 Webrev: https://cr.openjdk.java.net/~shade/8240749/webrev.01/ It mostly hides naked phase_timings()->record... calls with ShenandoahGCWorkerPhase wrapper. But also cleans up the code a bit. Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Mar 9 13:20:11 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 9 Mar 2020 14:20:11 +0100 Subject: RFR (S) 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Message-ID: <04a65c11-8550-fc3c-a613-a324cddb5a17@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8240750 While working on JDK-8240215, I totally forgot to remove these leftovers. Webrev: https://cr.openjdk.java.net/~shade/8240750/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 9 14:03:08 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 9 Mar 2020 15:03:08 +0100 Subject: RFR (S) 8240749: Shenandoah: refactor ShenandoahUtils In-Reply-To: References: Message-ID: <299fe138-7c85-2443-b485-5d19a4d3b375@redhat.com> Looks good to me. Thanks! Roman On 3/9/20 2:18 PM, Aleksey Shipilev wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240749 > > Webrev: > https://cr.openjdk.java.net/~shade/8240749/webrev.01/ > > It mostly hides naked phase_timings()->record... calls with ShenandoahGCWorkerPhase wrapper. But > also cleans up the code a bit. > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Mon Mar 9 14:03:38 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 9 Mar 2020 15:03:38 +0100 Subject: RFR (S) 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker In-Reply-To: <04a65c11-8550-fc3c-a613-a324cddb5a17@redhat.com> References: <04a65c11-8550-fc3c-a613-a324cddb5a17@redhat.com> Message-ID: Yep, looks good! Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240750 > > While working on JDK-8240215, I totally forgot to remove these leftovers. > > Webrev: > https://cr.openjdk.java.net/~shade/8240750/webrev.01/ > > Testing: hotspot_gc_shenandoah > From adityam at microsoft.com Mon Mar 9 20:11:34 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Mon, 9 Mar 2020 20:11:34 +0000 Subject: RFR: 8230853: Shenandoah: replace leftover is_in asserts with rich asserts In-Reply-To: <7ea8bc6f-c220-b03e-558e-71a9c264dfce@redhat.com> References: <7ea8bc6f-c220-b03e-558e-71a9c264dfce@redhat.com> Message-ID: > Process thing: the RFR subject should be exactly the bug synopsis Totally makes sense (and in fact I relied on that while searching for some stuff :)). Will do that going forward. > In the end, this is the patch: > https://cr.openjdk.java.net/~shade/8230853/webrev.02/ > > Agree? Yes, that looks good to me, and thanks for catching the issue with slowdebug! -Aditya -----Original Message----- From: Aleksey Shipilev Sent: Monday, March 9, 2020 4:27 AM To: Aditya Mandaleeka ; shenandoah-dev Subject: Re: RFR: 8230853: Shenandoah: replace leftover is_in asserts with rich asserts On 3/8/20 8:49 PM, Aditya Mandaleeka wrote: > Bug: https://bugs.openjdk.java.net/browse/JDK-8230853 > Patch: As I don't yet have access to cr.openjdk.java.net, I am pasting the patch below. *) Process thing: the RFR subject should be exactly the bug synopsis: "Shenandoah: replace leftover is_in asserts with rich asserts" *) in_collection_set_loc(void*) addition does not really work. Slowdebug build would fail with: jdk-jdk/src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp:74:92: error: invalid conversion from 'void*' to 'oop {aka oopDesc*}' [-fpermissive] Luckily, we don't even need these asserts, because ShenandoahCollectionSet::is_in has one. Unfortunately, we cannot use the rich assert there, because it needs to accept arbitrary HeapWord* :/ So reverting that part is in order. It should probably be void*, not HeapWord* to begin with. In the end, this is the patch: https://cr.openjdk.java.net/~shade/8230853/webrev.02/ Agree? -- Thanks, -Aleksey From adityam at microsoft.com Mon Mar 9 20:25:24 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Mon, 9 Mar 2020 20:25:24 +0000 Subject: RFR: 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header In-Reply-To: <4d07b81a-9f57-dd84-3498-1bf4e114932b@redhat.com> References: <67eccd03-edd2-1bb4-4933-1b014a617ffe@redhat.com> <4d07b81a-9f57-dd84-3498-1bf4e114932b@redhat.com> Message-ID: Hi Roman, > I pushed the patch. Congratulations, your second patch already!! :-D Thanks for pushing the patch Roman! It's my third, in fact, counting the T_ADDRESS thing (8236179) from December ;). > You should consider requesting Author status whenever you feel ready for > it. It would make the whole process much easier for all of us: > > http://openjdk.java.net/projects/#project-author > > Let me know if you need any help with that. Sounds good. I read through that link and will send an Author status request your way soon. Thanks again for your support and for being so welcoming as I've started contributing to the project! I look forward to more collaboration. -Aditya From rkennke at redhat.com Mon Mar 9 20:29:30 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 9 Mar 2020 21:29:30 +0100 Subject: RFR: 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header In-Reply-To: References: <67eccd03-edd2-1bb4-4933-1b014a617ffe@redhat.com> <4d07b81a-9f57-dd84-3498-1bf4e114932b@redhat.com> Message-ID: <7616b3d3-2b33-1221-e209-b36656cdb827@redhat.com> On 3/9/20 9:25 PM, Aditya Mandaleeka wrote: > Hi Roman, > >> I pushed the patch. Congratulations, your second patch already!! :-D > > Thanks for pushing the patch Roman! It's my third, in fact, counting the T_ADDRESS > thing (8236179) from December ;). > >> You should consider requesting Author status whenever you feel ready for >> it. It would make the whole process much easier for all of us: >> >> http://openjdk.java.net/projects/#project-author >> >> Let me know if you need any help with that. > > Sounds good. I read through that link and will send an Author status request your way soon. > > Thanks again for your support and for being so welcoming as I've started contributing > to the project! I look forward to more collaboration. Yes. And also towards the JDK project, because Shenandoah is (also) developed in upstream JDK now. Roman From shade at redhat.com Wed Mar 11 12:23:50 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 13:23:50 +0100 Subject: RFR (S) 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Message-ID: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> RFR: https://bugs.openjdk.java.net/browse/JDK-8240868 See the rationale in description. Webrev: https://cr.openjdk.java.net/~shade/8240868/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 11 12:37:12 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 13:37:12 +0100 Subject: RFR (S) 8240868: Shenandoah: remove CM-with-UR piggybacking cycles In-Reply-To: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> References: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> Message-ID: <178a2fec-eedc-3601-b4bd-d4e80e9c6dfb@redhat.com> Hi Aleksey, Very nice! I see you haven't touched conc-mark. While updating-on-mark is still used by full-GC, there should be a couple of paths that are unused now (e.g. in the init-mark parts), do you intend to (carefully) remove them in a follow-up? Also, the block here: http://hg.openjdk.java.net/jdk/jdk/file/e50512f91026/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp#l1467 is not needed anymore, either. It's only there to conclude the GC cycle, in the case where the cycle officially (and awkwardly) ends at final-mark. (We'll probably find more orphaned little blocks related to this in the future.) Other than that, it's good. Roman > RFR: > https://bugs.openjdk.java.net/browse/JDK-8240868 > > See the rationale in description. > > Webrev: > https://cr.openjdk.java.net/~shade/8240868/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Wed Mar 11 12:37:44 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 13:37:44 +0100 Subject: RFR (S) 8240868: Shenandoah: remove CM-with-UR piggybacking cycles In-Reply-To: <178a2fec-eedc-3601-b4bd-d4e80e9c6dfb@redhat.com> References: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> <178a2fec-eedc-3601-b4bd-d4e80e9c6dfb@redhat.com> Message-ID: <1ddf377b-8101-af3e-b5c2-7f199258fe87@redhat.com> On 3/11/20 1:37 PM, Roman Kennke wrote: > I see you haven't touched conc-mark. While updating-on-mark is still > used by full-GC, there should be a couple of paths that are unused now > (e.g. in the init-mark parts), do you intend to (carefully) remove them > in a follow-up? Yes, that is the plan: go through all uses of has_forwarded_objects in marking code and see if is used somewhere else. If not, those should be removed. > Also, the block here: > > http://hg.openjdk.java.net/jdk/jdk/file/e50512f91026/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp#l1467 > > is not needed anymore, either. It's only there to conclude the GC cycle, > in the case where the cycle officially (and awkwardly) ends at final-mark. Yes, that is one of the follow-ups. -- Thanks, -Aleksey From zgu at redhat.com Wed Mar 11 12:45:13 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 11 Mar 2020 08:45:13 -0400 Subject: RFR (S) 8240868: Shenandoah: remove CM-with-UR piggybacking cycles In-Reply-To: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> References: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> Message-ID: <3dbfc339-47e3-d39b-55c5-bbd2073662b2@redhat.com> Yes, I like it. Looks good to me. Thanks, -Zhengyu On 3/11/20 8:23 AM, Aleksey Shipilev wrote: > RFR: > https://bugs.openjdk.java.net/browse/JDK-8240868 > > See the rationale in description. > > Webrev: > https://cr.openjdk.java.net/~shade/8240868/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From rkennke at redhat.com Wed Mar 11 12:52:25 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 13:52:25 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation Message-ID: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> Currently, we set the safe-iteration-limit at start of update-refs-phase. This is subsequently used as limit for the linear scan in update-refs phase. However, with the strong invariant we can do better: we can set this limit at evac-start, because it is guaranteed that any reference that is written to the new fields is to-space and does not require updating. An exception is new allocations for evacuated objects: those still require updates and thus require special handling. Note that closing the limit after we processed it is not strictly necessary here, but it's useful in the follow-up where we'll short-cut arraycopy-barriers based on the limit. Also, I wonder if we should not use the safe-iteration-limit here, but rather have a fast lookup-table like we do for TAMS. Again, it is not really relevant here, but the arraycopy follow-up will check the limit on the mid-path of the arraycopy-barrier. WDYT? Bug: https://bugs.openjdk.java.net/browse/JDK-8240872 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.00/ Testing: hotspot_gc_shenandoah, specjbb, some workloads of specjvm Can I please get a review? Thanks, Roman From rkennke at redhat.com Wed Mar 11 12:53:19 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 13:53:19 +0100 Subject: RFR (S) 8240868: Shenandoah: remove CM-with-UR piggybacking cycles In-Reply-To: <1ddf377b-8101-af3e-b5c2-7f199258fe87@redhat.com> References: <6c036105-0b9c-e5b8-5990-6c45ba971894@redhat.com> <178a2fec-eedc-3601-b4bd-d4e80e9c6dfb@redhat.com> <1ddf377b-8101-af3e-b5c2-7f199258fe87@redhat.com> Message-ID: On 3/11/20 1:37 PM, Aleksey Shipilev wrote: > On 3/11/20 1:37 PM, Roman Kennke wrote: >> I see you haven't touched conc-mark. While updating-on-mark is still >> used by full-GC, there should be a couple of paths that are unused now >> (e.g. in the init-mark parts), do you intend to (carefully) remove them >> in a follow-up? > > Yes, that is the plan: go through all uses of has_forwarded_objects in marking code and see if is > used somewhere else. If not, those should be removed. > >> Also, the block here: >> >> http://hg.openjdk.java.net/jdk/jdk/file/e50512f91026/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp#l1467 >> >> is not needed anymore, either. It's only there to conclude the GC cycle, >> in the case where the cycle officially (and awkwardly) ends at final-mark. > > Yes, that is one of the follow-ups. Ok, good then. Thanks, Roman From shade at redhat.com Wed Mar 11 12:59:03 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 13:59:03 +0100 Subject: RFC: Pick up 11.0.7+7 to sh/jdk11 Message-ID: <247047c1-c1d0-4a98-fecb-8bd6e8c90c41@redhat.com> Upstream pushed out 11.0.7+7, let's pick it up to sh/jdk11. Merge is trivial. I am going to tag it shenandoah-11.0.7+7. Changesets: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b7/changesets.txt Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 11 13:09:41 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 14:09:41 +0100 Subject: RFC: Pick up 11.0.7+7 to sh/jdk11 In-Reply-To: <247047c1-c1d0-4a98-fecb-8bd6e8c90c41@redhat.com> References: <247047c1-c1d0-4a98-fecb-8bd6e8c90c41@redhat.com> Message-ID: <30b33587-6e02-fff8-3216-df6cbf632db9@redhat.com> Ok! Thanks, Roman On 3/11/20 1:59 PM, Aleksey Shipilev wrote: > Upstream pushed out 11.0.7+7, let's pick it up to sh/jdk11. > > Merge is trivial. I am going to tag it shenandoah-11.0.7+7. > > Changesets: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b7/changesets.txt > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Wed Mar 11 13:34:15 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 14:34:15 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation In-Reply-To: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> References: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> Message-ID: <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> On 3/11/20 1:52 PM, Roman Kennke wrote: > Also, I wonder if we should not use the safe-iteration-limit here, but > rather have a fast lookup-table like we do for TAMS. Again, it is not > really relevant here, but the arraycopy follow-up will check the limit > on the mid-path of the arraycopy-barrier. WDYT? I'd prefer to introduce that check when arraycopy shortcut is in place. > Bug: > https://bugs.openjdk.java.net/browse/JDK-8240872 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.00/ The patch is okay. Do we really need to care about is_trash() during final mark? Those regions would be recycled soon anyway. I do wonder if we want to introduce the proper field in ShHeapRegion, rather than hijacking Space::concurrent_iteration_safe_limit, though. It becomes even more necessary since the meaning of it changes with this patch. This thing is more like "update_watermark" or some such. -- Thanks, -Aleksey From shade at redhat.com Wed Mar 11 13:49:31 2020 From: shade at redhat.com (shade at redhat.com) Date: Wed, 11 Mar 2020 13:49:31 +0000 Subject: hg: shenandoah/jdk11: 7 new changesets Message-ID: <202003111349.02BDnW4w012526@aojmv0008.oracle.com> Changeset: 4fd741a1a732 Author: chagedorn Date: 2020-03-02 10:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4fd741a1a732 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Summary: Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: 0293c475b353 Author: prr Date: 2019-11-05 15:55 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/0293c475b353 8233649: Update ProblemList.txt to exclude failing headful tests on macos Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 8de4f41a1829 Author: mdoerr Date: 2020-03-06 11:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8de4f41a1829 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: f56b853d452b Author: mbaesken Date: 2020-03-09 08:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f56b853d452b 8240724: [test] jdk11 downport of 8224475 misses binary file test/jdk/javax/swing/JTextPane/arrow.png Reviewed-by: sgehwolf + test/jdk/javax/swing/JTextPane/arrow.png Changeset: 52fcca765bd6 Author: goetz Date: 2020-03-11 09:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/52fcca765bd6 Added tag jdk-11.0.7+7 for changeset f56b853d452b ! .hgtags Changeset: 22696e5a649f Author: shade Date: 2020-03-11 13:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/22696e5a649f Merge ! .hgtags ! src/hotspot/share/opto/superword.cpp Changeset: d6e078ed28c5 Author: shade Date: 2020-03-11 13:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d6e078ed28c5 Added tag shenandoah-jdk-11.0.7+7 for changeset 22696e5a649f ! .hgtags From rkennke at redhat.com Wed Mar 11 17:08:33 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 18:08:33 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation In-Reply-To: <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> References: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> Message-ID: Hi Aleksey, On 3/11/20 2:34 PM, Aleksey Shipilev wrote: > On 3/11/20 1:52 PM, Roman Kennke wrote: >> Also, I wonder if we should not use the safe-iteration-limit here, but >> rather have a fast lookup-table like we do for TAMS. Again, it is not >> really relevant here, but the arraycopy follow-up will check the limit >> on the mid-path of the arraycopy-barrier. WDYT? > > I'd prefer to introduce that check when arraycopy shortcut s in place. Ok, I am taking it out. >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8240872 >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.00/ > > The patch is okay. > > Do we really need to care about is_trash() during final mark? Those regions would be recycled soon > anyway. Good you mention that. It was actually wrong and covered up the fact that the watermark is not reset properly on ShHeapRegion::recycle(). I fixed that now. > I do wonder if we want to introduce the proper field in ShHeapRegion, rather than hijacking > Space::concurrent_iteration_safe_limit, though. It becomes even more necessary since the meaning of > it changes with this patch. This thing is more like "update_watermark" or some such. Yes, I agree. Done. I also removed a suspicious (but, afaict pointless) update of the watermark in mark-compact. http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.01/ Roman From shade at redhat.com Wed Mar 11 17:11:43 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 18:11:43 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation In-Reply-To: References: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> Message-ID: <6bfceb84-96b9-19b8-475d-2ebee5b23671@redhat.com> On 3/11/20 6:08 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.01/ Good. Mostly stylistic nits. *) Rename this local in shenandoahHeap.cpp? 2420 HeapWord* top_at_start_ur = r->get_update_watermark(); *) shenandoahHeapRegion.cpp: excess semicolon at L435, and probably argument should be just "w"? That would make the code more obvious without highlighting. You'd probably want to assert in set_update_watermark that it is in bounds [bottom, top]? 433 HeapWord* get_update_watermark() const { 434 return _update_watermark; 435 }; 436 437 void set_update_watermark(HeapWord* update_watermark) { 438 _update_watermark = update_watermark; 439 } *) shenandoahHeapRegion.cpp. Call set_update_watermark in recycle() to capture the asserts. 482 _update_watermark = bottom(); *) New field should be initialized in ShenandoahHeapRegion::ShenandoahHeapRegion? I don't think we call recycle() before using the region. -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 11 17:47:09 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 18:47:09 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation In-Reply-To: <6bfceb84-96b9-19b8-475d-2ebee5b23671@redhat.com> References: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> <6bfceb84-96b9-19b8-475d-2ebee5b23671@redhat.com> Message-ID: <652955e9-21b9-8a72-3162-857c9f08e406@redhat.com> Right. I was thinking of constructor and asserts right after I've posted the RFR. Fixed this and all else that you've mentioned: http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.02/ Good now? Roman On 3/11/20 6:11 PM, Aleksey Shipilev wrote: > On 3/11/20 6:08 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.01/ > > Good. Mostly stylistic nits. > > *) Rename this local in shenandoahHeap.cpp? > > 2420 HeapWord* top_at_start_ur = r->get_update_watermark(); > > *) shenandoahHeapRegion.cpp: excess semicolon at L435, and probably argument should be just "w"? > That would make the code more obvious without highlighting. You'd probably want to assert in > set_update_watermark that it is in bounds [bottom, top]? > > 433 HeapWord* get_update_watermark() const { > 434 return _update_watermark; > 435 }; > 436 > 437 void set_update_watermark(HeapWord* update_watermark) { > 438 _update_watermark = update_watermark; > 439 } > > *) shenandoahHeapRegion.cpp. Call set_update_watermark in recycle() to capture the asserts. > > 482 _update_watermark = bottom(); > > *) New field should be initialized in ShenandoahHeapRegion::ShenandoahHeapRegion? I don't think we > call recycle() before using the region. > From shade at redhat.com Wed Mar 11 17:44:07 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 11 Mar 2020 18:44:07 +0100 Subject: RFR: 8240872: Shenandoah: Avoid updating new regions from start of evacuation In-Reply-To: <652955e9-21b9-8a72-3162-857c9f08e406@redhat.com> References: <70164c4b-dda1-0a94-53a2-20072c5f7986@redhat.com> <55d7c74d-57e2-bce3-7b82-96b0abcce6a2@redhat.com> <6bfceb84-96b9-19b8-475d-2ebee5b23671@redhat.com> <652955e9-21b9-8a72-3162-857c9f08e406@redhat.com> Message-ID: <962c8e9c-e0a3-b652-ab1f-ddf9bafc6fb2@redhat.com> On 3/11/20 6:47 PM, Roman Kennke wrote: > Right. I was thinking of constructor and asserts right after I've posted > the RFR. Fixed this and all else that you've mentioned: > > http://cr.openjdk.java.net/~rkennke/JDK-8240872/webrev.02/ Yes, good, thank you. -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 11 19:37:58 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 20:37:58 +0100 Subject: RFR: Pick up jdk8u252 Message-ID: Let's pick up jdk8u252. The merges have been clean except for tags and one occasion in debugInfo.cpp where I could pick upstream changes. List of changesets: http://cr.openjdk.java.net/~rkennke/pickup-jdk8u252/ Testing: hotspot_gc_shenandoah Good? Thanks, Roman From rkennke at redhat.com Wed Mar 11 19:54:17 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Mar 2020 20:54:17 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers Message-ID: The strong invariant gives us an opportunity to short-cut arraycopy-barriers: - if the src object is beyond the safe-iteration limit, e.g. has been allocated since evac-start, then it can not have any from-space references and thus does not require updating. - likewise, if the dst object is beyond TAMS, e.g. has been allocated since mark-start, then it can only have references that must have been reachable otherwise and thus don't require enqueueing in SATB. Short-cutting on those condition cuts out 80-90% of arraycopy slowpaths. It also brings in the closing of update-watermark after updating one region is finished, originally proposed in "8240872: Shenandoah: Avoid updating new regions from start of evacuation", but now with a fence to ensure that preceding updates of regions are indeed visible to threads before they see the watermark going down. Bug: https://bugs.openjdk.java.net/browse/JDK-8240873 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.00/ Testing: hotspot_gc_shenandoah, specjbb2015, some specjvm workloads Can I please get a review? Thanks, Roman From kdnilsen at amazon.com Wed Mar 11 20:23:29 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Wed, 11 Mar 2020 20:23:29 +0000 Subject: RFC: Draft patch for JDK-8225216 Message-ID: <83EDB057-9AFB-41C0-A8E3-F79987588ADC@amazon.com> The original problem report is available at?https://bugs.openjdk.java.net/browse/JDK-8225216 I have confirmed that, with this patch, I can build the patched tip and the patched tip succeeds when I run jtreg with the following options: ? ?$ make run-test TEST=hotspot_gc_shenandoah The newly fixed test is also successfully exercised by the following command: $ JT_JAVA=/Users/kdnilsen/jdk-13.0.1.jdk/Contents/Home \ ~/src/jtreg/jtreg/build/images/jtreg/bin/jtreg \ -jdk:./build/macosx-x86_64-server-release/images/jdk \ -javaoption:-XX:+UnlockExperimentalVMOptions \ -javaoption:-XX:+UseShenandoahGC \ -vmoptions:-showversion -dir:./test -verbose:summary hotspot/jtreg The draft patch consists of the following.?? I am not authorized to directly apply this patch, so will need a "sponsor" to apply the patch when it is judged ready. --- old/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp 2020-03-11 13:20:12.000000000 -0700 +++ new/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp 2020-03-11 13:20:12.000000000 -0700 @@ -178,6 +178,10 @@ if (gc_requested) { heap->reset_bytes_allocated_since_gc_start(); + // The default no-arg constructor for metaspace::MetaspaceSizesSnapshot + // captures the current state of metaspace memory. + metaspace::MetaspaceSizesSnapshot meta_sizes; + // 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); @@ -187,28 +191,24 @@ ShenandoahHeapLocker locker(heap->lock()); heap->free_set()->log_status(); } - } - switch (mode) { - case none: - break; - case concurrent_traversal: - service_concurrent_traversal_cycle(cause); - break; - case concurrent_normal: - service_concurrent_normal_cycle(cause); - break; - case stw_degenerated: - service_stw_degenerated_cycle(cause, degen_point); - break; - case stw_full: - service_stw_full_cycle(cause); - break; - default: - ShouldNotReachHere(); - } + switch (mode) { + case concurrent_traversal: + service_concurrent_traversal_cycle(cause); + break; + case concurrent_normal: + service_concurrent_normal_cycle(cause); + break; + case stw_degenerated: + service_stw_degenerated_cycle(cause, degen_point); + break; + case stw_full: + service_stw_full_cycle(cause); + break; + default: + ShouldNotReachHere(); + } - if (gc_requested) { // If this was the requested GC cycle, notify waiters about it if (explicit_gc_requested || implicit_gc_requested) { notify_gc_waiters(); @@ -244,6 +244,8 @@ heuristics->clear_metaspace_oom(); } + MetaspaceUtils::print_metaspace_change(meta_sizes); + // GC is over, we are at idle now if (ShenandoahPacing) { heap->pacer()->setup_for_idle(); --- old/test/hotspot/jtreg/TEST.groups 2020-03-11 13:20:14.000000000 -0700 +++ new/test/hotspot/jtreg/TEST.groups 2020-03-11 13:20:13.000000000 -0700 @@ -243,6 +243,7 @@ gc/ergonomics/TestInitialGCThreadLogging.java \ gc/ergonomics/TestDynamicNumberOfGCThreads.java \ gc/logging/TestGCId.java \ + gc/logging/TestMetaSpaceLog.java \ gc/metaspace/TestMetaspacePerfCounters.java \ gc/metaspace/TestMetaspacePerfCounters.java \ gc/startup_warnings/TestShenandoah.java \ --- old/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java 2020-03-11 13:20:15.000000000 -0700 +++ new/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java 2020-03-11 13:20:14.000000000 -0700 @@ -45,7 +45,6 @@ * java.management * @requires vm.gc != "Epsilon" * @requires vm.gc != "Z" - * @requires vm.gc != "Shenandoah" * * @compile TestMetaSpaceLog.java * @run driver ClassFileInstaller sun.hotspot.WhiteBox From zgu at redhat.com Wed Mar 11 21:43:16 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 11 Mar 2020 17:43:16 -0400 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> Message-ID: <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> Revised based on offline discussions. Piggyback on stack code root rescanning to SATB draining task. Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ Reran tests: hotspot_gc_shenandoah tools/javac Thanks, -Zhengyu On 3/4/20 6:06 PM, Zhengyu Gu wrote: > Traversal GC has the same issue, also need to remark on stack code roots > in final traversal. > > @@ -263,11 +263,12 @@ > ???? if (!_heap->is_degenerated_gc_in_progress()) { > ?????? ShenandoahTraversalRootsClosure roots_cl(q, rp); > ?????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); > ?????? if (unload_classes) { > ???????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); > -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, > NULL, &tc); > +??????? MarkingCodeBlobClosure code_cl(&roots_cl, > CodeBlobToOopClosure::FixRelocations); > +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, > &code_cl, &tc); > ?????? } else { > ???????? CLDToOopClosure cld_cl(&roots_cl, > ClassLoaderData::_claim_strong); > ???????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); > ?????? } > ???? } else { > > > Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ > > Thank, > > -Zhengyu > > On 2/25/20 12:13 PM, Zhengyu Gu wrote: >> Shenandoah encounters a few test failures with tools/javac. Verifier >> catches unmarked oops in nmethod's metadata during root evacuation in >> final mark phase. >> >> The problem is that, Shenandoah marks on stack nmethods in init mark >> pause, but it does not mark nmethod's metadata during concurrent mark >> phase, when new nmethod is about to be executed. >> >> The solution: >> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when the >> nmethod is about to be executed, when nmethod entry barrier is supported. >> >> 2) Remark on stack nmethod's metadata at final mark pause. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) >> ?? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and >> release) >> >> Thanks, >> >> -Zhengyu From adityam at microsoft.com Thu Mar 12 01:40:32 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Thu, 12 Mar 2020 01:40:32 +0000 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8231668 Webrev: https://cr.openjdk.java.net/~adityam/8231668/ This removes all the ForceDynamicNumberOfGCThreads-related code and the test cases using it. Note: this is my first patch since getting Author status, so please feel free to let me know if there's anything wrong with how I created the webrev. Other friendly folks have been doing that for me until now :). Thanks, Aditya From zgu at redhat.com Thu Mar 12 01:44:08 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 11 Mar 2020 21:44:08 -0400 Subject: [15] RFR (T) 8240915: Shenandoah: Remove unused fields in init mark tasks Message-ID: <30a21e14-8807-0708-6442-6776d1ec1a55@redhat.com> Please review this trivial change that removes unused fields in ShenandoahInitTraversalCollectionTask and ShenandoahInitMarkRootsTask. Bug: https://bugs.openjdk.java.net/browse/JDK-8240915 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240915/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From kdnilsen at amazon.com Thu Mar 12 05:14:03 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Thu, 12 Mar 2020 05:14:03 +0000 Subject: RFR: Patch for JDK-8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Message-ID: <9AF3AB76-C7AC-4DFF-A3F2-9C870A3CFD21@amazon.com> The original problem report is available at https://bugs.openjdk.java.net/browse/JDK-8225216 I have confirmed that, with this patch, I can build the patched tip and the following regression test now succeeds: $ make images run-test TEST=gc/logging/TestMetaSpaceLog.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" The draft patch consists of the following. I am not authorized to directly apply this patch so will need a "sponsor" to apply the patch when it is judged ready. --- old/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp 2020-03-11 22:10:58.000000000 -0700 +++ new/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp 2020-03-11 22:10:58.000000000 -0700 @@ -178,6 +178,9 @@ if (gc_requested) { heap->reset_bytes_allocated_since_gc_start(); + // Use default constructor to snapshot the Metaspace state before GC. + metaspace::MetaspaceSizesSnapshot meta_sizes; + // 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); @@ -187,28 +190,24 @@ ShenandoahHeapLocker locker(heap->lock()); heap->free_set()->log_status(); } - } - switch (mode) { - case none: - break; - case concurrent_traversal: - service_concurrent_traversal_cycle(cause); - break; - case concurrent_normal: - service_concurrent_normal_cycle(cause); - break; - case stw_degenerated: - service_stw_degenerated_cycle(cause, degen_point); - break; - case stw_full: - service_stw_full_cycle(cause); - break; - default: - ShouldNotReachHere(); - } + switch (mode) { + case concurrent_traversal: + service_concurrent_traversal_cycle(cause); + break; + case concurrent_normal: + service_concurrent_normal_cycle(cause); + break; + case stw_degenerated: + service_stw_degenerated_cycle(cause, degen_point); + break; + case stw_full: + service_stw_full_cycle(cause); + break; + default: + ShouldNotReachHere(); + } - if (gc_requested) { // If this was the requested GC cycle, notify waiters about it if (explicit_gc_requested || implicit_gc_requested) { notify_gc_waiters(); @@ -244,6 +243,9 @@ heuristics->clear_metaspace_oom(); } + // Print Metaspace change following GC (if logging is enabled). + MetaspaceUtils::print_metaspace_change(meta_sizes); + // GC is over, we are at idle now if (ShenandoahPacing) { heap->pacer()->setup_for_idle(); --- old/test/hotspot/jtreg/TEST.groups 2020-03-11 22:10:59.000000000 -0700 +++ new/test/hotspot/jtreg/TEST.groups 2020-03-11 22:10:59.000000000 -0700 @@ -243,6 +243,7 @@ gc/ergonomics/TestInitialGCThreadLogging.java \ gc/ergonomics/TestDynamicNumberOfGCThreads.java \ gc/logging/TestGCId.java \ + gc/logging/TestMetaSpaceLog.java \ gc/metaspace/TestMetaspacePerfCounters.java \ gc/metaspace/TestMetaspacePerfCounters.java \ gc/startup_warnings/TestShenandoah.java \ --- old/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java 2020-03-11 22:11:00.000000000 -0700 +++ new/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java 2020-03-11 22:11:00.000000000 -0700 @@ -45,7 +45,6 @@ * java.management * @requires vm.gc != "Epsilon" * @requires vm.gc != "Z" - * @requires vm.gc != "Shenandoah" * * @compile TestMetaSpaceLog.java * @run driver ClassFileInstaller sun.hotspot.WhiteBox From shade at redhat.com Thu Mar 12 05:42:09 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 06:42:09 +0100 Subject: RFR: Pick up jdk8u252 In-Reply-To: References: Message-ID: <9b5ed832-1280-1d83-5ac6-3cba477af4fd@redhat.com> On 3/11/20 8:37 PM, Roman Kennke wrote: > Let's pick up jdk8u252. The merges have been clean except for tags and > one occasion in debugInfo.cpp where I could pick upstream changes. > > List of changesets: > http://cr.openjdk.java.net/~rkennke/pickup-jdk8u252/ Yes, good, please push. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 05:45:31 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 06:45:31 +0100 Subject: [15] RFR (T) 8240915: Shenandoah: Remove unused fields in init mark tasks In-Reply-To: <30a21e14-8807-0708-6442-6776d1ec1a55@redhat.com> References: <30a21e14-8807-0708-6442-6776d1ec1a55@redhat.com> Message-ID: On 3/12/20 2:44 AM, Zhengyu Gu wrote: > Please review this trivial change that removes unused fields in > ShenandoahInitTraversalCollectionTask and ShenandoahInitMarkRootsTask. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8240915 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240915/webrev.00/ Looks good to me. I wonder (idly) when did they stopped being used. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 05:49:53 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 06:49:53 +0100 Subject: RFR: Patch for JDK-8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah In-Reply-To: <9AF3AB76-C7AC-4DFF-A3F2-9C870A3CFD21@amazon.com> References: <9AF3AB76-C7AC-4DFF-A3F2-9C870A3CFD21@amazon.com> Message-ID: On 3/12/20 6:14 AM, Nilsen, Kelvin wrote: > The original problem report is available at https://bugs.openjdk.java.net/browse/JDK-8225216 > > I have confirmed that, with this patch, I can build the patched tip and the following regression test now succeeds: > > $ make images run-test TEST=gc/logging/TestMetaSpaceLog.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" > > The draft patch consists of the following. I am not authorized to directly apply this patch so will need a "sponsor" to apply the patch when it is judged ready. The patch looks good. I will sponsor it. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 05:51:02 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 06:51:02 +0100 Subject: RFC: Draft patch for JDK-8225216 In-Reply-To: <83EDB057-9AFB-41C0-A8E3-F79987588ADC@amazon.com> References: <83EDB057-9AFB-41C0-A8E3-F79987588ADC@amazon.com> Message-ID: <0b3f9500-aab7-faf7-75a1-55854999394f@redhat.com> On 3/11/20 9:23 PM, Nilsen, Kelvin wrote: > The original problem report is available at?https://bugs.openjdk.java.net/browse/JDK-8225216 This is already reviewed: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/011662.html Nothing else is needed in this thread. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 06:09:28 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 07:09:28 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: References: Message-ID: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> On 3/12/20 2:40 AM, Aditya Mandaleeka wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8231668 > > Webrev: > https://cr.openjdk.java.net/~adityam/8231668/ This looks good to me. Stylistic nits: *) Conditions like this: 865 if (!UseDynamicNumberOfGCThreads || 866 !FLAG_IS_DEFAULT(ConcGCThreads)) { ...can now be written like: if (!UseDynamicNumberOfGCThreads || !FLAG_IS_DEFAULT(ConcGCThreads)) { *) Please update copyrights to mention 2020. For example, in workerPolicy.cpp: Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. > Note: this is my first patch since getting Author status, so please feel free to let me know if there's > anything wrong with how I created the webrev. Other friendly folks have been doing that for me > until now :). Many of us use "mq" extension to stash the patches. The upside with webrevs would be that you can add the changeset description (hg qrefresh -e) right to the patch, and then webrev would pick it up. It would also generate the changeset itself, so sponsors would just download it and push on your behalf. Metadata for this change is something like: 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: XXX (list of reviewers from census) Contributed-by: Aditya Mandaleeka -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 06:40:59 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 07:40:59 +0100 Subject: RFR: Patch for JDK-8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah In-Reply-To: References: <9AF3AB76-C7AC-4DFF-A3F2-9C870A3CFD21@amazon.com> Message-ID: <9d7de7f4-0e1b-11d9-2b07-147c3298d09b@redhat.com> On 3/12/20 6:49 AM, Aleksey Shipilev wrote: > On 3/12/20 6:14 AM, Nilsen, Kelvin wrote: > The patch looks good. I will sponsor it. Pushed: https://hg.openjdk.java.net/jdk/jdk/rev/4ee517d2e206 Minor process thingie: mail subjects usually take this form: RFR (S) 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah I know some people who filter in/out the "RFR" in subject for pending reviews. I don't think any of us (Shenandoah devs) do, but following the conventional format is handy. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 08:31:30 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 09:31:30 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers In-Reply-To: References: Message-ID: On 3/11/20 8:54 PM, Roman Kennke wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8240873 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.00/ *) Wouldn't it make more sense to do acquire/release in (get|set)_update_watermark? *) This bit is incorrect, should be set_update_watermark: 2426 r->set_concurrent_iteration_safe_limit(r->bottom()); -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 12 09:24:35 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Thu, 12 Mar 2020 09:24:35 +0000 Subject: hg: shenandoah/jdk8/hotspot: 38 new changesets Message-ID: <202003120924.02C9OZNe017008@aojmv0008.oracle.com> Changeset: 43c1f20ba33f Author: andrew Date: 2020-01-17 19:08 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/43c1f20ba33f Added tag jdk8u242-ga for changeset 7c9f6b5f8d11 ! .hgtags Changeset: a0b9b4d15694 Author: andrew Date: 2019-12-17 07:03 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a0b9b4d15694 Added tag jdk8u252-b00 for changeset 8c0733543544 ! .hgtags Changeset: 567ee384afe3 Author: phh Date: 2019-12-17 17:25 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/567ee384afe3 8234264: Incorrect 8047434 JDK 8 backport in 8219677 Summary: Reverse uses of fork_and_exec() second argument in vError.cpp. Reviewed-by: sgehwolf, simonis ! src/share/vm/utilities/vmError.cpp Changeset: 944634dd98a4 Author: fmatte Date: 2020-01-06 21:22 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/944634dd98a4 8235637: jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled Summary: error handling for "lib_base_diff == 0" Reviewed-by: ysuenaga, cjplummer, kevinw Contributed-by: suenaga at oss.nttdata.com ! agent/src/os/linux/ps_core.c Changeset: 127e100fb80e Author: sgehwolf Date: 2019-10-29 16:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/127e100fb80e 8233023: assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory Summary: Include missing verification code from JDK-8140309 backport Reviewed-by: phh, roland ! src/share/vm/opto/memnode.cpp Changeset: acd345f4f9e5 Author: lfoltan Date: 2014-05-06 09:56 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/acd345f4f9e5 8041620: Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope. Summary: Remove adlc's unused class FileBuffRegion. Reviewed-by: coleenp, dholmes, kvn ! src/share/vm/adlc/filebuff.cpp ! src/share/vm/adlc/filebuff.hpp Changeset: 8c3a44b7ecfc Author: ddong Date: 2020-01-16 10:47 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8c3a44b7ecfc 8232355: Two obsolete flags have the wrong obsolete version in 8u Summary: Correct the obsolete version of UseOldInlining and AutoShutdownNMT, and delete UseOldInlining in c2_globals.hpp Reviewed-by: phh ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/arguments.cpp Changeset: e67abc2d032f Author: shade Date: 2019-09-19 09:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e67abc2d032f 8231201: hs_err should print coalesced safepoint operations in Events section Reviewed-by: phh, dholmes ! src/share/vm/runtime/vmThread.cpp Changeset: cd47e690607d Author: sgehwolf Date: 2019-09-27 16:23 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cd47e690607d 8227397: Add --with-extra-asflags configure option Reviewed-by: andrew, ihse, martin ! make/aix/makefiles/vm.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make Changeset: a67e9c6edcdd Author: aeriksso Date: 2020-01-24 09:41 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a67e9c6edcdd 8144732: VM_HeapDumper hits assert with bad dump_len Reviewed-by: dsamersoff ! src/share/vm/runtime/arguments.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 0cf14bdd73fe Author: andrew Date: 2020-01-25 06:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0cf14bdd73fe Added tag jdk8u252-b01 for changeset a67e9c6edcdd ! .hgtags Changeset: 95bccc5efc6a Author: andrew Date: 2020-01-27 05:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/95bccc5efc6a Merge ! .hgtags Changeset: 147dfbe6ffa1 Author: clanger Date: 2020-01-25 06:34 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/147dfbe6ffa1 8233995: java.vm.vendor (and potentially other properties/fields) not correctly set in Windows/Hotspot build of OpenJDK8 Reviewed-by: andrew ! make/windows/build.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/vm.make Changeset: a9ee6b70a32e Author: henryjen Date: 2014-02-11 21:32 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a9ee6b70a32e 8033215: clang: node.cpp:284 IDX_INIT macro use uninitialized field _out Reviewed-by: twisti, kvn ! src/share/vm/opto/node.cpp Changeset: 04f3503b80c5 Author: prr Date: 2019-10-30 13:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/04f3503b80c5 8232154: Update Mesa 3-D Headers to version 19.2.1 Reviewed-by: serb, kcr ! THIRD_PARTY_README Changeset: 813683371450 Author: andrew Date: 2020-01-29 07:06 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/813683371450 Merge Changeset: 5bd3b8c05552 Author: roland Date: 2016-01-11 16:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/5bd3b8c05552 8146792: Predicate moved after partial peel may lead to broken graph Summary: partial peel can leave a pinned node between predicates and loop and prevent some loop predication Reviewed-by: kvn, phh, andrew ! src/share/vm/opto/loopPredicate.cpp + test/compiler/loopopts/BadPredicateAfterPartialPeel.java Changeset: 6021152f9ff3 Author: andrew Date: 2020-02-03 06:40 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6021152f9ff3 Added tag jdk8u252-b02 for changeset 5bd3b8c05552 ! .hgtags Changeset: d975dfffada6 Author: andrew Date: 2020-02-04 02:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d975dfffada6 Merge ! .hgtags ! THIRD_PARTY_README Changeset: fc8a3d56cd0c Author: sgehwolf Date: 2020-02-17 08:53 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fc8a3d56cd0c 8134579: [TESTBUG] Some bmi tests fail if can_access_local_variables is on. Summary: Others fail because of uncommon trap. Also fix test file names. Reviewed-by: roland, andrew ! test/compiler/intrinsics/bmi/TestAndnI.java ! test/compiler/intrinsics/bmi/TestAndnL.java - test/compiler/intrinsics/bmi/verifycode/AddnTestI.java - test/compiler/intrinsics/bmi/verifycode/AddnTestL.java + test/compiler/intrinsics/bmi/verifycode/AndnTestI.java + test/compiler/intrinsics/bmi/verifycode/AndnTestL.java ! test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java ! test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java ! test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java ! test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java Changeset: 2e9728044507 Author: andrew Date: 2020-02-17 09:29 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2e9728044507 Merge - test/runtime/RedefineTests/test8178870.sh Changeset: 29ef249e9953 Author: andrew Date: 2020-02-17 09:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/29ef249e9953 Added tag jdk8u252-b03 for changeset 2e9728044507 ! .hgtags Changeset: b00c93a7805c Author: zgu Date: 2019-02-20 08:31 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b00c93a7805c 8219244: NMT: Change ThreadSafepointState's allocation type from mtInternal to mtThread Reviewed-by: coleenp, minqi ! src/share/vm/runtime/safepoint.hpp Changeset: bb1da64b0492 Author: eosterlund Date: 2019-08-16 16:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/bb1da64b0492 8229345: Memory leak due to vtable stubs not being shared on SPARC Reviewed-by: mdoerr, dholmes, kvn ! src/cpu/ppc/vm/globals_ppc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/runtime/globals.hpp Changeset: 39b41ab3366c Author: mdoerr Date: 2019-12-20 19:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/39b41ab3366c 8236179: C1 register allocation error with T_ADDRESS Reviewed-by: rkennke, vlivanov, roland, mdoerr Contributed-by: Aditya Mandaleeka ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/share/vm/c1/c1_FrameMap.hpp Changeset: fe4d09b50902 Author: andrew Date: 2020-02-20 03:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fe4d09b50902 Merge Changeset: e517ff39c40d Author: jmasa Date: 2015-11-04 10:12 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e517ff39c40d 8135318: CMS wrong max_eden_size for check_gc_overhead_limit Reviewed-by: jmasa, simonis Contributed-by: ivan.galkin at sap.com ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: ff1c3c1867b5 Author: fyang Date: 2015-10-24 15:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ff1c3c1867b5 8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid Summary: Fix race between ObjectMonitor alloc and verification code; teach SA about "static pointer volatile" fields. Reviewed-by: andrew ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: e314de338c65 Author: andrew Date: 2020-02-20 06:28 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e314de338c65 Added tag jdk8u252-b04 for changeset ff1c3c1867b5 ! .hgtags Changeset: 9efdbe72ed1d Author: vlivanov Date: 2019-12-03 20:13 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9efdbe72ed1d 8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type Reviewed-by: kvn, thartmann ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 2e636385f137 Author: rraghavan Date: 2017-11-27 03:11 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2e636385f137 8191227: issues with unsafe handle resolution Summary: added ThreadInVMfromNative or ThreadInVMfromUnknown support Reviewed-by: thartmann, vlivanov ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/share/vm/code/debugInfo.cpp Changeset: 4df47a343601 Author: shade Date: 2020-02-27 05:40 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4df47a343601 8187078: -XX:+VerifyOops finds numerous problems when running JPRT Reviewed-by: andrew ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/runtime/java.cpp Changeset: a6f289d66efe Author: vlivanov Date: 2020-02-27 05:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a6f289d66efe 8181872: C1: possible overflow when strength reducing integer multiply by constant Reviewed-by: kvn, andrew ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp + test/compiler/c1/MultiplyByMaxInt.java Changeset: 6a809b1ac0a8 Author: fyang Date: 2020-02-27 06:05 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6a809b1ac0a8 8167409: Invalid value passed to critical JNI function Summary: the tmp reg used to break the shuffling cycle (handled in ComputeMoveOrder) is set to 64 bit. Reviewed-by: andrew ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp + test/compiler/criticalnatives/argumentcorruption/CheckLongArgs.java + test/compiler/criticalnatives/argumentcorruption/Test8167409.sh + test/compiler/criticalnatives/argumentcorruption/libCNCheckLongArgs.c Changeset: 68172de2a0d7 Author: andrew Date: 2020-02-27 06:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/68172de2a0d7 8055283: Expand ResourceHashtable with C_HEAP allocation, removal and some unit tests Reviewed-by: phh ! src/share/vm/prims/jni.cpp + src/share/vm/utilities/resourceHash.cpp ! src/share/vm/utilities/resourceHash.hpp Changeset: 9003f35baaa0 Author: twisti Date: 2014-01-07 14:26 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9003f35baaa0 8022263: use same Clang warnings on BSD as on Linux Reviewed-by: kvn, iveresov ! make/bsd/makefiles/gcc.make ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/prims/forte.cpp Changeset: b4fd7e078c54 Author: andrew Date: 2020-02-27 19:01 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b4fd7e078c54 Added tag jdk8u252-b05 for changeset 9003f35baaa0 ! .hgtags Changeset: 94cff2b5b527 Author: rkennke Date: 2020-03-11 18:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/94cff2b5b527 Merge ! .hgtags ! THIRD_PARTY_README ! agent/src/os/linux/ps_core.c ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/windows/makefiles/compile.make ! make/windows/makefiles/vm.make ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/zero/vm/globals_zero.hpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/code/debugInfo.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/vmError.cpp - test/compiler/intrinsics/bmi/verifycode/AddnTestI.java - test/compiler/intrinsics/bmi/verifycode/AddnTestL.java From rkennke at redhat.com Thu Mar 12 09:24:32 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Thu, 12 Mar 2020 09:24:32 +0000 Subject: hg: shenandoah/jdk8/langtools: 12 new changesets Message-ID: <202003120924.02C9OWDG016964@aojmv0008.oracle.com> Changeset: d917ace348d7 Author: andrew Date: 2020-01-17 19:08 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/d917ace348d7 Added tag jdk8u242-ga for changeset b2b31daec366 ! .hgtags Changeset: dba0e28b9488 Author: andrew Date: 2019-12-17 07:03 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/dba0e28b9488 Added tag jdk8u252-b00 for changeset fefafdbaeb2d ! .hgtags Changeset: 1f24b8ef2a38 Author: andrew Date: 2020-01-25 06:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/1f24b8ef2a38 Added tag jdk8u252-b01 for changeset dba0e28b9488 ! .hgtags Changeset: d2fa57e18001 Author: andrew Date: 2020-01-27 05:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/d2fa57e18001 Merge ! .hgtags Changeset: b8ab53207035 Author: prr Date: 2019-10-30 13:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b8ab53207035 8232154: Update Mesa 3-D Headers to version 19.2.1 Reviewed-by: serb, kcr ! THIRD_PARTY_README Changeset: 24a277806929 Author: andrew Date: 2020-02-03 05:45 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/24a277806929 Merge Changeset: 53ca7aa29c46 Author: andrew Date: 2020-02-03 06:40 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/53ca7aa29c46 Added tag jdk8u252-b02 for changeset 24a277806929 ! .hgtags Changeset: 665990488f3d Author: andrew Date: 2020-02-04 02:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/665990488f3d Merge ! .hgtags ! THIRD_PARTY_README Changeset: 549e69222810 Author: andrew Date: 2020-02-17 09:41 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/549e69222810 Added tag jdk8u252-b03 for changeset 665990488f3d ! .hgtags Changeset: 4d4304fcc0cc Author: andrew Date: 2020-02-20 06:28 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4d4304fcc0cc Added tag jdk8u252-b04 for changeset 549e69222810 ! .hgtags Changeset: 4010269cf496 Author: andrew Date: 2020-02-27 19:01 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4010269cf496 Added tag jdk8u252-b05 for changeset 4d4304fcc0cc ! .hgtags Changeset: 7d6d7d081762 Author: rkennke Date: 2020-03-11 18:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/7d6d7d081762 Merge ! .hgtags ! THIRD_PARTY_README From shade at redhat.com Thu Mar 12 09:43:12 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 10:43:12 +0100 Subject: RFR (S) 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8240948 Unfortunately, not much code can be eliminated from conc-mark, because Full GC (and Traversal?) share some of that code. Webrev: https://cr.openjdk.java.net/~shade/8240948/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From sgehwolf at redhat.com Thu Mar 12 09:30:56 2020 From: sgehwolf at redhat.com (Severin Gehwolf) Date: Thu, 12 Mar 2020 10:30:56 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> Message-ID: On Thu, 2020-03-12 at 07:09 +0100, Aleksey Shipilev wrote: > Metadata for this change is something like: > > 8231668: Remove ForceDynamicNumberOfGCThreads > Reviewed-by: XXX (list of reviewers from census) > Contributed-by: Aditya Mandaleeka For authors, 'Contributed-by:' line would not be necessary, no? They could just use "hg commit -u ". That's my understanding anyhow. Thanks, Severin From rkennke at redhat.com Thu Mar 12 11:04:31 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 12:04:31 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers In-Reply-To: References: Message-ID: <58ecb1aa-ff0b-d833-83e2-cbeeeb7582bb@redhat.com> On 3/12/20 9:31 AM, Aleksey Shipilev wrote: > On 3/11/20 8:54 PM, Roman Kennke wrote: >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8240873 >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.00/ > > *) Wouldn't it make more sense to do acquire/release in (get|set)_update_watermark? > Hmm ok. This requires making the field. I am not sure if the cast in get_update_watermark() is ok? > *) This bit is incorrect, should be set_update_watermark: > > 2426 r->set_concurrent_iteration_safe_limit(r->bottom()); Hoops. Corrected. http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.02/ WDYT? From shade at redhat.com Thu Mar 12 11:04:42 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 12:04:42 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers In-Reply-To: <58ecb1aa-ff0b-d833-83e2-cbeeeb7582bb@redhat.com> References: <58ecb1aa-ff0b-d833-83e2-cbeeeb7582bb@redhat.com> Message-ID: On 3/12/20 12:04 PM, Roman Kennke wrote: >> *) Wouldn't it make more sense to do acquire/release in (get|set)_update_watermark? > > Hmm ok. This requires making the field. I am not sure if the cast in > get_update_watermark() is ok? I don't quite understand why cast is needed. There are already _critical_pins and _live_data fields that are atomic, why can't we do the same? > http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.02/ Looks fine, modulo nit above. -- Thanks, -Aleksey From zgu at redhat.com Thu Mar 12 13:23:22 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 12 Mar 2020 09:23:22 -0400 Subject: [15] RFR 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Message-ID: Please review this small enhancement, that avoids scanning thread's code roots if we scan all code blobs anyway. Bug: https://bugs.openjdk.java.net/browse/JDK-8240917 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Thu Mar 12 14:12:01 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 15:12:01 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers In-Reply-To: References: <58ecb1aa-ff0b-d833-83e2-cbeeeb7582bb@redhat.com> Message-ID: <54c9b492-a1b9-4c07-7b1f-a432e989c9e0@redhat.com> On 3/12/20 12:04 PM, Aleksey Shipilev wrote: > On 3/12/20 12:04 PM, Roman Kennke wrote: >>> *) Wouldn't it make more sense to do acquire/release in (get|set)_update_watermark? >> >> Hmm ok. This requires making the field. I am not sure if the cast in >> get_update_watermark() is ok? > > I don't quite understand why cast is needed. There are already _critical_pins and _live_data fields > that are atomic, why can't we do the same? > Turns out that: volatile HeapWord* _update_watermark; is not the same as: HeapWord* volatile _update_watermark; The former means 'a pointer to a volatile HeapWord', the latter 'a volatile pointer to a HeapWord'. We need the latter. Testing showed an occasional failure caused by piggy-backing updaterefs on marking: it would skip updating when taking the marking-shortcut. While it is not really relevant anymore, I changed the conditions a bit to not blindly return in the arraycopy-pre-barrier, but do the check for updating independently. Overall a good example why it was a good move to get rid of the piggy-backing. It causes more maintenance for no real benefit. http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.03/ Passes all tests in hotspot_gc_shenandoah Good now? Roman From rkennke at redhat.com Thu Mar 12 14:14:02 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 15:14:02 +0100 Subject: [15] RFR 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner In-Reply-To: References: Message-ID: <1be5f430-d7ae-0615-744a-60e8b1fea05e@redhat.com> It's doing the same in both branches, or what am I missing? Roman On 3/12/20 2:23 PM, Zhengyu Gu wrote: > Please review this small enhancement, that avoids scanning thread's code > roots if we scan all code blobs anyway. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8240917 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.00/ > > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu > From rkennke at redhat.com Thu Mar 12 14:20:56 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 15:20:56 +0100 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> Message-ID: Hi Zhengyu, in src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: + } else if (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) { + // Disarm nmethods that armed for concurrent mark. + // On normal code path (non-empty Cset), it depends on update_roots() to + // disarm nmethods in degenerated GC. + ShenandoahCodeRoots::disarm_nmethods(); beware that the update_roots() is only called at the end of update_refs phase. The same call at end of marking is orphaned since removal of piggy-backed marking. Otherwise looks good. Thanks, Roman On 3/11/20 10:43 PM, Zhengyu Gu wrote: > Revised based on offline discussions. > > Piggyback on stack code root rescanning to SATB draining task. > > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ > > Reran tests: > ? hotspot_gc_shenandoah > ? tools/javac > > Thanks, > > -Zhengyu > > On 3/4/20 6:06 PM, Zhengyu Gu wrote: >> Traversal GC has the same issue, also need to remark on stack code >> roots in final traversal. >> >> @@ -263,11 +263,12 @@ >> ????? if (!_heap->is_degenerated_gc_in_progress()) { >> ??????? ShenandoahTraversalRootsClosure roots_cl(q, rp); >> ??????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); >> ??????? if (unload_classes) { >> ????????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); >> -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >> NULL, &tc); >> +??????? MarkingCodeBlobClosure code_cl(&roots_cl, >> CodeBlobToOopClosure::FixRelocations); >> +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >> &code_cl, &tc); >> ??????? } else { >> ????????? CLDToOopClosure cld_cl(&roots_cl, >> ClassLoaderData::_claim_strong); >> ????????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); >> ??????? } >> ????? } else { >> >> >> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ >> >> Thank, >> >> -Zhengyu >> >> On 2/25/20 12:13 PM, Zhengyu Gu wrote: >>> Shenandoah encounters a few test failures with tools/javac. Verifier >>> catches unmarked oops in nmethod's metadata during root evacuation in >>> final mark phase. >>> >>> The problem is that, Shenandoah marks on stack nmethods in init mark >>> pause, but it does not mark nmethod's metadata during concurrent mark >>> phase, when new nmethod is about to be executed. >>> >>> The solution: >>> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when >>> the nmethod is about to be executed, when nmethod entry barrier is >>> supported. >>> >>> 2) Remark on stack nmethod's metadata at final mark pause. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) >>> ?? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and >>> release) >>> >>> Thanks, >>> >>> -Zhengyu > From rkennke at redhat.com Thu Mar 12 14:24:46 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 15:24:46 +0100 Subject: RFR (S) 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 In-Reply-To: References: Message-ID: <6f5c904e-06c5-8b87-857a-db6d8fd4e3c0@redhat.com> Looks good. Let's do the rest carefully. Full-GC requires updating refs by traversal because we may not be able to parse the heap sequentially. Traversal should be mostly-ok because it has its own set of closures to deal with updating refs. Thanks, Roman On 3/12/20 10:43 AM, Aleksey Shipilev wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8240948 > > Unfortunately, not much code can be eliminated from conc-mark, because Full GC (and Traversal?) > share some of that code. > > Webrev: > https://cr.openjdk.java.net/~shade/8240948/webrev.01/ > > Testing: hotspot_gc_shenandoah > From zgu at redhat.com Thu Mar 12 15:01:17 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 12 Mar 2020 11:01:17 -0400 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> Message-ID: <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> Hi Roman, On 3/12/20 10:20 AM, Roman Kennke wrote: > Hi Zhengyu, > > in src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: > + } else if > (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) { > + // Disarm nmethods that armed for concurrent mark. > + // On normal code path (non-empty Cset), it depends on > update_roots() to > + // disarm nmethods in degenerated GC. > + ShenandoahCodeRoots::disarm_nmethods(); > > beware that the update_roots() is only called at the end of update_refs > phase. The same call at end of marking is orphaned since removal of > piggy-backed marking. I think it is fine, successful degenerated GC cycle should always execute update_refs, no? Thanks, -Zhengyu > > Otherwise looks good. > > Thanks, > Roman > > > On 3/11/20 10:43 PM, Zhengyu Gu wrote: >> Revised based on offline discussions. >> >> Piggyback on stack code root rescanning to SATB draining task. >> >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ >> >> Reran tests: >> ? hotspot_gc_shenandoah >> ? tools/javac >> >> Thanks, >> >> -Zhengyu >> >> On 3/4/20 6:06 PM, Zhengyu Gu wrote: >>> Traversal GC has the same issue, also need to remark on stack code >>> roots in final traversal. >>> >>> @@ -263,11 +263,12 @@ >>> ????? if (!_heap->is_degenerated_gc_in_progress()) { >>> ??????? ShenandoahTraversalRootsClosure roots_cl(q, rp); >>> ??????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); >>> ??????? if (unload_classes) { >>> ????????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); >>> -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>> NULL, &tc); >>> +??????? MarkingCodeBlobClosure code_cl(&roots_cl, >>> CodeBlobToOopClosure::FixRelocations); >>> +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>> &code_cl, &tc); >>> ??????? } else { >>> ????????? CLDToOopClosure cld_cl(&roots_cl, >>> ClassLoaderData::_claim_strong); >>> ????????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); >>> ??????? } >>> ????? } else { >>> >>> >>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ >>> >>> Thank, >>> >>> -Zhengyu >>> >>> On 2/25/20 12:13 PM, Zhengyu Gu wrote: >>>> Shenandoah encounters a few test failures with tools/javac. Verifier >>>> catches unmarked oops in nmethod's metadata during root evacuation in >>>> final mark phase. >>>> >>>> The problem is that, Shenandoah marks on stack nmethods in init mark >>>> pause, but it does not mark nmethod's metadata during concurrent mark >>>> phase, when new nmethod is about to be executed. >>>> >>>> The solution: >>>> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when >>>> the nmethod is about to be executed, when nmethod entry barrier is >>>> supported. >>>> >>>> 2) Remark on stack nmethod's metadata at final mark pause. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >>>> >>>> Test: >>>> ?? hotspot_gc_shenandoah (fastdebug and release) >>>> ?? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and >>>> release) >>>> >>>> Thanks, >>>> >>>> -Zhengyu >> > From zgu at redhat.com Thu Mar 12 15:34:21 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 12 Mar 2020 11:34:21 -0400 Subject: [15] RFR 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner In-Reply-To: <1be5f430-d7ae-0615-744a-60e8b1fea05e@redhat.com> References: <1be5f430-d7ae-0615-744a-60e8b1fea05e@redhat.com> Message-ID: <5f1056c2-1639-8753-473e-d383b12a9cbd@redhat.com> Oops, copy/paste error, updated: http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.01/ Reran hotspot_gc_shenandaoh tests Thanks, -Zhengyu On 3/12/20 10:14 AM, Roman Kennke wrote: > It's doing the same in both branches, or what am I missing? > > Roman > > On 3/12/20 2:23 PM, Zhengyu Gu wrote: >> Please review this small enhancement, that avoids scanning thread's code >> roots if we scan all code blobs anyway. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8240917 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.00/ >> >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) >> >> Thanks, >> >> -Zhengyu >> > From shade at redhat.com Thu Mar 12 16:14:04 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 17:14:04 +0100 Subject: RFR: 8240873: Shenandoah: Short-cut arraycopy barriers In-Reply-To: <54c9b492-a1b9-4c07-7b1f-a432e989c9e0@redhat.com> References: <58ecb1aa-ff0b-d833-83e2-cbeeeb7582bb@redhat.com> <54c9b492-a1b9-4c07-7b1f-a432e989c9e0@redhat.com> Message-ID: On 3/12/20 3:12 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/JDK-8240873/webrev.03/ OK, good. -- Thanks, -Aleksey From shade at redhat.com Thu Mar 12 16:27:23 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 12 Mar 2020 17:27:23 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> Message-ID: <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> On 3/12/20 10:30 AM, Severin Gehwolf wrote: > On Thu, 2020-03-12 at 07:09 +0100, Aleksey Shipilev wrote: >> Metadata for this change is something like: >> >> 8231668: Remove ForceDynamicNumberOfGCThreads >> Reviewed-by: XXX (list of reviewers from census) >> Contributed-by: Aditya Mandaleeka > > For authors, 'Contributed-by:' line would not be necessary, no? They > could just use "hg commit -u ". That's my understanding > anyhow. I believe Contributed-by is cleaner and captures the reality better. If you look in the repo history, there are plenty of Contributed-by lines mentioning those who have author status. -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 12 16:43:05 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 17:43:05 +0100 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> Message-ID: <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> >> Hi Zhengyu, >> >> in src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: >> +????? } else if >> (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) { >> +??????? // Disarm nmethods that armed for concurrent mark. >> +??????? // On normal code path (non-empty Cset), it depends on >> update_roots() to >> +??????? // disarm nmethods in degenerated GC. >> +??????? ShenandoahCodeRoots::disarm_nmethods(); >> >> beware that the update_roots() is only called at the end of update_refs >> phase. The same call at end of marking is orphaned since removal of >> piggy-backed marking. > > I think it is fine, successful degenerated GC cycle should always > execute update_refs, no? Ok. I was only worried because the comment seems to imply it relies to update_roots() at the end of mark. Aleksey's patch is removing that. If update_roots() at the end of update_refs is good too, then fine. Thanks, Roman > Thanks, > > -Zhengyu > >> >> Otherwise looks good. >> >> Thanks, >> Roman >> >> >> On 3/11/20 10:43 PM, Zhengyu Gu wrote: >>> Revised based on offline discussions. >>> >>> Piggyback on stack code root rescanning to SATB draining task. >>> >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ >>> >>> Reran tests: >>> ?? hotspot_gc_shenandoah >>> ?? tools/javac >>> >>> Thanks, >>> >>> -Zhengyu >>> >>> On 3/4/20 6:06 PM, Zhengyu Gu wrote: >>>> Traversal GC has the same issue, also need to remark on stack code >>>> roots in final traversal. >>>> >>>> @@ -263,11 +263,12 @@ >>>> ?????? if (!_heap->is_degenerated_gc_in_progress()) { >>>> ???????? ShenandoahTraversalRootsClosure roots_cl(q, rp); >>>> ???????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); >>>> ???????? if (unload_classes) { >>>> ?????????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); >>>> -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>> NULL, &tc); >>>> +??????? MarkingCodeBlobClosure code_cl(&roots_cl, >>>> CodeBlobToOopClosure::FixRelocations); >>>> +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>> &code_cl, &tc); >>>> ???????? } else { >>>> ?????????? CLDToOopClosure cld_cl(&roots_cl, >>>> ClassLoaderData::_claim_strong); >>>> ?????????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); >>>> ???????? } >>>> ?????? } else { >>>> >>>> >>>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ >>>> >>>> Thank, >>>> >>>> -Zhengyu >>>> >>>> On 2/25/20 12:13 PM, Zhengyu Gu wrote: >>>>> Shenandoah encounters a few test failures with tools/javac. Verifier >>>>> catches unmarked oops in nmethod's metadata during root evacuation in >>>>> final mark phase. >>>>> >>>>> The problem is that, Shenandoah marks on stack nmethods in init mark >>>>> pause, but it does not mark nmethod's metadata during concurrent mark >>>>> phase, when new nmethod is about to be executed. >>>>> >>>>> The solution: >>>>> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when >>>>> the nmethod is about to be executed, when nmethod entry barrier is >>>>> supported. >>>>> >>>>> 2) Remark on stack nmethod's metadata at final mark pause. >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >>>>> >>>>> Test: >>>>> ??? hotspot_gc_shenandoah (fastdebug and release) >>>>> ??? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and >>>>> release) >>>>> >>>>> Thanks, >>>>> >>>>> -Zhengyu >>> >> > From rkennke at redhat.com Thu Mar 12 16:43:59 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 12 Mar 2020 17:43:59 +0100 Subject: [15] RFR 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner In-Reply-To: <5f1056c2-1639-8753-473e-d383b12a9cbd@redhat.com> References: <1be5f430-d7ae-0615-744a-60e8b1fea05e@redhat.com> <5f1056c2-1639-8753-473e-d383b12a9cbd@redhat.com> Message-ID: <67950961-4f10-a00e-84b1-6c3ccbe99b31@redhat.com> Ok, makes more sense now. Looks good! Thank you! Roman > Oops, copy/paste error, updated: > > http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.01/ > > Reran hotspot_gc_shenandaoh tests > > Thanks, > > -Zhengyu > > On 3/12/20 10:14 AM, Roman Kennke wrote: >> It's doing the same in both branches, or what am I missing? >> >> Roman >> >> On 3/12/20 2:23 PM, Zhengyu Gu wrote: >>> Please review this small enhancement, that avoids scanning thread's code >>> roots if we scan all code blobs anyway. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8240917 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8240917/webrev.00/ >>> >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) >>> >>> Thanks, >>> >>> -Zhengyu >>> >> > From adityam at microsoft.com Thu Mar 12 20:45:41 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Thu, 12 Mar 2020 20:45:41 +0000 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> Message-ID: Thanks Aleksey and Thomas for reviewing. I've updated the patch with the feedback. I left the TestDynamicNumberofGCThreads test in place but fixed the comment. Seems like it's worth revisiting that test to make it more useful as a separate issue. Aleksey, I am coming from the Git world and still getting familiar with the workflow here. I hadn't heard of the MqExtension until your mail, but I tried it out. To be honest, I was quite confused about how to use it in conjunction with the webrev script even after reading some documentation. I ended up with a webrev which appears to have the right code diff, but I'm not sure if all the metadata is in the form you'd expect. I'd appreciate it if you could verify that. Updated webrev is at: https://cr.openjdk.java.net/~adityam/8231668/webrev.01/ Severin Gehwolf wrote: > For authors, 'Contributed-by:' line would not be necessary, no? They > could just use "hg commit -u ". That's my understanding > anyhow. This matches my understanding as well from reading http://openjdk.java.net/projects/#project-author. That said, I don't really have a strong preference on it, so whatever you all prefer is fine with me. Just let me know what I need to do! Thanks, Aditya From shade at redhat.com Fri Mar 13 08:02:36 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 13 Mar 2020 09:02:36 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> Message-ID: <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> On 3/12/20 9:45 PM, Aditya Mandaleeka wrote: > Updated webrev is at: https://cr.openjdk.java.net/~adityam/8231668/webrev.01/ Looks fine to me. Somebody from G1 should also ack this. Thomas? -- Thanks, -Aleksey From shade at redhat.com Fri Mar 13 09:13:35 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 13 Mar 2020 10:13:35 +0100 Subject: Shenandoah 8u252+ release candidate Message-ID: Hi, We are pleased to announce that most of the recent bugfixes and improvements have been backported to Shenandoah 8u tree. That tree is based on upstream OpenJDK 8u252+ project, and Shenandoah-enabled downstream distributions should be released at the same time with 8u252 release, in mid-April. Since we do not expect more non-critical backports until that release happens, what we have in Shenandoah 8u tree is now the Release Candidate. Please test! Next 1..3 weeks are the perfect time to identify problems with it and put in critical fixes that would land in April release. As usual, you can try it by: a) Building from source yourself: https://hg.openjdk.java.net/shenandoah/jdk8/ b) Taking our nightly builds: https://builds.shipilev.net/openjdk-shenandoah-jdk8/ c) Using the Docker containers with nightly builds: shipilev/openjdk-shenandoah:8 Enjoy! -- Thanks, -Aleksey From thomas.schatzl at oracle.com Fri Mar 13 09:38:51 2020 From: thomas.schatzl at oracle.com (Thomas Schatzl) Date: Fri, 13 Mar 2020 10:38:51 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> Message-ID: Hi, On 13.03.20 09:02, Aleksey Shipilev wrote: > On 3/12/20 9:45 PM, Aditya Mandaleeka wrote: >> Updated webrev is at: https://cr.openjdk.java.net/~adityam/8231668/webrev.01/ > > Looks fine to me. > > Somebody from G1 should also ack this. Thomas? > looks good. Please fix the copyright dates for the tests as well since you did so for other files too already. No need for a re-review. Aleksey, will you sponsor the patch, or should I do it? Thanks, Thomas From shade at redhat.com Fri Mar 13 09:44:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 13 Mar 2020 10:44:47 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> Message-ID: On 3/13/20 10:38 AM, Thomas Schatzl wrote: > looks good. Please fix the copyright dates for the tests as well > since you did so for other files too already. No need for a re-review. +1, I would update those before pushing. Aditya, you don't need to do anything else. > Aleksey, will you sponsor the patch, or should I do it? Sure, I will sponsor it. -- Thanks, -Aleksey From shade at redhat.com Fri Mar 13 12:32:28 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 13 Mar 2020 13:32:28 +0100 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> Message-ID: <65966e2e-51c1-f8af-bc8c-650ea7cd27bf@redhat.com> On 3/13/20 10:44 AM, Aleksey Shipilev wrote: > On 3/13/20 10:38 AM, Thomas Schatzl wrote: >> looks good. Please fix the copyright dates for the tests as well >> since you did so for other files too already. No need for a re-review. > > +1, I would update those before pushing. Aditya, you don't need to do anything else. > >> Aleksey, will you sponsor the patch, or should I do it? > > Sure, I will sponsor it. Copyright lines updated; jdk-submit is clean, hotspot_gc_shenandoah is clean. Pushed: https://hg.openjdk.java.net/jdk/jdk/rev/367b1f73904c jcheck initially rejected the push, because: remote: [jcheck b8f3bac16fc8 2019-03-12 09:27:17 -0700] remote: remote: > Changeset: 58392:8ac108cd32af remote: > Author: shade remote: > Date: 2020-03-13 13:22 remote: > remote: > 8231668: Remove ForceDynamicNumberOfGCThreads remote: > Reviewed-by: shade, tschatzl remote: > Contributed-by: Aditya Mandaleeka remote: remote: Invalid contributor attribution The email should have been proper one, with @. -- Thanks, -Aleksey From zgu at redhat.com Fri Mar 13 12:56:10 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 13 Mar 2020 08:56:10 -0400 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> Message-ID: Overnight tests showed problems with this patch. So, I would like to withdraw this RFR. Thanks, -Zhengyu On 3/12/20 12:43 PM, Roman Kennke wrote: >>> Hi Zhengyu, >>> >>> in src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: >>> +????? } else if >>> (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) { >>> +??????? // Disarm nmethods that armed for concurrent mark. >>> +??????? // On normal code path (non-empty Cset), it depends on >>> update_roots() to >>> +??????? // disarm nmethods in degenerated GC. >>> +??????? ShenandoahCodeRoots::disarm_nmethods(); >>> >>> beware that the update_roots() is only called at the end of update_refs >>> phase. The same call at end of marking is orphaned since removal of >>> piggy-backed marking. >> >> I think it is fine, successful degenerated GC cycle should always >> execute update_refs, no? > > Ok. I was only worried because the comment seems to imply it relies to > update_roots() at the end of mark. Aleksey's patch is removing that. If > update_roots() at the end of update_refs is good too, then fine. > > Thanks, > Roman > >> Thanks, >> >> -Zhengyu >> >>> >>> Otherwise looks good. >>> >>> Thanks, >>> Roman >>> >>> >>> On 3/11/20 10:43 PM, Zhengyu Gu wrote: >>>> Revised based on offline discussions. >>>> >>>> Piggyback on stack code root rescanning to SATB draining task. >>>> >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ >>>> >>>> Reran tests: >>>> ?? hotspot_gc_shenandoah >>>> ?? tools/javac >>>> >>>> Thanks, >>>> >>>> -Zhengyu >>>> >>>> On 3/4/20 6:06 PM, Zhengyu Gu wrote: >>>>> Traversal GC has the same issue, also need to remark on stack code >>>>> roots in final traversal. >>>>> >>>>> @@ -263,11 +263,12 @@ >>>>> ?????? if (!_heap->is_degenerated_gc_in_progress()) { >>>>> ???????? ShenandoahTraversalRootsClosure roots_cl(q, rp); >>>>> ???????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); >>>>> ???????? if (unload_classes) { >>>>> ?????????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); >>>>> -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>>> NULL, &tc); >>>>> +??????? MarkingCodeBlobClosure code_cl(&roots_cl, >>>>> CodeBlobToOopClosure::FixRelocations); >>>>> +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>>> &code_cl, &tc); >>>>> ???????? } else { >>>>> ?????????? CLDToOopClosure cld_cl(&roots_cl, >>>>> ClassLoaderData::_claim_strong); >>>>> ?????????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); >>>>> ???????? } >>>>> ?????? } else { >>>>> >>>>> >>>>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ >>>>> >>>>> Thank, >>>>> >>>>> -Zhengyu >>>>> >>>>> On 2/25/20 12:13 PM, Zhengyu Gu wrote: >>>>>> Shenandoah encounters a few test failures with tools/javac. Verifier >>>>>> catches unmarked oops in nmethod's metadata during root evacuation in >>>>>> final mark phase. >>>>>> >>>>>> The problem is that, Shenandoah marks on stack nmethods in init mark >>>>>> pause, but it does not mark nmethod's metadata during concurrent mark >>>>>> phase, when new nmethod is about to be executed. >>>>>> >>>>>> The solution: >>>>>> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when >>>>>> the nmethod is about to be executed, when nmethod entry barrier is >>>>>> supported. >>>>>> >>>>>> 2) Remark on stack nmethod's metadata at final mark pause. >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >>>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >>>>>> >>>>>> Test: >>>>>> ??? hotspot_gc_shenandoah (fastdebug and release) >>>>>> ??? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 (fastdebug and >>>>>> release) >>>>>> >>>>>> Thanks, >>>>>> >>>>>> -Zhengyu >>>> >>> >> > From adityam at microsoft.com Fri Mar 13 19:41:28 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Fri, 13 Mar 2020 19:41:28 +0000 Subject: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads In-Reply-To: <65966e2e-51c1-f8af-bc8c-650ea7cd27bf@redhat.com> References: <75346f8c-b492-76ea-d32a-0785f57c052a@redhat.com> <9b6dc025-1420-6af9-d903-76838ac669eb@redhat.com> <6f135db2-c47a-25b8-0b49-4200a1e8a645@redhat.com> <65966e2e-51c1-f8af-bc8c-650ea7cd27bf@redhat.com> Message-ID: Thank you both for the reviews, and thanks for sponsoring, Aleksey! -Aditya -----Original Message----- From: Aleksey Shipilev Sent: Friday, March 13, 2020 5:32 AM To: Thomas Schatzl ; Aditya Mandaleeka ; Severin Gehwolf ; hotspot-gc-dev at openjdk.java.net; shenandoah-dev Subject: Re: RFR: 8231668: Remove ForceDynamicNumberOfGCThreads On 3/13/20 10:44 AM, Aleksey Shipilev wrote: > On 3/13/20 10:38 AM, Thomas Schatzl wrote: >> looks good. Please fix the copyright dates for the tests as well >> since you did so for other files too already. No need for a re-review. > > +1, I would update those before pushing. Aditya, you don't need to do anything else. > >> Aleksey, will you sponsor the patch, or should I do it? > > Sure, I will sponsor it. Copyright lines updated; jdk-submit is clean, hotspot_gc_shenandoah is clean. Pushed: https://hg.openjdk.java.net/jdk/jdk/rev/367b1f73904c jcheck initially rejected the push, because: remote: [jcheck b8f3bac16fc8 2019-03-12 09:27:17 -0700] remote: remote: > Changeset: 58392:8ac108cd32af remote: > Author: shade remote: > Date: 2020-03-13 13:22 remote: > remote: > 8231668: Remove ForceDynamicNumberOfGCThreads remote: > Reviewed-by: shade, tschatzl remote: > Contributed-by: Aditya Mandaleeka remote: remote: Invalid contributor attribution The email should have been proper one, with @. -- Thanks, -Aleksey From alex at bytopia.org Mon Mar 16 08:53:26 2020 From: alex at bytopia.org (Alex Yakushev) Date: Mon, 16 Mar 2020 10:53:26 +0200 Subject: Shenandoah 8u252+ release candidate In-Reply-To: References: Message-ID: <6718e97b-ebe2-46eb-ae49-3bd3c6f0b86a@bytopia.org> Hello! We've been running this on a production canary since Friday, no issues so far. Best regards, Alexander From shade at redhat.com Mon Mar 16 09:16:02 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 16 Mar 2020 10:16:02 +0100 Subject: Shenandoah 8u252+ release candidate In-Reply-To: <6718e97b-ebe2-46eb-ae49-3bd3c6f0b86a@bytopia.org> References: <6718e97b-ebe2-46eb-ae49-3bd3c6f0b86a@bytopia.org> Message-ID: <1978382b-5a3f-c71c-aa9d-17be4f2e7711@redhat.com> On 3/16/20 9:53 AM, Alex Yakushev wrote: > We've been running this on a production canary since Friday, no issues > so far. Very good, thanks! -- -Aleksey From shade at redhat.com Mon Mar 16 14:32:48 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 16 Mar 2020 15:32:48 +0100 Subject: Shenandoah starter issues Message-ID: <3a55e9e6-6410-1f02-61f2-86f1792afe0d@redhat.com> Hi there, We have the filter with the bunch of starter issues for Shenandoah: https://bugs.openjdk.java.net/issues/?filter=38634 Many of them are trivial, and can be used to get familiar with the contribution process: editing, testing, reviewing, pushing. -- Thanks, -Aleksey From zgu at redhat.com Mon Mar 16 16:26:49 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 16 Mar 2020 12:26:49 -0400 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> Message-ID: <1908c392-c888-b6c2-0a3c-f3860e7da2cf@redhat.com> There are two issues in earlier patch. 1) It keeps unloading nemthod's metadata alive 2) There are chances that GC is cancelled when it arrives final mark pause, that results bypassing evacuation/concurrent roots and triggers assertion in ShenandoahNMethod::heal_nmethod() method. Now, I moved all nmethod metadata marking and evacuating inside ShenandoahNMethod::heal_nmethod(), which is cleaner. Also, incorporated Aleksey's suggestion for handling nmethod disarming during degenerated GC, to follow regular phase transition. Updated: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.03/ Test: tier1 (fastdebug and release) with ShenandoahGC Thanks, -Zhengyu On 3/13/20 8:56 AM, Zhengyu Gu wrote: > Overnight tests showed problems with this patch. So, I would like to > withdraw this RFR. > > Thanks, > > -Zhengyu > > On 3/12/20 12:43 PM, Roman Kennke wrote: >>>> Hi Zhengyu, >>>> >>>> in src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp: >>>> +????? } else if >>>> (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) { >>>> +??????? // Disarm nmethods that armed for concurrent mark. >>>> +??????? // On normal code path (non-empty Cset), it depends on >>>> update_roots() to >>>> +??????? // disarm nmethods in degenerated GC. >>>> +??????? ShenandoahCodeRoots::disarm_nmethods(); >>>> >>>> beware that the update_roots() is only called at the end of update_refs >>>> phase. The same call at end of marking is orphaned since removal of >>>> piggy-backed marking. >>> >>> I think it is fine, successful degenerated GC cycle should always >>> execute update_refs, no? >> >> Ok. I was only worried because the comment seems to imply it relies to >> update_roots() at the end of mark. Aleksey's patch is removing that. If >> update_roots() at the end of update_refs is good too, then fine. >> >> Thanks, >> Roman >> >>> Thanks, >>> >>> -Zhengyu >>> >>>> >>>> Otherwise looks good. >>>> >>>> Thanks, >>>> Roman >>>> >>>> >>>> On 3/11/20 10:43 PM, Zhengyu Gu wrote: >>>>> Revised based on offline discussions. >>>>> >>>>> Piggyback on stack code root rescanning to SATB draining task. >>>>> >>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.02/ >>>>> >>>>> Reran tests: >>>>> ??? hotspot_gc_shenandoah >>>>> ??? tools/javac >>>>> >>>>> Thanks, >>>>> >>>>> -Zhengyu >>>>> >>>>> On 3/4/20 6:06 PM, Zhengyu Gu wrote: >>>>>> Traversal GC has the same issue, also need to remark on stack code >>>>>> roots in final traversal. >>>>>> >>>>>> @@ -263,11 +263,12 @@ >>>>>> ??????? if (!_heap->is_degenerated_gc_in_progress()) { >>>>>> ????????? ShenandoahTraversalRootsClosure roots_cl(q, rp); >>>>>> ????????? ShenandoahTraversalSATBThreadsClosure tc(&satb_cl); >>>>>> ????????? if (unload_classes) { >>>>>> ??????????? ShenandoahRemarkCLDClosure remark_cld_cl(&roots_cl); >>>>>> -??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>>>> NULL, &tc); >>>>>> +??????? MarkingCodeBlobClosure code_cl(&roots_cl, >>>>>> CodeBlobToOopClosure::FixRelocations); >>>>>> +??????? _rp->strong_roots_do(worker_id, &roots_cl, &remark_cld_cl, >>>>>> &code_cl, &tc); >>>>>> ????????? } else { >>>>>> ??????????? CLDToOopClosure cld_cl(&roots_cl, >>>>>> ClassLoaderData::_claim_strong); >>>>>> ??????????? _rp->roots_do(worker_id, &roots_cl, &cld_cl, NULL, &tc); >>>>>> ????????? } >>>>>> ??????? } else { >>>>>> >>>>>> >>>>>> Updated webrev: >>>>>> http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.01/ >>>>>> >>>>>> Thank, >>>>>> >>>>>> -Zhengyu >>>>>> >>>>>> On 2/25/20 12:13 PM, Zhengyu Gu wrote: >>>>>>> Shenandoah encounters a few test failures with tools/javac. Verifier >>>>>>> catches unmarked oops in nmethod's metadata during root >>>>>>> evacuation in >>>>>>> final mark phase. >>>>>>> >>>>>>> The problem is that, Shenandoah marks on stack nmethods in init mark >>>>>>> pause, but it does not mark nmethod's metadata during concurrent >>>>>>> mark >>>>>>> phase, when new nmethod is about to be executed. >>>>>>> >>>>>>> The solution: >>>>>>> 1) Use nmethod_entry_barrier to keep nmethod's metadata alive when >>>>>>> the nmethod is about to be executed, when nmethod entry barrier is >>>>>>> supported. >>>>>>> >>>>>>> 2) Remark on stack nmethod's metadata at final mark pause. >>>>>>> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >>>>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.00/ >>>>>>> >>>>>>> Test: >>>>>>> ???? hotspot_gc_shenandoah (fastdebug and release) >>>>>>> ???? tools/javac with ShenandoahCodeRootsStyle = 1 and 2 >>>>>>> (fastdebug and >>>>>>> release) >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> -Zhengyu >>>>> >>>> >>> >> From kdnilsen at amazon.com Mon Mar 16 16:43:20 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Mon, 16 Mar 2020 16:43:20 +0000 Subject: JDK-8241068 Shenandoah: improve ShenandoahTraversalGC constructor arguments Message-ID: <1E798675-6EC9-46E0-B7BB-13271BA6873E@amazon.com> I'd like to take this task if nobody else has yet signed up for it. Quick link: https://bugs.openjdk.java.net/browse/JDK-8241068?filter=38634 From shade at redhat.com Mon Mar 16 16:46:29 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 16 Mar 2020 17:46:29 +0100 Subject: JDK-8241068 Shenandoah: improve ShenandoahTraversalGC constructor arguments In-Reply-To: <1E798675-6EC9-46E0-B7BB-13271BA6873E@amazon.com> References: <1E798675-6EC9-46E0-B7BB-13271BA6873E@amazon.com> Message-ID: <75b12351-a54c-4f1c-e6fc-da9f881a00bd@redhat.com> On 3/16/20 5:43 PM, Nilsen, Kelvin wrote: > I'd like to take this task if nobody else has yet signed up for it. It's yours. -- Thanks, -Aleksey From shade at redhat.com Mon Mar 16 17:00:29 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 16 Mar 2020 18:00:29 +0100 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <1908c392-c888-b6c2-0a3c-f3860e7da2cf@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> <1908c392-c888-b6c2-0a3c-f3860e7da2cf@redhat.com> Message-ID: <97f71b2d-2237-be84-ea46-fb48d31805ae@redhat.com> On 3/16/20 5:26 PM, Zhengyu Gu wrote: > Updated: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.03/ Very good. Mostly stylistic, and tidy-ups comments: *) Can we split the has_forwarded_object path in shenandoahConcurrentMark.cpp here? It would avoid instantiating both closures at expense of some code duplication: 247 ShenandoahMarkResolveRefsClosure resolve_mark_cl(q, rp); 248 ShenandoahMarkRefsClosure mark_cl(q, rp); 249 OopClosure* oops = ShenandoahHeap::heap()->has_forwarded_objects() ? 250 static_cast(&resolve_mark_cl) : 251 static_cast(&mark_cl); 252 MarkingCodeBlobClosure blobsCl(oops, !CodeBlobToOopClosure::FixRelocations); 253 ShenandoahSATBAndRemarkCodeRootsThreadsClosure tc(&cl, &blobsCl); 254 Threads::threads_do(&tc); *) Please reformat the comment here in shenandoahHeap.cpp: 1424 // Arm nmethods for concurrent marking. 1425 // When a nmethod is about to be executed, we need to make sure that all its 1426 // metadata are marked. 1427 // The alternative is to remark thread roots at final mark pause, but it can 1428 // be potential latency killer. to: // Arm nmethods for concurrent marking. When a nmethod is about to be executed, // we need to make sure that all its metadata are marked. alternative is to remark // thread roots at final mark pause, but it can be potential latency killer. *) In shenandoahNMethod.cpp, I do wonder if you want to specialize ShenandoahKeepNMethodMetadataAliveClosure with template HAS_FWD. And then dispatch to proper closure in ShenandoahNMethod::heal_nmethod. Keeps one branch out on the hot path for nmethod with many oops? *) In shenandoahRootProcessor.cpp, CLD roots are code roots now? Does it make sense? -- Thanks, -Aleksey From zgu at redhat.com Mon Mar 16 18:32:43 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 16 Mar 2020 14:32:43 -0400 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <97f71b2d-2237-be84-ea46-fb48d31805ae@redhat.com> References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> <1908c392-c888-b6c2-0a3c-f3860e7da2cf@redhat.com> <97f71b2d-2237-be84-ea46-fb48d31805ae@redhat.com> Message-ID: Hi Aleksey, Please see comments inline. On 3/16/20 1:00 PM, Aleksey Shipilev wrote: > On 3/16/20 5:26 PM, Zhengyu Gu wrote: >> Updated: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.03/ > > Very good. Mostly stylistic, and tidy-ups comments: > > *) Can we split the has_forwarded_object path in shenandoahConcurrentMark.cpp here? It would avoid > instantiating both closures at expense of some code duplication: > > 247 ShenandoahMarkResolveRefsClosure resolve_mark_cl(q, rp); > 248 ShenandoahMarkRefsClosure mark_cl(q, rp); > 249 OopClosure* oops = ShenandoahHeap::heap()->has_forwarded_objects() ? > 250 static_cast(&resolve_mark_cl) : > 251 static_cast(&mark_cl); > 252 MarkingCodeBlobClosure blobsCl(oops, !CodeBlobToOopClosure::FixRelocations); > 253 ShenandoahSATBAndRemarkCodeRootsThreadsClosure tc(&cl, &blobsCl); > 254 Threads::threads_do(&tc); > Sure. > *) Please reformat the comment here in shenandoahHeap.cpp: > > 1424 // Arm nmethods for concurrent marking. > 1425 // When a nmethod is about to be executed, we need to make sure that all its > 1426 // metadata are marked. > 1427 // The alternative is to remark thread roots at final mark pause, but it can > 1428 // be potential latency killer. > > to: > > // Arm nmethods for concurrent marking. When a nmethod is about to be executed, > // we need to make sure that all its metadata are marked. alternative is to remark > // thread roots at final mark pause, but it can be potential latency killer. > Fixed. > *) In shenandoahNMethod.cpp, I do wonder if you want to specialize > ShenandoahKeepNMethodMetadataAliveClosure with template HAS_FWD. And then dispatch to proper closure > in ShenandoahNMethod::heal_nmethod. Keeps one branch out on the hot path for nmethod with many oops? > Make sense. > *) In shenandoahRootProcessor.cpp, CLD roots are code roots now? Does it make sense? > Bad naming, changed: _include_concurrent_roots => _stw_roots_processing _include_concurrent_code_roots => _stw_class_unloading Updated: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.04/index.html Test: In progress. Okay? Thanks, -Zhengyu > From shade at redhat.com Mon Mar 16 18:36:23 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 16 Mar 2020 19:36:23 +0100 Subject: [15] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <75c20855-5234-ba00-f07b-f9da0f7b8047@redhat.com> <612617a7-f08a-2b69-908e-26e146fa0a8f@redhat.com> <20afe843-e4bc-96ee-0d54-0c40435183a8@redhat.com> <69ad7ddf-0808-1f0e-43e1-9e9a37b8fb04@redhat.com> <1908c392-c888-b6c2-0a3c-f3860e7da2cf@redhat.com> <97f71b2d-2237-be84-ea46-fb48d31805ae@redhat.com> Message-ID: On 3/16/20 7:32 PM, Zhengyu Gu wrote: > Updated: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.04/index.html Looks fine to me. Thank you. -- -Aleksey From gnu.andrew at redhat.com Tue Mar 17 09:28:57 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 17 Mar 2020 09:28:57 +0000 Subject: [RFR] [8u] 8u252-b06 Upstream Sync Message-ID: Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/root/merge.changeset Changes in aarch64-shenandoah-jdk8u252-b06: - S8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 - S8225130: Add exception for expiring Comodo roots to VerifyCACerts test - S8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception - S8235744: PIT: test/jdk/javax/swing/text/html/TestJLabelWithHTMLText.java times out in linux-x64 - S8240521: Revert backport of 8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call I also added a tag for the Shenandoah integration, which seems to have been missed this time around. This allowed these changes to be filtered out of the webrev. Changes in aarch64-shenandoah-jdk8u252-b05-shenandoah-merge-2020-03-06: - AArch64: Fix LRB use in LIRGenerator::do_UnsafeGetAndSetObject - [backport] 8221751: Shenandoah: Improve SATB enqueueing - [backport] 8221848: Shenandoah: ArrayCopy post-barrier improvements - [backport] 8222766: Shenandoah: streamline post-LRB CAS barrier (x86) - [backport] 8223951: Shenandoah: Only need to update thread roots during final update refs - [backport] 8224179: Shenandoah: CTW test failures with traversal GC - [backport] 8224495: Shenandoah: Do not rescan code roots in final mark pause if it is not degenerated GC - [backport] 8224508: Shenandoah: Need to update thread roots in final mark for piggyback ref update cycle - [backport] 8224525: Shenandoah: Eliminate shenandoah verifier's side-effects - [backport] 8225171: Remove leftovers in shenandoahBarrierSetC1.cpp - [backport] 8225341: Shenandoah: CM::update_thread_roots() needs to handle derived pointers - [backport] 8226586: Shenandoah: No need to pre-evacuate roots for degenerated GC - [backport] 8227327: Shenandoah: Faster and more parallel tests - [backport] 8227676: Shenandoah: More consistent naming of LRB entry points - [backport] 8228364: Shenandoah: Remove unused code from ShenandoahBarrierSetC1 - [backport] 8229865: Use explicit #include debug.hpp for STATIC_ASSERT in gc/shenandoah/shenandoahUtils.cpp - [backport] 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms - [backport] 8231086: Shenandoah: Stronger invariant for object-arraycopy - [backport] 8231293: Shenandoah: Traversal should not revive dead weak roots - [backport] 8231410: Shenandoah: clone barrier should use base pointer - [backport] 8231447: Shenandoah: Compilation-time regression after JDK-8231086 - [backport] 8231499: Shenandoah: compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2 fails - [backport] 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing - [backport] 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register - [backport] 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than allocated recently" - [backport] 8233387: Shenandoah: passive mode should disable pacing ergonomically - [backport] 8233520: Shenandoah: do not sleep when thread is attaching - [backport] 8233850: Shenandoah: Shenandoah thread count ergonomics should be container aware - [backport] 8234232: [TESTBUG] gc/shenandoah/jvmti/TestHeapDump.java fails with -Xcomp - [backport] 8235636: gc/shenandoah/compiler/TestUnsafeOffheapSwap.java fails after JDK-8226411 - [backport] 8235729: Shenandoah: Remove useless casting to non-constant - [backport] 8236106: [TESTBUG] Shenandoah: Make TestThreadFailure more resilient - [backport] 8236181: C2: Remove useless step_over_gc_barrier() in int->bool conversion - [backport] 8236732: Shenandoah: Stricter placement for oom-evac scopes - [backport] 8236851: Shenandoah: More details in Traversal GC event messages - [backport] 8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation - [backport] 8237038: Shenandoah: Reduce thread pool size in TestEvilSyncBug.java test - [backport] 8237570: Shenandoah: cleanup uses of allocation/free threshold in static heuristics - [backport] 8237586: Shenandoah: provide option to disable periodic GC - [backport] 8239868: Shenandoah: ditch C2 node limit adjustments - [backport] 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity - [backport] 8240069: Shenandoah: turn more flags diagnostic - [backport] 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads - [backport] 8240076: Shenandoah: pacer should cover reset and preclean phases - [backport] 8240215: Shenandoah: remove ShenandoahAllocationTrace - [backport] 8240216: Shenandoah: remove ShenandoahTerminationTrace - [backport] 8240217: Shenandoah: remove ShenandoahEvacAssist - [backport] 8240534: Shenandoah: ditch debug safepoint timeout adjustment - Fix LRB use in LIRGenerator::do_UnsafeGetAndSetObject - Fix tier2_gc_shenandoah group definition - Rectify JDK-8191227 workaround for Shenandoah - Revert leftover changes in type.{cpp|hpp} - S8233500: Shenandoah: Shenandoah load barrier should save registers before calling keep alive barrier on x86 Main issues of note: No HotSpot changes, so no merge work. 8224851 is local to this repository and already pushed. diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk a/test/java/lang/Runtime/loadLibrary/LoadLibraryTest.java | 156 -------------- a/test/java/lang/Runtime/loadLibrary/src/Target.java | 34 --- a/test/java/lang/Runtime/loadLibrary/src/Target2.java | 29 -- b/.hgtags | 1 b/src/share/classes/java/lang/ClassLoader.java | 32 -- b/src/share/classes/java/lang/Runtime.java | 7 b/src/share/classes/java/lang/System.java | 2 b/src/share/classes/javax/swing/text/html/ImageView.java | 17 + b/test/javax/swing/text/html/TestJLabelWithHTMLText.java | 51 ++++ b/test/sun/security/lib/cacerts/VerifyCACerts.java | 6 10 files changed, 83 insertions(+), 252 deletions(-) diffstat for hotspot b/.hgtags | 1 + 1 file changed, 1 insertion(+) Successfully built on x86, x86_64, s390, s390x, ppc, ppc64, ppc64le & aarch64. Ok to push? -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From rkennke at redhat.com Tue Mar 17 10:55:47 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 17 Mar 2020 11:55:47 +0100 Subject: RFR: 8241081: Shenandoah: Do not modify update-watermark concurrently Message-ID: <28ab3dea-d88e-eae2-c7da-3c38f8cb94d2@redhat.com> JDK-8240873 introduced short-cutting arraycopy-barriers on objects beyond the update-watermark. Concurrently updating the update-watermark after a region has been completely updated proves problematic: we see various different crashes related to this. Strengthening the fences around it doesn't fully solve the problem, apparently the problem is deeper. It doesn't seem worth to keep doing this for very little gain. Bug: https://bugs.openjdk.java.net/browse/JDK-8241081 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.02/ Testing: hotspot_gc_shenandoah and the failing TestStringDedupStress, both in a loop for some hours Thanks, Roman From shade at redhat.com Tue Mar 17 11:01:15 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 17 Mar 2020 12:01:15 +0100 Subject: RFR: 8241081: Shenandoah: Do not modify update-watermark concurrently In-Reply-To: <28ab3dea-d88e-eae2-c7da-3c38f8cb94d2@redhat.com> References: <28ab3dea-d88e-eae2-c7da-3c38f8cb94d2@redhat.com> Message-ID: <35f24a61-cd45-f5ce-411d-e831a7bb6d97@redhat.com> On 3/17/20 11:55 AM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.02/ Looks good. One tiny thing: can you please read _update_watermark into local field, assert that value and return the same one? Instead of doing effectively three memory accesses, which might disagree. -- Thanks, -Aleksey From shade at redhat.com Tue Mar 17 11:25:06 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 17 Mar 2020 12:25:06 +0100 Subject: RFR (S) 8241093: Shenandoah: editorial changes in flag descriptions Message-ID: <36e0c34e-a34b-320e-da3e-e47245c39a3a@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241093 Webrev: https://cr.openjdk.java.net/~shade/8241093/webrev.01/ This is a good time to polish any phrasing. Testing: fastdebug build -- Thanks, -Aleksey From rkennke at redhat.com Tue Mar 17 11:33:18 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 17 Mar 2020 12:33:18 +0100 Subject: RFR: 8241081: Shenandoah: Do not modify update-watermark concurrently In-Reply-To: <35f24a61-cd45-f5ce-411d-e831a7bb6d97@redhat.com> References: <28ab3dea-d88e-eae2-c7da-3c38f8cb94d2@redhat.com> <35f24a61-cd45-f5ce-411d-e831a7bb6d97@redhat.com> Message-ID: <297b2a4d-59ce-6e87-808c-636d8cb06cc9@redhat.com> >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.02/ > > Looks good. > > One tiny thing: can you please read _update_watermark into local field, assert that value and return > the same one? Instead of doing effectively three memory accesses, which might disagree. Ok like this? http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.03/ From shade at redhat.com Tue Mar 17 11:37:36 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 17 Mar 2020 12:37:36 +0100 Subject: RFR: 8241081: Shenandoah: Do not modify update-watermark concurrently In-Reply-To: <297b2a4d-59ce-6e87-808c-636d8cb06cc9@redhat.com> References: <28ab3dea-d88e-eae2-c7da-3c38f8cb94d2@redhat.com> <35f24a61-cd45-f5ce-411d-e831a7bb6d97@redhat.com> <297b2a4d-59ce-6e87-808c-636d8cb06cc9@redhat.com> Message-ID: <3730dda8-8cb4-16b1-72a0-c3c2510ff006@redhat.com> On 3/17/20 12:33 PM, Roman Kennke wrote: >>> Webrev: >>> http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.02/ >> >> Looks good. >> >> One tiny thing: can you please read _update_watermark into local field, assert that value and return >> the same one? Instead of doing effectively three memory accesses, which might disagree. > > Ok like this? > > http://cr.openjdk.java.net/~rkennke/JDK-8241081/webrev.03/ Yes. -- Thanks, -Aleksey From rkennke at redhat.com Tue Mar 17 11:49:51 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 17 Mar 2020 12:49:51 +0100 Subject: RFR (S) 8241093: Shenandoah: editorial changes in flag descriptions In-Reply-To: <36e0c34e-a34b-320e-da3e-e47245c39a3a@redhat.com> References: <36e0c34e-a34b-320e-da3e-e47245c39a3a@redhat.com> Message-ID: Looks good, thanks for doing it! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241093 > > Webrev: > https://cr.openjdk.java.net/~shade/8241093/webrev.01/ > > This is a good time to polish any phrasing. > > Testing: fastdebug build > From shade at redhat.com Tue Mar 17 11:54:58 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 17 Mar 2020 12:54:58 +0100 Subject: [RFR] [8u] 8u252-b06 Upstream Sync In-Reply-To: References: Message-ID: On 3/17/20 10:28 AM, Andrew Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jaxws/merge.changeset Look trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/jdk/merge.changeset Looks fine. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/hotspot/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b06/root/merge.changeset Look trivially good. > Ok to push? Yes, I think so. -- Thanks, -Aleksey From zgu at redhat.com Tue Mar 17 16:27:37 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 17 Mar 2020 12:27:37 -0400 Subject: [sh/8u] Root processing related backports Message-ID: Hi, Please review root processing related 8u backports: Bug list: http://cr.openjdk.java.net/~zgu/shenandoah/sh-8u-root-processing/8ubackport.list Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh-8u-root-processing/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) specjvm (normal and traversal) Thanks, -Zhengyu From zgu at redhat.com Tue Mar 17 19:00:50 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 17 Mar 2020 15:00:50 -0400 Subject: [sh/8u] Root processing related backports In-Reply-To: References: Message-ID: <2d97d200-ba4a-0af2-99ed-76e64cefd4c0@redhat.com> Adding some details: Some of backports were not straight forward backports, especially, the root processor refactoring changes. 1) No WeakProcessor in 8u, ShenandoahWeakRoots just a wrapper of JNIHandle weak roots. 2) ShenandoahStringTableRoots is unique in 8u 3) No concurrent/single thread options from some roots. In 8u, root processing is always at STW. 4) Some of roots have different signatures vs. jdk/jdk, due to underline API differences. 5) For traversal GC, it marks all roots even when class unloading is enabled - followup works is needed to identify what barriers are needed. Thanks, -Zhengyu On 3/17/20 12:27 PM, Zhengyu Gu wrote: > Hi, > > Please review root processing related 8u backports: > > Bug list: > http://cr.openjdk.java.net/~zgu/shenandoah/sh-8u-root-processing/8ubackport.list > > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/sh-8u-root-processing/webrev.00/ > > > Test: > ?? hotspot_gc_shenandoah (fastdebug and release) > ?? specjvm (normal and traversal) > > > Thanks, > > -Zhengyu > > From shade at redhat.com Wed Mar 18 12:52:51 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 18 Mar 2020 13:52:51 +0100 Subject: [11] RFC: Pick up jdk-11.0.7+8 to sh/jdk11 Message-ID: <2b6412b8-a2db-876c-f227-bb0baf09d559@redhat.com> Weekly pickup of 11.0.7 to sh/jdk11. Changesets: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b7/changesets.txt Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From zgu at redhat.com Wed Mar 18 13:00:33 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 18 Mar 2020 09:00:33 -0400 Subject: [11] RFC: Pick up jdk-11.0.7+8 to sh/jdk11 In-Reply-To: <2b6412b8-a2db-876c-f227-bb0baf09d559@redhat.com> References: <2b6412b8-a2db-876c-f227-bb0baf09d559@redhat.com> Message-ID: Good to me. -Zhengyu On 3/18/20 8:52 AM, Aleksey Shipilev wrote: > Weekly pickup of 11.0.7 to sh/jdk11. > > Changesets: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b7/changesets.txt > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From zgu at redhat.com Wed Mar 18 15:19:52 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 18 Mar 2020 11:19:52 -0400 Subject: [15] RFR 8241155: Shenandoah: Traversal GC should mark strong CLD roots when class unloading is enabled Message-ID: <22c82093-321b-e888-d845-fbedfea99323@redhat.com> Current traversal GC does not mark strong CLD roots, it seems wrong. Bug: https://bugs.openjdk.java.net/browse/JDK-8241155 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8241155/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) tools/javac Thanks, -Zhengyu From rkennke at redhat.com Wed Mar 18 15:43:51 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 18 Mar 2020 16:43:51 +0100 Subject: [15] RFR 8241155: Shenandoah: Traversal GC should mark strong CLD roots when class unloading is enabled In-Reply-To: <22c82093-321b-e888-d845-fbedfea99323@redhat.com> References: <22c82093-321b-e888-d845-fbedfea99323@redhat.com> Message-ID: <3ee832ec-e184-7214-d4cf-a38fd7bd9b20@redhat.com> Are you sure that it needs to scan (all) code-roots, and thus keep everything alive that is referenced from them? Roman > Current traversal GC does not mark strong CLD roots, it seems wrong. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8241155 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8241155/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? tools/javac > > Thanks, > > -Zhengyu > From zgu at redhat.com Wed Mar 18 15:46:40 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 18 Mar 2020 11:46:40 -0400 Subject: [15] RFR 8241155: Shenandoah: Traversal GC should mark strong CLD roots when class unloading is enabled In-Reply-To: <3ee832ec-e184-7214-d4cf-a38fd7bd9b20@redhat.com> References: <22c82093-321b-e888-d845-fbedfea99323@redhat.com> <3ee832ec-e184-7214-d4cf-a38fd7bd9b20@redhat.com> Message-ID: On 3/18/20 11:43 AM, Roman Kennke wrote: > Are you sure that it needs to scan (all) code-roots, and thus keep > everything alive that is referenced from them? No, I am not sure. It scans CSset code roots since beginning (I believe). If it is an issue, should be addressed in a separate CR. -Zhengyu > > Roman > >> Current traversal GC does not mark strong CLD roots, it seems wrong. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8241155 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8241155/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) >> ? tools/javac >> >> Thanks, >> >> -Zhengyu >> > From shade at redhat.com Thu Mar 19 12:21:36 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 19 Mar 2020 13:21:36 +0100 Subject: RFR (S) 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation Message-ID: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241139 Was following up on why JLinkTest fails with Shenandoah. Figured out the dynamic work distribution in mark-compact leaves alive regions in the middle of the heap. It is a generic problem with current mark-compact implementation, as which regions get into each worker slice is time-dependent. Consider the worst case scenario: two workers would have their slices interleaved, once slice is fully alive, and other is fully dead. In the end, mark-compact would finish with the same interleaved heap. A humongous allocation then fails. We need to plan the parallel sliding more accurately. See the code comments about what new plan does. Webrev: https://cr.openjdk.java.net/~shade/8241139/webrev.01/ Testing: hotspot_gc_shenandoah; known-failing test; tier{1,2,3} (passed with previous version, running with new version now); eyeballing shenandoah-visualizer -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 19 14:54:45 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 19 Mar 2020 15:54:45 +0100 Subject: RFR (S) 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation In-Reply-To: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> References: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> Message-ID: <4d87f4ec-8872-6c27-86a6-7867485d7955@redhat.com> Very nice! The changes look good to me. Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241139 > > Was following up on why JLinkTest fails with Shenandoah. Figured out the dynamic work distribution > in mark-compact leaves alive regions in the middle of the heap. It is a generic problem with current > mark-compact implementation, as which regions get into each worker slice is time-dependent. > > Consider the worst case scenario: two workers would have their slices interleaved, once slice is > fully alive, and other is fully dead. In the end, mark-compact would finish with the same > interleaved heap. A humongous allocation then fails. We need to plan the parallel sliding more > accurately. See the code comments about what new plan does. > > Webrev: > https://cr.openjdk.java.net/~shade/8241139/webrev.01/ > > Testing: hotspot_gc_shenandoah; known-failing test; tier{1,2,3} (passed with previous version, > running with new version now); eyeballing shenandoah-visualizer > From kdnilsen at amazon.com Sat Mar 21 18:33:06 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Sat, 21 Mar 2020 18:33:06 +0000 Subject: RFR (S) JDK-8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments Message-ID: This starter issue is described here: https://bugs.openjdk.java.net/browse/JDK-8241068?filter=38634 The following patch addresses this issue. I have compiled and run jtreg tests tier1, tier2, and hotspot_gc_shenandoah without regressions. I am not authorized to directly apply this patch so will need a sponsor to apply this patch when it is judged ready to be merged. --- old/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2020-03-20 17:40:08.000000000 -0700 +++ new/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2020-03-20 17:40:07.000000000 -0700 @@ -368,7 +368,7 @@ } _traversal_gc = strcmp(ShenandoahGCMode, "traversal") == 0 ? - new ShenandoahTraversalGC(this, _num_regions) : + new ShenandoahTraversalGC(this) : NULL; _control_thread = new ShenandoahControlThread(); --- old/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp 2020-03-20 17:40:13.000000000 -0700 +++ new/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp 2020-03-20 17:40:12.000000000 -0700 @@ -291,7 +291,7 @@ } }; -ShenandoahTraversalGC::ShenandoahTraversalGC(ShenandoahHeap* heap, size_t num_regions) : +ShenandoahTraversalGC::ShenandoahTraversalGC(ShenandoahHeap* heap) : _heap(heap), _task_queues(new ShenandoahObjToScanQueueSet(heap->max_workers())), _traversal_set(ShenandoahHeapRegionSet()) { --- old/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp 2020-03-20 17:40:15.000000000 -0700 +++ new/src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp 2020-03-20 17:40:15.000000000 -0700 @@ -39,7 +39,7 @@ ShenandoahHeapRegionSet _traversal_set; public: - ShenandoahTraversalGC(ShenandoahHeap* heap, size_t num_regions); + ShenandoahTraversalGC(ShenandoahHeap* heap); ~ShenandoahTraversalGC(); ShenandoahHeapRegionSet* traversal_set() { return &_traversal_set; } From shade at redhat.com Mon Mar 23 09:41:04 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 10:41:04 +0100 Subject: RFR (S) JDK-8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments In-Reply-To: References: Message-ID: On 3/21/20 7:33 PM, Nilsen, Kelvin wrote: > The following patch addresses this issue. I have compiled and run jtreg tests tier1, tier2, and > hotspot_gc_shenandoah without regressions. Thanks. Reviewed and pushed. -- Thanks, -Aleksey From shade at redhat.com Mon Mar 23 11:58:41 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 12:58:41 +0100 Subject: RFR (XS) 8241435: Shenandoah: avoid disabling pacing with "aggressive" Message-ID: <208fa112-7c24-5138-fb7f-1b9ee8b6cf78@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241435 Deeper testing of JDK-8241139 shows that GCLockerWithShenandoah.java reliably fails in release, and always with aggressive heuristics. Investigation shows that application manages to outpace the GC every time, and then fail with OOME too early. We should consider keep pacing enabled even in aggressive mode. This is the day 1 issue with pacing implementation. Fix: --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp Mon Mar 23 12:25:29 2020 +0100 +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp Mon Mar 23 12:53:32 2020 +0100 @@ -33,13 +33,10 @@ ShenandoahAggressiveHeuristics::ShenandoahAggressiveHeuristics() : ShenandoahHeuristics() { // Do not shortcut evacuation SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 100); - // Aggressive runs with max speed for allocation, to capture races against mutator - SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahPacing); - // Aggressive evacuates everything, so it needs as much evac space as it can get SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahEvacReserveOverflow); // If class unloading is globally enabled, aggressive does unloading even with // concurrent cycles. Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Mon Mar 23 12:02:00 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 13:02:00 +0100 Subject: RFR (S) 8241351: Shenandoah: fragmentation metrics overhaul Message-ID: <13f02709-e971-a2fc-b6b8-feb4e3bf3583@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241351 Current fragmentation computations have flaws: - fragmentation metrics are there to drive mutator behavior, but it captures evac-reserve; - external fragmentation do not count humongous objects spanning a single region - external fragmentation takes "total space" over all regions, while using "free space" only for completely empty ones These flaws make gc/oom/TestThreadFailure.java fail with JDK-8241139 changes. Fix: https://cr.openjdk.java.net/~shade/8241351/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From shade at redhat.com Mon Mar 23 12:04:09 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 13:04:09 +0100 Subject: RFR (S) 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation In-Reply-To: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> References: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> Message-ID: On 3/19/20 1:21 PM, Aleksey Shipilev wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241139 > > Was following up on why JLinkTest fails with Shenandoah. Figured out the dynamic work distribution > in mark-compact leaves alive regions in the middle of the heap. It is a generic problem with current > mark-compact implementation, as which regions get into each worker slice is time-dependent. > > Consider the worst case scenario: two workers would have their slices interleaved, once slice is > fully alive, and other is fully dead. In the end, mark-compact would finish with the same > interleaved heap. A humongous allocation then fails. We need to plan the parallel sliding more > accurately. See the code comments about what new plan does. > > Webrev: > https://cr.openjdk.java.net/~shade/8241139/webrev.01/ > > Testing: hotspot_gc_shenandoah; known-failing test; tier{1,2,3} (passed with previous version, > running with new version now); eyeballing shenandoah-visualizer Found the issue about distributing the tail: we cannot blindly do round-robin selection after every worker is full, because that unbalances the work again! So ditched that part for: 607 if (old_wid == wid) { 608 // Circled back to the same worker? This means liveness data was 609 // miscalculated. Bump the live_per_worker limit so that 610 // everyone gets the piece of the leftover work. 611 live_per_worker += ShenandoahHeapRegion::region_size_words(); 612 } Full webrev: https://cr.openjdk.java.net/~shade/8241139/webrev.02/ Testing: hotspot_gc_shenandoah {fastdebug,release}; tier{1,2,3} in progress -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 23 12:25:26 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 23 Mar 2020 13:25:26 +0100 Subject: RFR (XS) 8241435: Shenandoah: avoid disabling pacing with "aggressive" In-Reply-To: <208fa112-7c24-5138-fb7f-1b9ee8b6cf78@redhat.com> References: <208fa112-7c24-5138-fb7f-1b9ee8b6cf78@redhat.com> Message-ID: Hi Aleksey, This looks ok to me! Thank you! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241435 > > Deeper testing of JDK-8241139 shows that GCLockerWithShenandoah.java reliably fails in release, and > always with aggressive heuristics. Investigation shows that application manages to outpace the GC > every time, and then fail with OOME too early. We should consider keep pacing enabled even in > aggressive mode. This is the day 1 issue with pacing implementation. > > Fix: > > --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp Mon Mar 23 > 12:25:29 2020 +0100 > +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp Mon Mar 23 > 12:53:32 2020 +0100 > @@ -33,13 +33,10 @@ > > ShenandoahAggressiveHeuristics::ShenandoahAggressiveHeuristics() : ShenandoahHeuristics() { > // Do not shortcut evacuation > SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 100); > > - // Aggressive runs with max speed for allocation, to capture races against mutator > - SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahPacing); > - > // Aggressive evacuates everything, so it needs as much evac space as it can get > SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahEvacReserveOverflow); > > // If class unloading is globally enabled, aggressive does unloading even with > // concurrent cycles. > > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From rkennke at redhat.com Mon Mar 23 12:35:25 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 23 Mar 2020 13:35:25 +0100 Subject: RFR (S) 8241351: Shenandoah: fragmentation metrics overhaul In-Reply-To: <13f02709-e971-a2fc-b6b8-feb4e3bf3583@redhat.com> References: <13f02709-e971-a2fc-b6b8-feb4e3bf3583@redhat.com> Message-ID: Hi Aleksey, > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241351 > > Current fragmentation computations have flaws: > - fragmentation metrics are there to drive mutator behavior, but it captures evac-reserve; > - external fragmentation do not count humongous objects spanning a single region > - external fragmentation takes "total space" over all regions, while using "free space" only for > completely empty ones > > These flaws make gc/oom/TestThreadFailure.java fail with JDK-8241139 changes. > > Fix: > https://cr.openjdk.java.net/~shade/8241351/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} Good. Just one small nit: + * f) Heap has the small object per each region => IF =~ 1 I'd write 'has *one* small object per region' Don't need another webrev for this. Thank you! Roman From rkennke at redhat.com Mon Mar 23 12:36:57 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 23 Mar 2020 13:36:57 +0100 Subject: RFR (S) 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation In-Reply-To: References: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> Message-ID: <1768e6b3-7840-99b6-8a70-40c9e784cd07@redhat.com> >> RFE: >> https://bugs.openjdk.java.net/browse/JDK-8241139 >> >> Was following up on why JLinkTest fails with Shenandoah. Figured out the dynamic work distribution >> in mark-compact leaves alive regions in the middle of the heap. It is a generic problem with current >> mark-compact implementation, as which regions get into each worker slice is time-dependent. >> >> Consider the worst case scenario: two workers would have their slices interleaved, once slice is >> fully alive, and other is fully dead. In the end, mark-compact would finish with the same >> interleaved heap. A humongous allocation then fails. We need to plan the parallel sliding more >> accurately. See the code comments about what new plan does. >> >> Webrev: >> https://cr.openjdk.java.net/~shade/8241139/webrev.01/ >> >> Testing: hotspot_gc_shenandoah; known-failing test; tier{1,2,3} (passed with previous version, >> running with new version now); eyeballing shenandoah-visualizer > > Found the issue about distributing the tail: we cannot blindly do round-robin selection after every > worker is full, because that unbalances the work again! So ditched that part for: > > 607 if (old_wid == wid) { > 608 // Circled back to the same worker? This means liveness data was > 609 // miscalculated. Bump the live_per_worker limit so that > 610 // everyone gets the piece of the leftover work. > 611 live_per_worker += ShenandoahHeapRegion::region_size_words(); > 612 } > > Full webrev: > https://cr.openjdk.java.net/~shade/8241139/webrev.02/ > > Testing: hotspot_gc_shenandoah {fastdebug,release}; tier{1,2,3} in progress Yep! Probably better to say 'everyone gets *a* piece of the leftover work' ? No new webrev needed if you change this. Roman From kdnilsen at amazon.com Mon Mar 23 14:56:11 2020 From: kdnilsen at amazon.com (Nilsen, Kelvin) Date: Mon, 23 Mar 2020 14:56:11 +0000 Subject: JDK-8241062: Shenandoah: rich asserts trigger "empty statement" inspection Message-ID: I'll take this task if it's still available: Quick link: https://bugs.openjdk.java.net/browse/JDK-8241062?filter=38634 From zgu at redhat.com Mon Mar 23 15:06:55 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 23 Mar 2020 11:06:55 -0400 Subject: JDK-8241062: Shenandoah: rich asserts trigger "empty statement" inspection In-Reply-To: References: Message-ID: Yes, please. Thanks, -Zhengyu On 3/23/20 10:56 AM, Nilsen, Kelvin wrote: > I'll take this task if it's still available: > > Quick link: https://bugs.openjdk.java.net/browse/JDK-8241062?filter=38634 > > > From shade at redhat.com Mon Mar 23 18:14:25 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 19:14:25 +0100 Subject: RFR (S) 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation In-Reply-To: <1768e6b3-7840-99b6-8a70-40c9e784cd07@redhat.com> References: <80699511-8972-ed8e-adfe-f5a9c288c8b6@redhat.com> <1768e6b3-7840-99b6-8a70-40c9e784cd07@redhat.com> Message-ID: On 3/23/20 1:36 PM, Roman Kennke wrote: >> Full webrev: >> https://cr.openjdk.java.net/~shade/8241139/webrev.02/ >> > Probably better to say 'everyone gets *a* piece of the leftover work' ? > > No new webrev needed if you change this. Right. Fixed and pushed. -- Thanks, -Aleksey From shade at redhat.com Mon Mar 23 18:14:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 23 Mar 2020 19:14:47 +0100 Subject: RFR (S) 8241351: Shenandoah: fragmentation metrics overhaul In-Reply-To: References: <13f02709-e971-a2fc-b6b8-feb4e3bf3583@redhat.com> Message-ID: <3d1fb01d-97c3-5a26-d2ce-f48b749d42bd@redhat.com> On 3/23/20 1:35 PM, Roman Kennke wrote: >> Fix: >> https://cr.openjdk.java.net/~shade/8241351/webrev.01/ >> >> Testing: hotspot_gc_shenandoah {fastdebug,release} > > Good. Just one small nit: > > + * f) Heap has the small object per each region => IF =~ 1 > > I'd write 'has *one* small object per region' Yup, fixed and pushed. -- Thanks, -Aleksey From adityam at microsoft.com Tue Mar 24 03:13:26 2020 From: adityam at microsoft.com (Aditya Mandaleeka) Date: Tue, 24 Mar 2020 03:13:26 +0000 Subject: RFR: 8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8241067 Webrev: https://cr.openjdk.java.net/~adityam/8241067/webrev.00/ This changes the ShenandoahHasCSetOopClosure constructor to take in the ShenandoahHeap* as an argument, and also changes ShenandoahNMethod::has_cset_oops to actually pass through the ShenandoahHeap* that it's passed. The effect of this is that we eliminate an extra call to get the heap. Here's the relevant snippet of the start of has_cset_oops that shows the diff on an x86-64 release build. === BEFORE === push %rbp mov %rsp,%rbp push %r15 push %r14 push %r13 push %r12 push %rbx mov %rdi,%rbx sub $0x8,%rsp callq 0x7ffff696ef50 <_ZN14ShenandoahHeap4heapEv> mov %rax,%r13 The call to get the heap involves: lea 0x8477d1(%rip),%rax # 0x7ffff71b6728 <_ZN8Universe14_collectedHeapE> push %rbp mov %rsp,%rbp mov (%rax),%rax pop %rbp retq === AFTER === push %rbp mov %rsp,%rbp push %r15 push %r14 push %r13 push %r12 mov %rsi,%r13 %rsi is the heap* in the 'after' version. As you can see, it's immediately stored in r13 right after the function prolog. The rest of the code in the function is pretty identical. I also checked that the caller to this function (ShenandoahNMethodTableSnapshot::parallel_blobs_do) is not jumping through extra hoops to retrieve the heap* at the callsite-- it is already available there as a member. Thanks, Aditya From shade at redhat.com Tue Mar 24 05:14:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 06:14:47 +0100 Subject: RFR: 8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments In-Reply-To: References: Message-ID: On 3/24/20 4:13 AM, Aditya Mandaleeka wrote: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241067 > > Webrev: > https://cr.openjdk.java.net/~adityam/8241067/webrev.00/ Thank you, reviewed and pushed. -- -Aleksey From shade at redhat.com Tue Mar 24 16:44:39 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 17:44:39 +0100 Subject: RFR (XS) 8241520: Shenandoah: simplify region sequence numbers handling Message-ID: <5f8d0bb4-7e42-e768-548f-524e51f42cb9@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241520 Webrev: https://cr.openjdk.java.net/~shade/8241520/webrev.01/ It ditches the seqnums we don't really need, and make the remaining one Traversal-specific. (We can remove it when/if Traversal goes away). Testing: hotspot_gc_shenandoah {fastdebug,release}; torture tests for allocation path improve a bit -- Thanks, -Aleksey From roman at kennke.org Tue Mar 24 16:58:00 2020 From: roman at kennke.org (Roman Kennke) Date: Tue, 24 Mar 2020 17:58:00 +0100 Subject: RFR (XS) 8241520: Shenandoah: simplify region sequence numbers handling In-Reply-To: <5f8d0bb4-7e42-e768-548f-524e51f42cb9@redhat.com> References: <5f8d0bb4-7e42-e768-548f-524e51f42cb9@redhat.com> Message-ID: Hi Aleksey, > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241520 > > Webrev: > https://cr.openjdk.java.net/~shade/8241520/webrev.01/ > > It ditches the seqnums we don't really need, and make the remaining one Traversal-specific. (We can > remove it when/if Traversal goes away). > > Testing: hotspot_gc_shenandoah {fastdebug,release}; torture tests for allocation path improve a bit Looks good, go! Roman From shade at redhat.com Tue Mar 24 17:08:44 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 18:08:44 +0100 Subject: RFR (XS) 8241534: Shenandoah: region status should include update watermark Message-ID: <0b200e10-72e3-6411-59ec-8cb1475ba145@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241534 Fix: diff -r b58660116a42 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Mar 24 17:49:58 2020 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Mar 24 18:04:13 2020 +0100 @@ -992,5 +992,5 @@ st->print_cr("EU=empty-uncommitted, EC=empty-committed, R=regular, H=humongous start, HC=humongous continuation, CS=collection set, T=trash, P=pinned"); st->print_cr("BTE=bottom/top/end, U=used, T=TLAB allocs, G=GCLAB allocs, S=shared allocs, L=live data"); - st->print_cr("R=root, CP=critical pins, TAMS=top-at-mark-start (previous, next)"); + st->print_cr("R=root, CP=critical pins, TAMS=top-at-mark-start, UWM=update watermark"); st->print_cr("SN=alloc sequence number"); diff -r b58660116a42 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Mar 24 17:49:58 2020 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Mar 24 18:04:13 2020 +0100 @@ -414,4 +414,6 @@ st->print("|TAMS " INTPTR_FORMAT_W(12), p2i(_heap->marking_context()->top_at_mark_start(const_cast(this)))); + st->print("|UWM " INTPTR_FORMAT_W(12), + p2i(_update_watermark)); st->print("|U " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(used()), proper_unit_for_byte_size(used())); st->print("|T " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_tlab_allocs()), proper_unit_for_byte_size(get_tlab_allocs())); Testing: hotspot_gc_shenandoah, eyeballing artificially triggered hs_errs -- Thanks, -Aleksey From rkennke at redhat.com Tue Mar 24 17:16:55 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 24 Mar 2020 18:16:55 +0100 Subject: RFR (XS) 8241534: Shenandoah: region status should include update watermark In-Reply-To: <0b200e10-72e3-6411-59ec-8cb1475ba145@redhat.com> References: <0b200e10-72e3-6411-59ec-8cb1475ba145@redhat.com> Message-ID: Indeed. Looks good! Thank you! Roman Am 24.03.20 um 18:08 schrieb Aleksey Shipilev: > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241534 > > Fix: > > diff -r b58660116a42 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Mar 24 17:49:58 2020 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Tue Mar 24 18:04:13 2020 +0100 > @@ -992,5 +992,5 @@ > st->print_cr("EU=empty-uncommitted, EC=empty-committed, R=regular, H=humongous start, > HC=humongous continuation, CS=collection set, T=trash, P=pinned"); > st->print_cr("BTE=bottom/top/end, U=used, T=TLAB allocs, G=GCLAB allocs, S=shared allocs, L=live > data"); > - st->print_cr("R=root, CP=critical pins, TAMS=top-at-mark-start (previous, next)"); > + st->print_cr("R=root, CP=critical pins, TAMS=top-at-mark-start, UWM=update watermark"); > st->print_cr("SN=alloc sequence number"); > > diff -r b58660116a42 src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Mar 24 17:49:58 2020 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Tue Mar 24 18:04:13 2020 +0100 > @@ -414,4 +414,6 @@ > st->print("|TAMS " INTPTR_FORMAT_W(12), > p2i(_heap->marking_context()->top_at_mark_start(const_cast(this)))); > + st->print("|UWM " INTPTR_FORMAT_W(12), > + p2i(_update_watermark)); > st->print("|U " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(used()), > proper_unit_for_byte_size(used())); > st->print("|T " SIZE_FORMAT_W(5) "%1s", byte_size_in_proper_unit(get_tlab_allocs()), > proper_unit_for_byte_size(get_tlab_allocs())); > > Testing: hotspot_gc_shenandoah, eyeballing artificially triggered hs_errs > From shade at redhat.com Tue Mar 24 19:03:16 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 20:03:16 +0100 Subject: RFR (XS) 8241545: Shenandoah: purge root work overwrites counters after JDK-8228818 Message-ID: <84d43c7b-3cc8-d440-7770-90803586c5d3@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8241545 Fix: diff -r 97a3e6ce2652 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Mar 24 18:46:48 2020 +0100 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Mar 24 20:02:16 2020 +0100 @@ -78,4 +78,5 @@ f(purge_class_unload, " Unload Classes") \ f(purge_par, " Parallel Cleanup") \ + SHENANDOAH_GC_PAR_PHASE_DO(purge_par_roots, " PC: ", f) \ f(purge_cldg, " CLDG") \ f(complete_liveness, " Complete Liveness") \ @@ -136,4 +137,5 @@ f(full_gc_purge_class_unload, " Unload Classes") \ f(full_gc_purge_par, " Parallel Cleanup") \ + SHENANDOAH_GC_PAR_PHASE_DO(full_gc_purge_roots, " PC: ", f) \ f(full_gc_purge_cldg, " CLDG") \ f(full_gc_calculate_addresses, " Calculate Addresses") \ Testing: eyeballing gc+stats logs -- Thanks, -Aleksey From zgu at redhat.com Tue Mar 24 19:07:27 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 24 Mar 2020 15:07:27 -0400 Subject: RFR (XS) 8241545: Shenandoah: purge root work overwrites counters after JDK-8228818 In-Reply-To: <84d43c7b-3cc8-d440-7770-90803586c5d3@redhat.com> References: <84d43c7b-3cc8-d440-7770-90803586c5d3@redhat.com> Message-ID: Looks good to me. Thanks for fixing it. -Zhengyu On 3/24/20 3:03 PM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8241545 > > Fix: > > diff -r 97a3e6ce2652 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Mar 24 18:46:48 2020 +0100 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Tue Mar 24 20:02:16 2020 +0100 > @@ -78,4 +78,5 @@ > f(purge_class_unload, " Unload Classes") \ > f(purge_par, " Parallel Cleanup") \ > + SHENANDOAH_GC_PAR_PHASE_DO(purge_par_roots, " PC: ", f) \ > f(purge_cldg, " CLDG") \ > f(complete_liveness, " Complete Liveness") \ > @@ -136,4 +137,5 @@ > f(full_gc_purge_class_unload, " Unload Classes") \ > f(full_gc_purge_par, " Parallel Cleanup") \ > + SHENANDOAH_GC_PAR_PHASE_DO(full_gc_purge_roots, " PC: ", f) \ > f(full_gc_purge_cldg, " CLDG") \ > f(full_gc_calculate_addresses, " Calculate Addresses") \ > > Testing: eyeballing gc+stats logs > From shade at redhat.com Tue Mar 24 19:28:26 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 20:28:26 +0100 Subject: RFR (XS) 8241545: Shenandoah: purge root work overwrites counters after JDK-8228818 In-Reply-To: References: <84d43c7b-3cc8-d440-7770-90803586c5d3@redhat.com> Message-ID: <3827dcaa-8e4e-a20f-1434-d59ed1c0a143@redhat.com> On 3/24/20 8:07 PM, Zhengyu Gu wrote: > Looks good to me. > > Thanks for fixing it. No problem, pushed. -- Thanks, -Aleksey From zgu at redhat.com Tue Mar 24 19:33:25 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 24 Mar 2020 15:33:25 -0400 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Message-ID: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> I would like to backport this patch to Shenandoah JDK11u. The same problems exist in sh/jdk11u, although, it is much harder to reproduce, given it performs a lot less class unloading with default settings. I managed to reproduce the problems with following parameters: -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahUnloadClassesFrequency=1 -XX:+ClassUnloadingWithConcurrentMark -XX:+ClassUnloading Original Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 sh/11u Webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/sh-jdk11/webrev.00/ Test: hotspot_gc_shenandoah tools/javac with above parameters (normal and traversal) Thanks, -Zhengyu From shade at redhat.com Tue Mar 24 19:46:19 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 24 Mar 2020 20:46:19 +0100 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> Message-ID: On 3/24/20 8:33 PM, Zhengyu Gu wrote: > Original Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 > sh/11u Webrev: > http://cr.openjdk.java.net/~zgu/JDK-8239926/sh-jdk11/webrev.00/ Backport looks fine. Is your intent to push this for April CPU? If so, it needs to go in as soon as possible. Preferably before I pull 11.0.7+9 tomorrow. Roman needs to make that call. Double-check, please, that synopsis for backport should include "[backport]": [backport] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata -- Thanks, -Aleksey From zgu at redhat.com Tue Mar 24 19:57:50 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 24 Mar 2020 15:57:50 -0400 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> Message-ID: <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> On 3/24/20 3:46 PM, Aleksey Shipilev wrote: > On 3/24/20 8:33 PM, Zhengyu Gu wrote: >> Original Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >> sh/11u Webrev: >> http://cr.openjdk.java.net/~zgu/JDK-8239926/sh-jdk11/webrev.00/ > > Backport looks fine. Is your intent to push this for April CPU? If so, it needs to go in as soon as > possible. Preferably before I pull 11.0.7+9 tomorrow. Roman needs to make that call. Yes, I would prefer to get it in, along with JVMTI fixes. I assume 11.0.7+9 should contain JDK-8237396, right? then I will backport JDK-8237632 as well. Okay? Roman > > Double-check, please, that synopsis for backport should include "[backport]": > [backport] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata > Will do. -Zhengyu From rkennke at redhat.com Tue Mar 24 20:14:31 2020 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 24 Mar 2020 21:14:31 +0100 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> Message-ID: <842b61a5-4f64-9041-151c-739672794500@redhat.com> >> Original Bug: https://bugs.openjdk.java.net/browse/JDK-8239926 >> sh/11u Webrev: >> http://cr.openjdk.java.net/~zgu/JDK-8239926/sh-jdk11/webrev.00/ > > Backport looks fine. Is your intent to push this for April CPU? If so, it needs to go in as soon as > possible. Preferably before I pull 11.0.7+9 tomorrow. Roman needs to make that call. Hmm yeah, it seems to fix a rare bug that can be disastrous (heap corruption), so I would include it. The change looks good to me. Thank you, Roman From zgu at redhat.com Tue Mar 24 20:20:12 2020 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 24 Mar 2020 20:20:12 +0000 Subject: hg: shenandoah/jdk11: [backport] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Message-ID: <202003242020.02OKKDwD015805@aojmv0008.oracle.com> Changeset: b2e2970ea2a4 Author: zgu Date: 2020-02-25 12:01 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b2e2970ea2a4 [backport] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp From shade at redhat.com Wed Mar 25 06:49:05 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 07:49:05 +0100 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> Message-ID: <51198558-6524-a40e-99bf-210779a69748@redhat.com> On 3/24/20 8:57 PM, Zhengyu Gu wrote: > I assume 11.0.7+9 should contain JDK-8237396, right? No. 8237396 is done in 11.0.8. It is not in 11.0.7. > then I will backport JDK-8237632 as well. ...which makes 8237632 useless to have in 11.0.7? -- Thanks, -Aleksey From shade at redhat.com Wed Mar 25 10:06:16 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 11:06:16 +0100 Subject: [11] RFC: Pick up 11.0.7+9 to sh/jdk11 Message-ID: Upstream pushed 11.0.7+9, let's pick it up to sh/jdk11. Changesets: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b9/changesets.txt Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From roman at kennke.org Wed Mar 25 10:07:38 2020 From: roman at kennke.org (Roman Kennke) Date: Wed, 25 Mar 2020 11:07:38 +0100 Subject: [11] RFC: Pick up 11.0.7+9 to sh/jdk11 In-Reply-To: References: Message-ID: <5b2827de-5fed-822a-0f74-2906c3668eb2@kennke.org> > Upstream pushed 11.0.7+9, let's pick it up to sh/jdk11. > > Changesets: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.7%2b9/changesets.txt > > Testing: hotspot_gc_shenandoah {fastdebug,release} Yes, please push it. Thanks, Roman From shade at redhat.com Wed Mar 25 11:44:12 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 12:44:12 +0100 Subject: RFR (S) 8241583: Shenandoah: turn heap lock asserts into macros Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8241583 See rationale in the bug. Webrev: https://cr.openjdk.java.net/~shade/8241583/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug, release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 25 11:54:24 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 25 Mar 2020 12:54:24 +0100 Subject: RFR (S) 8241583: Shenandoah: turn heap lock asserts into macros In-Reply-To: References: Message-ID: <6ea42db1-6b0d-a19f-de94-31a07be9e131@redhat.com> Ok. Thank you, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241583 > > See rationale in the bug. > > Webrev: > https://cr.openjdk.java.net/~shade/8241583/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug, release} > From zgu at redhat.com Wed Mar 25 12:17:12 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 25 Mar 2020 08:17:12 -0400 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <51198558-6524-a40e-99bf-210779a69748@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> <51198558-6524-a40e-99bf-210779a69748@redhat.com> Message-ID: <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> On 3/25/20 2:49 AM, Aleksey Shipilev wrote: > On 3/24/20 8:57 PM, Zhengyu Gu wrote: >> I assume 11.0.7+9 should contain JDK-8237396, right? > > No. 8237396 is done in 11.0.8. It is not in 11.0.7. > >> then I will backport JDK-8237632 as well. > > ...which makes 8237632 useless to have in 11.0.7? Yes. In most of cases encounter JDK-8237396 before hit JDK-8237632. What our next release is based on? If 11.0.7, we should consider backport both. -Zhengyu > From rkennke at redhat.com Wed Mar 25 17:03:46 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 25 Mar 2020 18:03:46 +0100 Subject: RFR: Pick up jdk-15+15 Message-ID: I'd like to put a change (JDK-8241605) in shenandoah/jdk to get some testing before I push it to jdk/jdk. In preparation for this, I'd like to pick up jdk-15+15 into shenandoah/jdk. The list of changesets: http://cr.openjdk.java.net/~rkennke/upstream-merge-jdk-15%2b15/changesets.txt Merge was trivial without any conflicts. Testing: hotspot_gc_shenandoah Ok? Roman From rkennke at redhat.com Wed Mar 25 17:29:21 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 25 Mar 2020 18:29:21 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery Message-ID: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> Shenandoah uses SATB for concurrent marking, and thus needs to track stores and explicitely make previous values grey. An exception to this are (soft/weak/final) references: the reachability of referents can be changed (from weak to strong) when a referent is accessed. For this reason we require a keep-alive barrier which also makes referents grey whenever they are accessed via Reference.get(). The downside of this is if a workload churns weak-references (i.e. accesses them often) they might never get a chance to be reclaimed. The key insight for improving the situation is that the change of reachability of the referent is only relevant when that referent is stored somewhere else. We can elide the keep-alive barrier, if the compiler can prove that this doesn't happen. (We also need to check if the referent leaves the scope of the method via method-call or return, because it may be stored outside of the method.) The caveat here is that we must do another scan of the threads' stacks at final-mark to catch referents that are in a local variable at final-mark - we must not loose those. However, according to my measurements, this is only a minor (if any) regression in final-mark-latency. Issue: https://bugs.openjdk.java.net/browse/JDK-8241605 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ Testing: hotspot_gc_shenandoah (including new testcase that verifies the improved behaviour), manual tests, specjbb and specjvm runs I'd like to push this to shenandoah/jdk first, to give it a few more rounds of testing before hitting mainline JDK. Ok? Roman From shade at redhat.com Wed Mar 25 18:02:30 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 19:02:30 +0100 Subject: RFR: Pick up jdk-15+15 In-Reply-To: References: Message-ID: <429a1ba9-7444-bf2c-b862-6c2fc69f5af1@redhat.com> On 3/25/20 6:03 PM, Roman Kennke wrote: > I'd like to put a change (JDK-8241605) in shenandoah/jdk to get some > testing before I push it to jdk/jdk. In preparation for this, I'd like > to pick up jdk-15+15 into shenandoah/jdk. The list of changesets: > > http://cr.openjdk.java.net/~rkennke/upstream-merge-jdk-15%2b15/changesets.txt > > Merge was trivial without any conflicts. Let's do it. -- Thanks, -Aleksey From shade at redhat.com Wed Mar 25 18:13:47 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 19:13:47 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> Message-ID: On 3/25/20 6:29 PM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ *) Feels like this cast: 1578 if (((ShenandoahEnqueueBarrierNode*)barrier)->can_eliminate(phase)) { ...should be done when we poll the node a few lines above? 1573 Node* barrier = state->enqueue_barrier(i); *) "test_heap_stable" is misleading name now. "test_heap_state"? You already "assert is_heap_state_test". *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic optimization? It seems good by itself to test for this instead of falling through for evac/update-refs? (Actually, what checks for *that* in the old code?) It is good for sh/jdk sandbox. Please make sure you don't use bug ID when pushing there, so that history would separate this prototype and the actual upstream change? -- Thanks, -Aleksey From shade at redhat.com Wed Mar 25 18:20:07 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 25 Mar 2020 19:20:07 +0100 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> <51198558-6524-a40e-99bf-210779a69748@redhat.com> <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> Message-ID: <23db1b14-175e-b0df-5479-3e58f2d9e654@redhat.com> On 3/25/20 1:17 PM, Zhengyu Gu wrote: > What our next release is based on? April: 11.0.7 July: 11.0.8 We are currently in deep stabilizing for April release. > If 11.0.7, we should consider backport both. Yes. But I think for 11.0.8. 8237396 can be picked up to sh/jdk11, but we would need to protect it with UseShenandoahGC and maintain the upstream behavior without Shenandoah. It is too risky at this point otherwise. -- Thanks, -Aleksey From rkennke at redhat.com Wed Mar 25 18:38:45 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 25 Mar 2020 18:38:45 +0000 Subject: hg: shenandoah/jdk: 573 new changesets Message-ID: <202003251839.02PIdIon003007@aojmv0008.oracle.com> Changeset: ea066e5bdfd6 Author: egahlin Date: 2020-01-29 22:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ea066e5bdfd6 8222001: JFR event for heap dumps written Reviewed-by: mgronlun ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/services/heapDumper.cpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/diagnostics/TestHeapDump.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: db30f31b9a8e Author: vlivanov Date: 2020-01-30 00:46 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/db30f31b9a8e 7175279: Don't use x87 FPU on x86-64 Reviewed-by: kvn, roland ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.hpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_LinearScan_x86.cpp ! src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/c1/c1_CodeStubs.hpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/c1/c1_LinearScan.hpp Changeset: 029fe1db925d Author: egahlin Date: 2020-01-29 23:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/029fe1db925d 8237364: Add early validation to the jdk.jfr.Recording constructor Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/Recording.java Changeset: 4f0822a80a13 Author: egahlin Date: 2020-01-29 23:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4f0822a80a13 8215890: Simplify jdk/jfr/api/recording/event/TestPeriod.java Reviewed-by: mgronlun, mseledtsov ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/api/recording/event/TestPeriod.java Changeset: 6588cfd31d9d Author: egahlin Date: 2020-01-30 00:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6588cfd31d9d 8237574: Make TestNative work without -nativepath Reviewed-by: mgronlun, mseledtsov ! test/jdk/jdk/jfr/event/sampling/TestNative.java - test/jdk/jdk/jfr/event/sampling/libTestNative.c Changeset: a5564b13ffa8 Author: iignatyev Date: 2020-01-29 19:27 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a5564b13ffa8 8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java Reviewed-by: epavlova, kvn + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/Test.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/run.sh + test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/Test.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh Changeset: a96bc204e3b3 Author: herrick Date: 2020-01-29 14:35 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a96bc204e3b3 8238168: Remove Copyright from WinLauncher.template Reviewed-by: kcr, prr, asemenyuk ! src/jdk.incubator.jpackage/windows/classes/jdk/incubator/jpackage/internal/resources/WinLauncher.template Changeset: 42a0eaefc1db Author: jwilhelm Date: 2020-01-30 03:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/42a0eaefc1db Added tag jdk-14+34 for changeset a96bc204e3b3 ! .hgtags Changeset: 91994dfee869 Author: jwilhelm Date: 2020-01-30 03:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91994dfee869 Added tag jdk-15+8 for changeset c7d4f2849dbf ! .hgtags Changeset: d20418cfe16e Author: jwilhelm Date: 2020-01-30 05:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d20418cfe16e Merge ! .hgtags Changeset: 74ecb602ffb0 Author: dholmes Date: 2020-01-29 23:53 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/74ecb602ffb0 8237857: LogDecorations::uptimenanos is implemented incorrectly Reviewed-by: dcubed, kbarrett ! src/hotspot/share/logging/logConfiguration.cpp ! src/hotspot/share/logging/logDecorations.cpp ! src/hotspot/share/logging/logDecorations.hpp ! test/hotspot/gtest/logging/test_logDecorations.cpp Changeset: 68181ac4ce7d Author: bulasevich Date: 2020-01-30 10:26 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/68181ac4ce7d 8229971: Arm32: implementation for Thread-local handshakes Reviewed-by: rehn, dsamersoff ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/globalDefinitions_arm.hpp ! src/hotspot/cpu/arm/interp_masm_arm.cpp ! src/hotspot/cpu/arm/interp_masm_arm.hpp ! 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 ! src/hotspot/cpu/arm/templateTable_arm.cpp Changeset: d7994062de41 Author: egahlin Date: 2020-01-30 09:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d7994062de41 8202142: jfr/event/io/TestInstrumentation is unstable Reviewed-by: mgronlun, mseledtsov ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/io/IOEvent.java ! test/jdk/jdk/jfr/event/io/IOHelper.java ! test/jdk/jdk/jfr/event/io/TestDisabledEvents.java ! test/jdk/jdk/jfr/event/io/TestFileChannelEvents.java ! test/jdk/jdk/jfr/event/io/TestFileReadOnly.java ! test/jdk/jdk/jfr/event/io/TestFileStreamEvents.java ! test/jdk/jdk/jfr/event/io/TestInstrumentation.java ! test/jdk/jdk/jfr/event/io/TestRandomAccessFileEvents.java ! test/jdk/jdk/jfr/event/io/TestRandomAccessFileThread.java ! test/jdk/jdk/jfr/event/io/TestSocketChannelEvents.java ! test/jdk/jdk/jfr/event/io/TestSocketEvents.java Changeset: 99f7916541e0 Author: mbaesken Date: 2020-01-28 08:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/99f7916541e0 8223699: cleanup perfMemory_aix.cpp O_NOFOLLOW coding on aix Reviewed-by: lucy, mdoerr ! src/hotspot/os/aix/perfMemory_aix.cpp Changeset: 24b4c763cb22 Author: egahlin Date: 2020-01-30 10:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/24b4c763cb22 8221331: test/jdk/jdk/jfr/event/io/EvilInstrument.java needs to re-worked to avoid recursive initialization issues Reviewed-by: mgronlun, mseledtsov ! test/jdk/ProblemList.txt Changeset: 0743e1d49930 Author: ihse Date: 2020-01-30 11:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0743e1d49930 8237879: make 4.3 breaks build Reviewed-by: erikj, tbell ! make/common/MakeBase.gmk Changeset: e53122a71a0c Author: egahlin Date: 2020-01-30 11:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e53122a71a0c 8238224: test\jdk\jdk\jfr\event\io\EvilInstrument.java should be removed Reviewed-by: mgronlun - test/jdk/jdk/jfr/event/io/EvilInstrument.java Changeset: e6e4b43ee3ce Author: pliden Date: 2020-01-30 12:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6e4b43ee3ce 8237649: ZGC: Improved NUMA support when using small pages Reviewed-by: eosterlund, smonteith ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/share/gc/z/zNUMA.cpp ! src/hotspot/share/gc/z/zPhysicalMemory.cpp Changeset: b576a0ead397 Author: pliden Date: 2020-01-30 12:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b576a0ead397 8237758: ZGC: Move get_mempolicy() syscall wrapper to ZSyscall Reviewed-by: eosterlund ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/linux/gc/z/zSyscall_linux.cpp ! src/hotspot/os/linux/gc/z/zSyscall_linux.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp Changeset: 9c2c9e22c8ba Author: pliden Date: 2020-01-30 12:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9c2c9e22c8ba 8237825: ZGC: Replace -XX:ZPath with -XX:AllocateHeapAt Reviewed-by: eosterlund ! src/hotspot/os/linux/gc/z/zMountPoint_linux.cpp ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp ! src/hotspot/share/gc/z/z_globals.hpp ! src/hotspot/share/runtime/arguments.cpp Changeset: fe7c8e8eca0b Author: pliden Date: 2020-01-30 12:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fe7c8e8eca0b 8237884: ZGC: Use clamp() instead of MIN2(MAX2()) Reviewed-by: kbarrett, smonteith ! src/hotspot/share/gc/z/zHeuristics.cpp Changeset: 58acc5079000 Author: pliden Date: 2020-01-30 12:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/58acc5079000 8237882: ZGC: Remove ZUtils::round_{up,down}_power_of_2() declarations Reviewed-by: kbarrett, smonteith ! src/hotspot/share/gc/z/zUtils.hpp Changeset: 0f53754d8577 Author: coleenp Date: 2020-01-30 08:50 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0f53754d8577 8237080: fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: SharedDecoder_lock Summary: Set allow_vm_block to true for this lock. It's _safepoint_check_never so it's sort of implied (you can't safepoint holding the lock and block out the vm thread). Reviewed-by: rehn, zgu, pchilanomate, dholmes ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: abb879864b99 Author: ecaspole Date: 2020-01-30 10:31 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/abb879864b99 8238189: Cleanups to AES crypto micros Summary: Move all tested algorithms into the small set Reviewed-by: xuelei ! test/micro/org/openjdk/bench/javax/crypto/small/AESBench.java Changeset: 41f1e738b639 Author: ngasson Date: 2020-01-24 17:41 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/41f1e738b639 8237521: Memory Access API fixes for 32-bit Reviewed-by: mcimadamore, dholmes ! src/hotspot/share/prims/unsafe.cpp ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! test/hotspot/jtreg/runtime/Unsafe/AllocateMemory.java ! test/jdk/java/foreign/TestArrays.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAlignment.java Changeset: 2dbf459b5577 Author: egahlin Date: 2020-01-30 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2dbf459b5577 8213918: DumpReason JFR event is not covered by test Reviewed-by: mgronlun, mseledtsov ! test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java + test/jdk/jdk/jfr/event/runtime/TestDumpReason.java ! test/jdk/jdk/jfr/event/runtime/TestFlush.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 991acdf0e37f Author: egahlin Date: 2020-01-30 17:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/991acdf0e37f 8219686: jdk/jfr/event/runtime/TestShutdownEvent.java recording file length is 0 Reviewed-by: mgronlun, mseledtsov ! test/jdk/jdk/jfr/event/runtime/TestShutdownEvent.java Changeset: 9211f6e20448 Author: egahlin Date: 2020-01-30 17:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9211f6e20448 8232636: JFR TestDumpOnCrash.java crashed and failed to create emergency dump file Reviewed-by: mgronlun, mseledtsov ! test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java Changeset: 84d6423a759a Author: mseledtsov Date: 2020-01-30 10:27 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/84d6423a759a 8235599: [TESTBUG] JFR streaming/TestJVMCrash.java fails to cleanup files after test Summary: Removed the TestJVMCrash.java test from problem list Reviewed-by: egahlin ! test/jdk/ProblemList.txt Changeset: bb83f1dff441 Author: jjg Date: 2020-01-30 11:20 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bb83f1dff441 8236949: javadoc -Xdoclint does not accumulate options correctly Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java + test/langtools/jdk/javadoc/doclet/testDocLintOption/TestDocLintOption.java ! test/langtools/jdk/javadoc/tool/treeapi/TestDocTrees.java Changeset: 8d8bd676484d Author: jjg Date: 2020-01-30 11:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8d8bd676484d 8200363: Add javadoc command line setting to fail on warnings Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties + test/langtools/jdk/javadoc/tool/testWErrorOption/TestWErrorOption.java Changeset: 560b2becbe87 Author: erikj Date: 2020-01-30 12:00 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/560b2becbe87 8237914: The test-make target does not fail on test failure Reviewed-by: tbell, ihse ! make/RunTests.gmk Changeset: 8482ab8f9b4c Author: iignatyev Date: 2020-01-30 08:55 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8482ab8f9b4c 8237953: vmTestbase/jit/tiered/Test.java failure after JDK-8237798 Reviewed-by: iveresov ! test/hotspot/jtreg/vmTestbase/jit/tiered/Test.java Changeset: 085463e75652 Author: jjg Date: 2020-01-30 15:50 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/085463e75652 8238259: new tests do not account for Windows file separators Reviewed-by: vromero ! test/langtools/jdk/javadoc/doclet/testDocLintOption/TestDocLintOption.java ! test/langtools/jdk/javadoc/tool/testWErrorOption/TestWErrorOption.java Changeset: 0905868db490 Author: chagedorn Date: 2020-01-31 09:32 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0905868db490 8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM Summary: Account for GC barriers when skipping a cloned ArrayCopyNode in ConnectionGraph::find_inst_mem() Reviewed-by: roland, neliasso ! src/hotspot/share/opto/escape.cpp + test/hotspot/jtreg/compiler/arraycopy/TestCloneAccessStressGCM.java Changeset: 298f81208333 Author: iklam Date: 2020-01-31 14:18 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/298f81208333 8238198: Avoid using @ tags in TestOptionsWithRanges_generate.sh Reviewed-by: iignatyev ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges_generate.sh Changeset: a2320a988013 Author: egahlin Date: 2020-02-01 09:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a2320a988013 8238241: Clean up problem list for JFR tests Reviewed-by: mgronlun, mseledtsov ! test/jdk/ProblemList.txt Changeset: 44cc199fac64 Author: ysuenaga Date: 2020-02-02 18:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/44cc199fac64 8238203: Return value of GetUserDefaultUILanguage() should be handled as LANGID Reviewed-by: naoto ! src/java.base/windows/native/libjava/java_props_md.c Changeset: 1dba80ef03e9 Author: jiefu Date: 2020-01-31 20:49 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1dba80ef03e9 8238284: [macos] Zero VM build fails due to an obvious typo Reviewed-by: dholmes ! src/hotspot/os_cpu/bsd_zero/atomic_bsd_zero.hpp ! src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp ! src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp Changeset: d9e09b01ad0c Author: ihse Date: 2020-02-03 08:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d9e09b01ad0c 8196875: Update run-test instructions for TEST_MODE Reviewed-by: erikj ! doc/testing.html ! doc/testing.md Changeset: c3d2fc56206f Author: tschatzl Date: 2020-02-03 10:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c3d2fc56206f 8215297: Remove ParallelTaskTerminator Summary: Remove ParallelTaskTerminator as the alternate OWSTTaskTerminator algorithm has worked well for more than a year now. Reviewed-by: zgu, 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/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.cpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/owstTaskTerminator.cpp ! src/hotspot/share/gc/shared/owstTaskTerminator.hpp ! src/hotspot/share/gc/shared/taskqueue.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: dbb94c2ceaf8 Author: tschatzl Date: 2020-02-03 10:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dbb94c2ceaf8 8238220: Rename OWSTTaskTerminator to TaskTerminator 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 ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/taskTerminator.cpp < src/hotspot/share/gc/shared/owstTaskTerminator.cpp ! src/hotspot/share/gc/shared/taskTerminator.hpp < src/hotspot/share/gc/shared/owstTaskTerminator.hpp ! src/hotspot/share/gc/shared/taskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: 1617236f5cbb Author: tschatzl Date: 2020-02-03 10:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1617236f5cbb 8238229: Remove TRACESPINNING debug code Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/taskTerminator.cpp ! src/hotspot/share/gc/shared/taskTerminator.hpp Changeset: 6d9ac97c7d2f Author: lkorinth Date: 2020-02-03 18:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6d9ac97c7d2f 8233220: Space::_par_seq_tasks is unused after CMS removal Reviewed-by: pliden, tschatzl, lkorinth Contributed-by: Ivan Walulya ! src/hotspot/share/gc/shared/space.hpp Changeset: 4639cbdcbf27 Author: mbaesken Date: 2020-02-03 09:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4639cbdcbf27 8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks Reviewed-by: clanger, mullan ! src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ValidatePathWithParams.java Changeset: c7152f7e01a6 Author: roland Date: 2020-01-28 13:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c7152f7e01a6 8237951: CTW: C2 compilation fails with "malformed control flow" Reviewed-by: vlivanov, kvn ! src/hotspot/share/opto/phaseX.cpp Changeset: 9b3d5cc71cea Author: dnsimon Date: 2020-02-04 09:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b3d5cc71cea 8238190: [JVMCI] Fix single implementor speculation for diamond shapes. Reviewed-by: kvn Contributed-by: david.leopoldseder at oracle.com ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestSingleImplementor.java Changeset: f0cd8603f11e Author: almatvee Date: 2020-02-04 11:44 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f0cd8603f11e 8235954: [dmg] Default DMG background tiff of jpackage not retina ready Reviewed-by: herrick, asemenyuk ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/background_dmg.tiff Changeset: 78e0dd9ac15f Author: dfuchs Date: 2020-02-04 18:35 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/78e0dd9ac15f 8238231: Custom DatagramSocketImpl's create method not called when with protected constructor Summary: Allow the socket to be lazily created if not created by the constructor. Reviewed-by: alanb ! src/java.base/share/classes/java/net/DatagramSocket.java ! test/jdk/java/net/DatagramSocket/SetReceiveBufferSize.java + test/jdk/java/net/DatagramSocketImpl/TestCreate.java Changeset: cf7c8e28ff9a Author: zgu Date: 2020-02-04 14:48 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf7c8e28ff9a 8238162: Shenandoah: Remove ShenandoahTaskTerminator wrapper Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp Changeset: ca6c676cab64 Author: weijun Date: 2020-02-04 13:15 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ca6c676cab64 8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION Reviewed-by: wetmore, coffeys, mullan ! src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Changeset: 4f9dc5bee9c4 Author: jjg Date: 2020-02-04 14:02 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4f9dc5bee9c4 8219475: javap man page needs to be updated Reviewed-by: mchung ! src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties Changeset: 84e55cb3894e Author: prappo Date: 2020-02-04 22:05 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/84e55cb3894e 8238467: Clean up annotations on overridden/implemented methods Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.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/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.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/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkInfoImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkOutputImpl.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/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/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.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/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocletElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/OverviewElement.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/AnnotationTypeFieldBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ConstantsSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ConstructorBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/EnumConstantBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/FieldBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MethodBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PropertyBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/UserTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPath.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Group.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocToolProvider.java Changeset: 6e49fb6ad4ee Author: weijun Date: 2020-02-05 11:09 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e49fb6ad4ee 8237804: sun/security/mscapi tests fail with "Key pair not generated, alias already exists" Reviewed-by: mullan ! test/jdk/sun/security/mscapi/KeyAlgorithms.java ! test/jdk/sun/security/mscapi/PublicKeyInterop.java Changeset: a23e471deb84 Author: diazhou Date: 2020-01-30 18:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a23e471deb84 8236092: Remove EA from JDK 14 version string starting with Initial RC promotion Reviewed-by: tbell, erikj ! make/autoconf/version-numbers Changeset: f8bf9cb16b5e Author: mgronlun Date: 2020-01-31 12:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f8bf9cb16b5e 8236743: JFR: assert(klass != __null) failed: invariant in ObjectSampleCheckpoint::add_to_leakp_set Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTrace.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTrace.hpp + src/hotspot/share/jfr/support/jfrMethodLookup.cpp + src/hotspot/share/jfr/support/jfrMethodLookup.hpp Changeset: 2a0de7812409 Author: bpb Date: 2020-01-31 08:04 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2a0de7812409 8237514: Spec Clarification - ByteBuffer::alignmentOffset Spec Reviewed-by: alanb, psandoz ! src/java.base/share/classes/java/nio/X-Buffer.java.template ! test/jdk/java/nio/Buffer/Basic-X.java.template ! test/jdk/java/nio/Buffer/Basic.java ! test/jdk/java/nio/Buffer/BasicByte.java Changeset: 66ecee0023e1 Author: ljiang Date: 2020-02-04 16:26 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/66ecee0023e1 8238377: JDK 14 L10N resource file update - msgdrop 20 Reviewed-by: naoto, herrick, mchung ! src/jdk.incubator.jpackage/windows/classes/jdk/incubator/jpackage/internal/resources/MsiInstallerStrings_ja.wxl ! src/jdk.incubator.jpackage/windows/classes/jdk/incubator/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Changeset: 3e021f5c81f5 Author: jwilhelm Date: 2020-02-05 03:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3e021f5c81f5 Merge ! make/autoconf/version-numbers Changeset: d0ee21ac3329 Author: jwilhelm Date: 2020-02-05 03:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d0ee21ac3329 8238515: Backout JDK-8236092 from jdk/jdk Reviewed-by: dholmes ! make/autoconf/version-numbers Changeset: 689d165369ac Author: clanger Date: 2020-02-05 06:33 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/689d165369ac 8238375: JFR Test TestJcmdStartFlushInterval is not run Reviewed-by: egahlin, mseledtsov ! test/jdk/jdk/jfr/jcmd/TestJcmdStartFlushInterval.java Changeset: 932418820c80 Author: ihse Date: 2020-02-05 10:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/932418820c80 8238281: Raise minimum gcc version needed to 5.0 Reviewed-by: erikj, dholmes, jwilhelm, mbaesken ! doc/building.html ! doc/building.md ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags.m4 ! make/autoconf/toolchain.m4 ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/memory/operator_new.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/globalDefinitions_gcc.hpp ! src/hotspot/share/utilities/ostream.cpp Changeset: 9e54ea7d9cd9 Author: qpzhang Date: 2020-02-05 20:31 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9e54ea7d9cd9 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 Summary: Fixed libj2gss link errors caused by GCC10 default -fno-common Reviewed-by: weijun ! src/java.security.jgss/share/native/libj2gss/NativeFunc.c ! src/java.security.jgss/share/native/libj2gss/NativeFunc.h Changeset: 5a0b13e3715d Author: mseledtsov Date: 2020-02-05 07:31 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5a0b13e3715d 8179317: [TESTBUG] rewrite runtime shell tests in java Summary: Converted shell tests to Java Reviewed-by: dholmes, iignatyev, lmesnik ! make/test/JtregNativeHotspot.gmk ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/runtime/7162488/Test7162488.sh + test/hotspot/jtreg/runtime/7162488/TestUnrecognizedVmOption.java + test/hotspot/jtreg/runtime/StackGap/TestStackGap.java - test/hotspot/jtreg/runtime/StackGap/testme.sh + test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java - test/hotspot/jtreg/runtime/StackGuardPages/testme.sh + test/hotspot/jtreg/runtime/TLS/TestTLS.java - test/hotspot/jtreg/runtime/TLS/testtls.sh ! test/hotspot/jtreg/runtime/signal/SigTestDriver.java + test/hotspot/jtreg/testlibrary_tests/process/Test.java + test/hotspot/jtreg/testlibrary_tests/process/TestNativeProcessBuilder.java + test/hotspot/jtreg/testlibrary_tests/process/exejvm-test-launcher.c - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java + test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestMaxMetaspaceSize.java - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/maxMetaspaceSize.sh ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: ba74310b0b69 Author: simonis Date: 2020-02-05 16:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ba74310b0b69 8235699: ArrayIndexOutOfBoundsException in CalendarBuilder.toString Reviewed-by: phh, alanb, weijun, simonis, rriggs Contributed-by: verghese at amazon.com ! src/java.base/share/classes/java/text/CalendarBuilder.java + test/jdk/java/text/Format/DateFormat/Bug8235699.java + test/jdk/java/text/Format/DateFormat/java.base/java/text/CalendarBuilderTest.java Changeset: 175867bc8928 Author: dcubed Date: 2020-02-05 11:38 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/175867bc8928 8235931: add OM_CACHE_LINE_SIZE and use smaller size on SPARCv9 and X64 Reviewed-by: dholmes, redestad, mdoerr ! src/hotspot/cpu/sparc/globalDefinitions_sparc.hpp ! src/hotspot/cpu/x86/globalDefinitions_x86.hpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp Changeset: 00470b6c0eaf Author: dcubed Date: 2020-02-05 11:39 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/00470b6c0eaf 8236035: refactor ObjectMonitor::set_owner() and _owner field setting Reviewed-by: dholmes, kbarrett, rehn ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: b353416faedf Author: dcubed Date: 2020-02-05 11:40 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b353416faedf 8235795: replace monitor list mux{Acquire,Release}(&gListLock) with spin locks Reviewed-by: dholmes, coleenp, rehn ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.inline.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/synchronizer.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: 023df178388e Author: erikj Date: 2020-02-05 09:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/023df178388e 8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary Reviewed-by: clanger, alanb, ihse ! src/java.base/macosx/native/libjli/java_md_macosx.m ! test/jdk/tools/launcher/JliLaunchTest.java Changeset: ce9ddf7062e5 Author: mchung Date: 2020-02-05 09:53 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ce9ddf7062e5 8230047: Remove legacy java.lang.reflect.ProxyGenerator_v49 Reviewed-by: rriggs, sundar ! src/java.base/share/classes/java/lang/reflect/Proxy.java - src/java.base/share/classes/java/lang/reflect/ProxyGenerator_v49.java ! test/jdk/java/lang/reflect/Proxy/ProxyGeneratorCombo.java ! test/micro/org/openjdk/bench/java/lang/reflect/Proxy/ProxyBench.java Changeset: 62b5bfef8d61 Author: jjg Date: 2020-02-05 11:01 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/62b5bfef8d61 8222793: Javadoc tool ignores "-locale" param and uses default locale for all messages and texts Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Messages.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Resources.java + test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: 7b57401deb0c Author: jwilhelm Date: 2020-02-06 02:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b57401deb0c Added tag jdk-15+9 for changeset 62b5bfef8d61 ! .hgtags Changeset: 1c4286ec9e45 Author: mbaesken Date: 2020-02-05 10:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c4286ec9e45 8238530: OPT_SPEED_SRC list misses some files with cpu-dependend file names Reviewed-by: ihse, redestad ! make/hotspot/lib/JvmFeatures.gmk Changeset: 6e507ee93768 Author: neliasso Date: 2020-02-06 11:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e507ee93768 8237581: Improve allocation expansion Reviewed-by: vlivanov, redestad ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp + test/hotspot/jtreg/compiler/allocation/TestAllocation.java + test/micro/org/openjdk/bench/vm/compiler/ArrayAllocation.java Changeset: f9f766fa1125 Author: ihse Date: 2020-02-06 13:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f9f766fa1125 8218480: Automatically add -Werror in FLAGS_COMPILER_CHECK_ARGUMENTS Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/flags.m4 Changeset: 227542943648 Author: ihse Date: 2020-02-06 13:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/227542943648 8238542: When warning about C/C++ compiler mismatch, be clear if this is about build compilers Reviewed-by: erikj ! make/autoconf/toolchain.m4 Changeset: 885b23ef907d Author: ihse Date: 2020-02-06 13:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/885b23ef907d 8212986: Make Visual Studio compiler check less strict Reviewed-by: erikj ! make/autoconf/toolchain.m4 Changeset: c35eac313084 Author: ihse Date: 2020-02-06 13:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c35eac313084 8201349: build broken when configured with --with-zlib=bundled on gcc 7.3 Reviewed-by: erikj ! make/lib/CoreLibraries.gmk Changeset: 4a4d185098e2 Author: lfoltan Date: 2020-02-06 14:29 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4a4d185098e2 8230199: consolidate signature parsing code in HotSpot sources Summary: Add a new Signature class to support basic signature queries and enhance SignatureStream class to parse field signatures in addition to methods. Reviewed-by: coleenp, dholmes, fparain, hseigel Contributed-by: lois.foltan at oracle.com, john.r.rose at oracle.com ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/c1/c1_ValueMap.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciKlass.hpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciSignature.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/placeholders.cpp ! src/hotspot/share/classfile/stackMapTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/methodMatcher.cpp ! src/hotspot/share/interpreter/bytecode.cpp ! src/hotspot/share/interpreter/bytecodeUtils.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/oopMapCache.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.hpp ! src/hotspot/share/oops/constMethod.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/generateOopMap.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/methodHandles.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/fieldDescriptor.inline.hpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp ! src/hotspot/share/utilities/globalDefinitions.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: d3caf06ac9ae Author: lfoltan Date: 2020-02-06 15:28 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d3caf06ac9ae 8238600: Remove runtime/fieldType.hpp and fieldType.cpp Summary: Remove obsolesced source files fieldType.hpp and fieldType.cpp. Reviewed-by: hseigel Contributed-by: lois.foltan at oracle.com - src/hotspot/share/runtime/fieldType.cpp - src/hotspot/share/runtime/fieldType.hpp Changeset: 4a87bb7ebfd7 Author: roland Date: 2020-01-31 14:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4a87bb7ebfd7 8237776: Shenandoah: Wrong result with Lucene test Reviewed-by: rkennke, zgu, shade ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: e08e21ca813f Author: jwilhelm Date: 2020-02-06 02:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e08e21ca813f Added tag jdk-14+35 for changeset 4a87bb7ebfd7 ! .hgtags Changeset: c17f7a28ee8d Author: jwilhelm Date: 2020-02-06 17:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c17f7a28ee8d Merge ! .hgtags ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: 8d8916159b62 Author: zgu Date: 2020-02-06 13:08 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8d8916159b62 8238574: Shenandoah: Assertion failure due to missing null check Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 9544e515be4e Author: dtitov Date: 2020-02-06 11:23 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9544e515be4e 8196729: Add jstatd option to specify RMI connector port Reviewed-by: cjplummer, sspitsyn ! src/jdk.jstatd/share/classes/sun/tools/jstatd/Jstatd.java ! src/jdk.jstatd/share/classes/sun/tools/jstatd/RemoteHostImpl.java ! test/jdk/sun/tools/jstatd/JstatdTest.java + test/jdk/sun/tools/jstatd/TestJstatdRmiPort.java ! test/jdk/sun/tools/jstatd/TestJstatdUsage.java Changeset: adc5b0998235 Author: jjg Date: 2020-02-06 12:44 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/adc5b0998235 8238503: Remove unused field and accessor for docLocale from ToolOptions Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java Changeset: 59daa8db33ce Author: kbarrett Date: 2020-02-06 19:09 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/59daa8db33ce 8237143: Eliminate DirtyCardQ_cbl_mon Summary: Replace locked data structures with lock-free data structures. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp Changeset: 5e402c63694f Author: dholmes Date: 2020-02-06 21:03 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5e402c63694f 8238460: Provide warnings about the use of JNI RegisterNatives to rebind native methods for boot/platform classes in other classloaders Reviewed-by: jwilhelm, lfoltan ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/registerNativesWarning/TestRegisterNativesWarning.java + test/hotspot/jtreg/runtime/jni/registerNativesWarning/libregisterNativesWarning.c Changeset: e0fca02bb611 Author: redestad Date: 2020-02-07 09:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e0fca02bb611 8238599: Refactor and simplify implAddOpensToAllUnnamed Reviewed-by: alanb ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java Changeset: 538611d777d2 Author: redestad Date: 2020-02-07 10:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/538611d777d2 8236272: Improve fidelity between contents of default CDS archive and classes loaded at runtime Reviewed-by: erikj, jiangli, iklam ! make/GenerateLinkOptData.gmk ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java Changeset: 84920d352dc4 Author: redestad Date: 2020-02-07 10:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/84920d352dc4 8237484: Improve module system bootstrap Reviewed-by: alanb ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java Changeset: f41394559814 Author: pconcannon Date: 2020-02-07 11:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f41394559814 7021373: DatagramPacket exception conditions are not clear Summary: Specification is clarified by adding or clarifying @throws clauses where required Reviewed-by: alanb, chegar, darcy, dfuchs ! src/java.base/share/classes/java/net/DatagramPacket.java ! test/jdk/java/net/DatagramPacket/Constructor.java + test/jdk/java/net/DatagramPacket/Setters.java Changeset: f2cefce4859b Author: roland Date: 2020-01-14 14:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f2cefce4859b 8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291 Reviewed-by: kvn, vlivanov ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp Changeset: 51fb05ec531d Author: roland Date: 2019-12-20 17:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/51fb05ec531d 8231291: C2: loop opts before EA should maximally unroll loops Reviewed-by: kvn, vlivanov ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.cpp Changeset: f1f8562f3ad2 Author: egahlin Date: 2020-02-07 18:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f1f8562f3ad2 8215452: Logged repo location is wrong when using delayed recording start Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Repository.java Changeset: bc54620a3848 Author: naoto Date: 2020-02-06 10:10 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bc54620a3848 8238605: Correct the CLDR version number in cldr.md files Reviewed-by: joehw, alanb ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md Changeset: e568ce785bdf Author: jwilhelm Date: 2020-02-07 00:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e568ce785bdf Added tag jdk-14+36 for changeset bc54620a3848 ! .hgtags Changeset: adda073e3c33 Author: jwilhelm Date: 2020-02-07 17:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/adda073e3c33 Merge ! .hgtags Changeset: 2d9610f6d9ac Author: mseledtsov Date: 2020-02-07 13:04 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2d9610f6d9ac 8219999: TestJFREvents container test should not use jdk.CPUInformation event for container CPU values Summary: Updated the testcase not to test jdk.CPUInformation Reviewed-by: egahlin ! test/hotspot/jtreg/containers/docker/TestJFREvents.java Changeset: ee863b393d0c Author: jjg Date: 2020-02-07 16:16 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ee863b393d0c 8238648: Rename and simplify Utils.WeakSoftHashMap Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: d6019966a4a2 Author: jjg Date: 2020-02-07 16:43 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6019966a4a2 8238506: fix obsolete comments and inconsistent exceptions in BaseTaglet Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/Taglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Changeset: 3b89be93a7e7 Author: jjg Date: 2020-02-07 17:00 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3b89be93a7e7 8238437: Support separate locales for console messages and HTML content. Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/AbstractDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Messages.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Resources.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AbstractBuilder.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/taglets/TagletManager.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/Group.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/StandardDocFileFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: d1caf4022e8e Author: iignatyev Date: 2020-02-08 15:46 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d1caf4022e8e 8238586: [TESTBUG] vmTestbase/jit/tiered/Test.java failed when TieredCompilation is disabled Reviewed-by: iignatyev Contributed-by: huangjia at loongson.cn ! test/hotspot/jtreg/vmTestbase/jit/tiered/Test.java Changeset: bc3da0226ffa Author: redestad Date: 2020-02-08 15:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bc3da0226ffa 8238684: Override getOrDefault in immutable Map implementation Reviewed-by: forax, psandoz, smarks ! src/java.base/share/classes/java/util/ImmutableCollections.java ! test/micro/org/openjdk/bench/java/util/ImmutableColls.java Changeset: 1375d360210f Author: shade Date: 2020-02-10 06:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1375d360210f 8238366: CTW runner closes standard output on exit Reviewed-by: adinn, iignatyev ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CompileTheWorld.java Changeset: 787d9d725483 Author: shade Date: 2020-02-10 06:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/787d9d725483 8238247: CTW runner should sweep nmethods more aggressively Reviewed-by: adinn, simonis, iignatyev ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java Changeset: b585d773ea0f Author: shade Date: 2020-02-10 06:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b585d773ea0f 8238591: CTW: Split applications/ctw/modules/jdk_localedata.java Reviewed-by: iignatyev ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/applications/ctw/modules/jdk_localedata.java + test/hotspot/jtreg/applications/ctw/modules/jdk_localedata_2.java Changeset: 92b01977fde2 Author: coffeys Date: 2020-02-09 21:55 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/92b01977fde2 8223260: NamingManager should cache InitialContextFactory Reviewed-by: alanb, plevart, dfuchs ! src/java.base/share/classes/module-info.java ! src/java.naming/share/classes/javax/naming/spi/NamingManager.java + test/jdk/javax/naming/spi/DummyContextFactory.java + test/jdk/javax/naming/spi/DummyContextFactory2.java + test/jdk/javax/naming/spi/FactoryCacheTest.java Changeset: 022eb7fb53f4 Author: dbuck Date: 2020-02-10 03:35 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/022eb7fb53f4 8238596: AVX enabled by default for Skylake even when unsupported Summary: Only default to UseAVX=2 when support is detected Reviewed-by: shade, vlivanov ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp Changeset: 848029e1983e Author: redestad Date: 2020-02-10 12:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/848029e1983e 8230301: Re-examine hardcoded defaults in GenerateJLIClassesPlugin Reviewed-by: mchung ! make/GenerateLinkOptData.gmk ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java ! test/jdk/tools/jlink/plugins/GenerateJLIClassesPluginTest.java Changeset: a7c55579c61c Author: roland Date: 2020-02-07 13:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a7c55579c61c 8238385: CTW: C2 (Shenandoah) compilation fails with "Range check dependent CastII node was not removed" Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/FoldIfAfterExpansion.java Changeset: a42cdcd11ca4 Author: roland Date: 2020-01-28 11:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a42cdcd11ca4 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java Changeset: 6a82085fc61d Author: alanb Date: 2020-02-10 12:57 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6a82085fc61d 8238376: test/jdk/java/nio/channels/DatagramChannel/Loopback.java failing on multi-homed systems Reviewed-by: dfuchs ! test/jdk/java/nio/channels/DatagramChannel/Loopback.java Changeset: ff30bca14dc9 Author: redestad Date: 2020-02-10 13:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff30bca14dc9 8237878: Improve ModuleLoaderMap datastructures Reviewed-by: alanb, forax ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/module/ResolvedModule.java ! src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java Changeset: d954bf9df7f6 Author: egahlin Date: 2020-02-10 14:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d954bf9df7f6 8238634: Reduce log verbosity of the JFR thread sampler Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5a3b04593405 Author: fparain Date: 2020-02-10 09:49 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5a3b04593405 8237767: Field layout computation overhaul Reviewed-by: dholmes, coleenp, lfoltan, shade ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp + src/hotspot/share/classfile/fieldLayoutBuilder.cpp + src/hotspot/share/classfile/fieldLayoutBuilder.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/oops/fieldStreams.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceOop.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! 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/runtime/CommandLine/VMDeprecatedOptions.java + test/hotspot/jtreg/runtime/FieldLayout/FieldDensityTest.java Changeset: 49e01c6df096 Author: gziemski Date: 2020-02-10 11:41 -0600 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/49e01c6df096 8235962: os::current_thread_id() is not signal safe on macOS Summary: Use mach_thread_self instead of pthread_mach_thread_np Reviewed-by: dholmes, cjplummer ! src/hotspot/os/bsd/osThread_bsd.cpp ! src/hotspot/os/bsd/osThread_bsd.hpp ! src/hotspot/os/bsd/os_bsd.cpp Changeset: 011a7c1e9f0d Author: vromero Date: 2020-02-10 15:08 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/011a7c1e9f0d 8238239: java.lang.Record spec clarifications Reviewed-by: psandoz Contributed-by: john.r.rose at oracle.com ! src/java.base/share/classes/java/lang/Record.java Changeset: c8551a661913 Author: jjg Date: 2020-02-10 13:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c8551a661913 8238646: Cleanup signature and use of CommentHelper Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.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/HtmlSerialFieldWriter.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/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.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/ReturnTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SeeTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/SimpleTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: ae7a326448fa Author: igerasim Date: 2020-02-10 16:10 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ae7a326448fa 8235812: Unicode linebreak with quantifier does not match valid input Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: c01bc48cfcbe Author: jjiang Date: 2020-02-11 08:36 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c01bc48cfcbe 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version Reviewed-by: dfuchs + test/jdk/java/net/httpclient/ssltest/Cert.java ! test/jdk/java/net/httpclient/ssltest/CertificateTest.java ! test/jdk/java/net/httpclient/ssltest/Server.java - test/jdk/java/net/httpclient/ssltest/bad.keystore + test/jdk/java/net/httpclient/ssltest/gen-certs.sh - test/jdk/java/net/httpclient/ssltest/good.keystore - test/jdk/java/net/httpclient/ssltest/loopback.keystore Changeset: 28d4b3f2fadd Author: amenkov Date: 2020-02-10 16:56 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/28d4b3f2fadd 8234935: JdwpListenTest.java and JdwpAttachTest.java getting bind failures on Windows 2016 hosts Reviewed-by: cjplummer, sspitsyn ! test/jdk/ProblemList.txt ! test/jdk/com/sun/jdi/JdwpAttachTest.java ! test/jdk/com/sun/jdi/JdwpListenTest.java Changeset: 39c991aa75d0 Author: dholmes Date: 2020-02-10 19:58 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/39c991aa75d0 8236844: Deprecate PrintVMQWaitTime to prepare for its removal Reviewed-by: rehn, coleenp, hseigel ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java Changeset: 8f6ffa575f63 Author: weijun Date: 2020-02-11 11:17 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8f6ffa575f63 8231508: Spec Clarification : KeyTab:exist() method does not specify about the fallback details Reviewed-by: mullan ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/KeyTab.java Changeset: 6925fca95959 Author: qpzhang Date: 2020-02-04 21:27 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6925fca95959 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 Reviewed-by: stuefe, clanger, rriggs Contributed-by: patrick at os.amperecomputing.com ! src/java.base/unix/native/libjava/childproc.c ! src/java.base/unix/native/libjava/childproc.h Changeset: a9d37ff105fb Author: iignatyev Date: 2020-02-11 00:42 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a9d37ff105fb 8238278: vmTestbase/vm/compiler/CodeCacheInfo/Test.java failure after JDK-8237787 Reviewed-by: kvn ! test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/Test.java Changeset: 635eaa93419e Author: trebari Date: 2020-01-23 17:32 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/635eaa93419e 7020860: BasicTreeUI contains getters/setters with unclear spec Reviewed-by: jdv, prr, serb ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Changeset: 499e5a8a13ea Author: serb Date: 2020-01-23 21:42 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/499e5a8a13ea 8237049: Rollback the workaround for JDK-4533057 Reviewed-by: dmarkov ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java ! src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Palette.h ! src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp Changeset: ffcc3bd2b5da Author: serb Date: 2020-01-24 18:39 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ffcc3bd2b5da 5085520: Inconsistency in spec for RenderingHints.entrySet() Reviewed-by: prr, jdv ! src/java.desktop/share/classes/java/awt/RenderingHints.java Changeset: 82fe2f667c29 Author: dbatrak Date: 2020-01-27 13:02 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/82fe2f667c29 8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing Reviewed-by: prr, serb ! src/java.desktop/share/classes/sun/font/FileFontStrike.java ! src/java.desktop/share/classes/sun/font/TrueTypeFont.java ! src/java.desktop/windows/native/libfontmanager/lcdglyph.c Changeset: 2777408b8281 Author: serb Date: 2020-01-25 22:46 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2777408b8281 8176359: Frame#setMaximizedbounds not working properly in multi screen environments 8231564: setMaximizedBounds is broken with large display scale and multiple monitors Reviewed-by: aivanov ! src/java.desktop/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Frame.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Frame.h ! test/jdk/ProblemList.txt + test/jdk/java/awt/Frame/MaximizedToOppositeScreen/MaximizedToOppositeScreenBig.java + test/jdk/java/awt/Frame/MaximizedToOppositeScreen/MaximizedToOppositeScreenSmall.java ! test/jdk/java/awt/Frame/SetMaximizedBounds/SetMaximizedBounds.java Changeset: b344cf155157 Author: clanger Date: 2020-02-02 17:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b344cf155157 8221741: ClassCastException can happen when fontconfig.properties is used Reviewed-by: mbaesken, itakiguchi ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/java.desktop/share/classes/sun/font/TrueTypeFont.java + test/jdk/java/awt/font/DefaultFontTest/DefaultFontTest.java Changeset: 2f9416465d1d Author: arapte Date: 2020-02-03 14:58 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2f9416465d1d 8235900: [TESTBUG] [macos] PopupMenu Opaque property is not reflecting the Parents property on MAC OS Reviewed-by: serb Contributed-by: sureshkumar.mahaliswamy at oracle.com ! test/jdk/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java Changeset: cd9a28621c53 Author: serb Date: 2020-02-04 12:56 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cd9a28621c53 8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled Reviewed-by: jdv ! src/java.desktop/windows/classes/sun/awt/windows/WChoicePeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Choice.cpp ! test/jdk/java/awt/Choice/RemoveAllShrinkTest/RemoveAllShrinkTest.java + test/jdk/java/awt/Choice/SetBoundsPaintTest/SetBoundsPaintTest.java Changeset: 0017ed5e309e Author: prr Date: 2020-02-07 11:09 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0017ed5e309e Merge - src/hotspot/share/gc/shared/owstTaskTerminator.cpp - src/hotspot/share/gc/shared/owstTaskTerminator.hpp - src/hotspot/share/runtime/fieldType.cpp - src/hotspot/share/runtime/fieldType.hpp - src/java.base/share/classes/java/lang/reflect/ProxyGenerator_v49.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOption.java - test/hotspot/jtreg/runtime/7162488/Test7162488.sh - test/hotspot/jtreg/runtime/StackGap/testme.sh - test/hotspot/jtreg/runtime/StackGuardPages/testme.sh - test/hotspot/jtreg/runtime/TLS/testtls.sh - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening001/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/run.sh - test/hotspot/jtreg/vmTestbase/jit/tiered/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/tiered/tieredTest.sh - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/maxMetaspaceSize.sh - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/run.sh - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh ! test/jdk/ProblemList.txt - test/jdk/jdk/jfr/event/io/EvilInstrument.java - test/jdk/jdk/jfr/event/sampling/libTestNative.c - test/langtools/jdk/javadoc/doclet/testOptions/help.html Changeset: 915d0c063009 Author: prr Date: 2020-02-08 12:00 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/915d0c063009 8238721: Add failing client jtreg tests to the Problem List Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 60e0f51a395b Author: serb Date: 2020-02-08 14:25 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/60e0f51a395b 8238276: ComponentPeer.xxxImage are not implemented in some peers Reviewed-by: aivanov ! src/java.desktop/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CFileDialog.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/peer/ComponentPeer.java ! src/java.desktop/share/classes/sun/awt/NullComponentPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XEmbedChildProxyPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WComponentPeer.java + test/jdk/java/awt/FileDialog/ImageOperations.java Changeset: 0596ee6950a6 Author: serb Date: 2020-02-08 18:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0596ee6950a6 8237222: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails Reviewed-by: trebari, prr, psadhukhan + test/jdk/java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java Changeset: 5b540d7a1420 Author: psadhukhan Date: 2020-02-11 13:41 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5b540d7a1420 Merge ! test/jdk/ProblemList.txt - test/jdk/java/net/httpclient/ssltest/bad.keystore - test/jdk/java/net/httpclient/ssltest/good.keystore - test/jdk/java/net/httpclient/ssltest/loopback.keystore Changeset: eaefceb7f52e Author: psadhukhan Date: 2020-02-11 14:24 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eaefceb7f52e Merge Changeset: 8e6fa89397ca Author: qpzhang Date: 2020-02-05 17:14 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8e6fa89397ca 8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 Summary: Fixed libsctp link errors caused by GCC10 default -fno-common Reviewed-by: chegar ! src/jdk.sctp/unix/native/libsctp/Sctp.h ! src/jdk.sctp/unix/native/libsctp/SctpNet.c Changeset: c8a3d5ca8312 Author: tschatzl Date: 2020-02-11 12:48 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c8a3d5ca8312 8238160: Uniformize Parallel GC task queue variable names Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp ! src/hotspot/share/gc/shared/taskqueue.hpp Changeset: 698732b81e94 Author: vlivanov Date: 2020-02-11 14:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/698732b81e94 8136414: Large performance penalty declaring a method strictfp on strict-only platforms Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_globals_aarch64.hpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/c1_globals_arm.hpp ! src/hotspot/cpu/ppc/c1_globals_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/c1_globals_s390.hpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/c1_globals_sparc.hpp ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c1_Defs_x86.hpp ! src/hotspot/cpu/x86/c1_globals_x86.hpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRAssembler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_globals.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/runtime/globals.hpp Changeset: 0364d904a7a5 Author: vlivanov Date: 2020-02-11 14:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0364d904a7a5 8238680: C2: Remove redundant AD instructions for Replicate nodes Reviewed-by: thartmann, sviswanathan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad Changeset: 25d59b852741 Author: vlivanov Date: 2020-02-11 14:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/25d59b852741 8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly Reviewed-by: thartmann, sviswanathan ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp Changeset: 653c743d5f75 Author: vlivanov Date: 2020-02-11 14:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/653c743d5f75 8238683: C2: Remove Use24BitFP and Use24BitFPMode flags Reviewed-by: thartmann, neliasso ! src/hotspot/share/adlc/dfa.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: aef4920d5b30 Author: vlivanov Date: 2020-02-11 14:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/aef4920d5b30 8238762: Optimized build is broken Reviewed-by: coleenp ! src/hotspot/share/runtime/mutex.hpp Changeset: cc5c578e1af6 Author: prappo Date: 2020-02-11 13:19 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cc5c578e1af6 8238291: Fix inconsistencies in the format of the index files Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js ! 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/testUnnamedPackage/TestUnnamedPackage.java Changeset: 396a47e0860f Author: prappo Date: 2020-02-11 15:23 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/396a47e0860f 8237909: Remove zipped index files feature Reviewed-by: hannesw, 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/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.min.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java - src/jdk.javadoc/share/legal/jszip.md ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 73bcb3e4e596 Author: minqi Date: 2020-02-11 12:16 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/73bcb3e4e596 8232069: Enable CDS even when UseCompressedClassPointers and/or UseCompressedOops are false Summary: Fix to save UseCompressedOops and UseCompressedClassPointers in shared archive and at runtime run with CDS only if they are matched the stored versions. Reviewed-by: iklam, ccheung ! src/hotspot/share/include/cds.h ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/TEST.groups - test/hotspot/jtreg/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/JarBuilder.java + test/hotspot/jtreg/runtime/cds/appcds/TestCombinedCompressedFlags.java + test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java ! test/hotspot/jtreg/runtime/cds/appcds/cacheObject/DifferentHeapSizes.java ! test/hotspot/jtreg/runtime/cds/appcds/sharedStrings/IncompatibleOptions.java ! test/lib/jdk/test/lib/cds/CDSTestUtils.java Changeset: 146be5202102 Author: valeriep Date: 2020-02-12 00:56 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/146be5202102 8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding Summary: Removed killSession() calls in certain impl classes when cancelling operations Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Changeset: e643f30bd197 Author: valeriep Date: 2020-02-12 01:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e643f30bd197 8238898: Missing hash characters for header on license file Summary: Fixed the typos and corrected the formatting Reviewed-by: weijun ! src/jdk.crypto.cryptoki/share/legal/pkcs11cryptotoken.md Changeset: f3a42b81d3d1 Author: valeriep Date: 2020-02-12 01:13 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f3a42b81d3d1 Merge Changeset: 0469ead7113c Author: valeriep Date: 2020-02-12 02:44 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0469ead7113c 8238448: RSASSA-PSS signature verification fail when using certain odd key sizes Summary: Calculate and set offset for correct verification for such key sizes Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/rsa/RSAPSSSignature.java ! test/jdk/sun/security/rsa/pss/SignatureTest2.java ! test/jdk/sun/security/rsa/pss/SignatureTestPSS.java Changeset: cdc7477bb1ce Author: mbaesken Date: 2020-02-06 16:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cdc7477bb1ce 8238602: remove obsolete functions from libinstrument/FileSystemSupport_md.c Reviewed-by: clanger, sspitsyn ! src/java.instrument/share/native/libinstrument/FileSystemSupport.h ! src/java.instrument/unix/native/libinstrument/FileSystemSupport_md.c ! src/java.instrument/windows/native/libinstrument/FileSystemSupport_md.c Changeset: 732ab9ad5958 Author: rkennke Date: 2020-02-11 16:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/732ab9ad5958 8238851: Shenandoah: C1: Resolve into registers of correct type Reviewed-by: shade ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Changeset: 370f25f90d1f Author: rriggs Date: 2020-02-12 09:38 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/370f25f90d1f 8238918: idea.sh should work with both mercurial and git repos Reviewed-by: erikj, mcimadamore, ehelin, lancea ! bin/idea.sh ! make/idea/template/vcs.xml Changeset: c5bf18d5f5e1 Author: mullan Date: 2020-02-12 10:28 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c5bf18d5f5e1 8191395: policy.allowSystemProperty and policy.expandProperties also apply to JAAS configurations Reviewed-by: weijun ! src/java.base/share/conf/security/java.security ! src/jdk.security.auth/share/classes/com/sun/security/auth/login/ConfigFile.java Changeset: 10e939d362fc Author: naoto Date: 2020-02-12 08:25 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/10e939d362fc 8234347: "Turkey" meta time zone does not generate composed localized names 8236548: Localized time zone name inconsistency between English and other locales Reviewed-by: joehw, rriggs ! make/CompileToolsJdk.gmk - make/CopyInterimCLDRConverter.gmk ! make/Main.gmk ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/java.base/share/classes/sun/util/cldr/CLDRTimeZoneNameProviderImpl.java ! test/jdk/java/util/TimeZone/CLDRDisplayNamesTest.java ! test/jdk/sun/util/resources/cldr/Bug8134384.java ! test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java Changeset: 1bee69801aee Author: mikael Date: 2020-02-12 09:44 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1bee69801aee 8238912: Update devkit for linux-aarch64 Reviewed-by: erikj ! make/conf/jib-profiles.js ! make/devkit/Tools.gmk Changeset: 7ef41e83066b Author: iignatyev Date: 2020-02-12 11:31 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7ef41e83066b 8238930: problem list compiler/c2/Test8004741.java Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList.txt Changeset: 45a67ba5f277 Author: rriggs Date: 2020-02-12 15:06 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/45a67ba5f277 8238919: (doc) Broken code snippet in the java.util.stream package documentation Reviewed-by: mchung, naoto ! src/java.base/share/classes/java/util/stream/package-info.java Changeset: 8fb865d293a9 Author: kbarrett Date: 2020-02-12 15:38 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8fb865d293a9 8238272: Eliminate cast_from_oop to narrowOop* Summary: Improved low address computation in ObjArrayKlass::oop_oop_iterate_range. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/oops/objArrayKlass.inline.hpp Changeset: e795d446f21a Author: dholmes Date: 2020-02-12 20:19 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e795d446f21a 8234372: Investigate use of Thread::stack_base() and queries for "in stack" Reviewed-by: dcubed, stuefe ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/ppc/frame_ppc.cpp ! src/hotspot/cpu/s390/frame_s390.cpp ! src/hotspot/cpu/sparc/frame_sparc.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp ! src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 252e23ae3d20 Author: jwilhelm Date: 2020-02-13 03:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/252e23ae3d20 Added tag jdk-15+10 for changeset 1bee69801aee ! .hgtags Changeset: 422ab35d6a82 Author: tschatzl Date: 2020-02-13 11:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/422ab35d6a82 8238854: Remove superfluous C heap allocation failure checks Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/parallel/asPSYoungGen.cpp ! src/hotspot/share/gc/parallel/psCompactionManager.cpp ! src/hotspot/share/gc/parallel/psOldGen.cpp ! src/hotspot/share/gc/parallel/psPromotionManager.cpp ! src/hotspot/share/gc/parallel/psYoungGen.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/cardGeneration.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/cardTableRS.cpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: a9ca8e1a83c2 Author: mbaesken Date: 2020-02-13 09:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a9ca8e1a83c2 8237830: support O_CLOEXEC in os::open on other OS than Linux Reviewed-by: dholmes, lucy ! src/hotspot/os/aix/os_aix.cpp Changeset: 3b92bea0a565 Author: jjiang Date: 2020-02-13 21:42 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3b92bea0a565 8234718: java/net/httpclient tests should cover TLSv1.3 Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/HandshakeFailureTest.java ! test/jdk/java/net/httpclient/ShortResponseBody.java Changeset: ed9198eb7d4d Author: rrich Date: 2020-02-12 09:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed9198eb7d4d 8238782: Cleanup Deoptimization::deoptimize(): remove unused RegisterMap argument and don't update RegisterMap in callers if UseBiasedLocking is enabled Reviewed-by: dholmes, kvn ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmOperations.cpp Changeset: 9611fbb00efd Author: chagedorn Date: 2020-02-13 15:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9611fbb00efd 8238178: CTW: C1 compilation fails with assert(sux->loop_depth() != block->loop_depth() || sux->loop_index() == block->loop_index() || loop_through_xhandler) failed: Loop index has to be same Summary: Fix verification of C1 IR involving xhandlers in one-time executed loops on the non-exceptional path. Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_RangeCheckElimination.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp + test/hotspot/jtreg/compiler/c1/RangeCheckVerificationOfIR.java Changeset: fb5425bcf04d Author: chagedorn Date: 2020-02-13 15:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fb5425bcf04d 8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo Summary: Removing too strong assertion about array allocation in LibraryCallKit::tightly_coupled_allocation(). Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/library_call.cpp + test/hotspot/jtreg/compiler/arraycopy/TestTightlyCoupledAllocationAssert.java Changeset: cd78b249e6a4 Author: chagedorn Date: 2020-02-13 15:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cd78b249e6a4 8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node Summary: Fix -XX:+VerifyIterativeGVN due to a dead node and add some basic flag testing. Reviewed-by: roland, neliasso ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/c2/TestVerifyIterativeGVN.java + test/hotspot/jtreg/compiler/loopopts/TestMoveStoreAfterLoopVerifyIterativeGVN.java Changeset: cf6409153216 Author: chagedorn Date: 2020-02-13 15:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf6409153216 8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges Summary: Fix -XX:+VerifyGraphEdges by additionally handling ArrayCopyNodes and UnlockNodes and add some basic flag testing. Reviewed-by: roland, neliasso ! src/hotspot/share/opto/node.cpp + test/hotspot/jtreg/compiler/c2/TestVerifyGraphEdges.java Changeset: b7f4baa47fe2 Author: hseigel Date: 2020-02-13 15:43 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b7f4baa47fe2 8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class Summary: Replace the assert with a logging message saying that the class is not a subclass of java.lang.Throwable Reviewed-by: dholmes, coleenp ! src/hotspot/share/oops/method.cpp + test/hotspot/jtreg/runtime/ClassFile/CheckedExceptions.jcod + test/hotspot/jtreg/runtime/ClassFile/TestCheckedExceptions.java Changeset: bc5af528b6ec Author: shade Date: 2020-02-13 17:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bc5af528b6ec 8238909: x86_32 fails gtest:power_of_2 Reviewed-by: stefank, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp Changeset: c22087442921 Author: shade Date: 2020-02-13 17:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c22087442921 8238896: Massive x86_32 crashes after JDK-7175279 (Don't use x87 FPU on x86-64) Reviewed-by: thartmann, stuefe, vlivanov ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp Changeset: c27f595b4dd0 Author: fparain Date: 2020-02-13 11:23 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c27f595b4dd0 8238961: Assertion failure in new field layout code when ContendedPaddingWidth == 0. Reviewed-by: hseigel, coleenp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp Changeset: 56749aa55eec Author: smarks Date: 2020-02-13 10:00 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/56749aa55eec 8046362: IdentityHashMap.hash comments should be clarified Reviewed-by: aph, martin, rriggs ! src/java.base/share/classes/java/util/IdentityHashMap.java Changeset: 42ba182f6795 Author: shade Date: 2020-02-13 19:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/42ba182f6795 8239007: java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms Reviewed-by: bpb ! test/jdk/java/math/BigInteger/largeMemory/DivisionOverflow.java ! test/jdk/java/math/BigInteger/largeMemory/StringConstructorOverflow.java ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: ddea93a54158 Author: darcy Date: 2020-02-13 10:37 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ddea93a54158 8237805: Use inline @jls @jvms in core libs where appropriate Reviewed-by: xiaofeya, dfuchs, prappo ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/Enum.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/MethodType.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java Changeset: 7ec9c6a6df4f Author: manc Date: 2020-02-13 10:54 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7ec9c6a6df4f 8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak Reviewed-by: tschatzl, sjohanss Contributed-by: irogers at google.com, manc at google.com, thomas.schatzl at oracle.com ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/README ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/libdefine.cpp ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_inMemoryCompilation_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_keep_cl/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_redefinition_keep_obj/TestDescription.java Changeset: 39b90cc7f331 Author: vromero Date: 2020-02-13 14:13 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/39b90cc7f331 8238838: spurious error message for compact constructors with throws clause Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.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 ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: b9ff1541faf9 Author: mikael Date: 2020-02-13 12:08 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b9ff1541faf9 8238932: Invalid tier1_gc_1 test group definition Reviewed-by: kbarrett ! test/hotspot/jtreg/TEST.groups Changeset: 02b2e4f3391f Author: kbarrett Date: 2020-02-13 15:16 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/02b2e4f3391f 8238867: Improve G1DirtyCardQueueSet::Queue::pop Summary: Allow one of competing pops for last element to succeed. Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 6bcfcb7fe83b Author: gromero Date: 2020-02-13 16:01 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6bcfcb7fe83b 8235791: [TESTBUG] Fix comment in TestElfDirectRead.java Reviewed-by: dholmes, iklam Contributed-by: Jose Ziviani ! test/hotspot/jtreg/runtime/ElfDecoder/TestElfDirectRead.java Changeset: 87651cb03ebc Author: amenkov Date: 2020-02-13 13:43 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/87651cb03ebc 8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code Reviewed-by: cjplummer, sspitsyn ! test/lib/jdk/test/lib/apps/LingeredApp.java Changeset: 7e6165c9c606 Author: naoto Date: 2020-02-13 17:14 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7e6165c9c606 8239017: cmp-baseline fails because of differences in TimeZoneNames_kea Reviewed-by: erikj ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java Changeset: f425abab6723 Author: bulasevich Date: 2020-02-14 10:03 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f425abab6723 8238643: ARM32 build fails after JDK-8230199 Reviewed-by: shade, lfoltan ! src/hotspot/cpu/arm/interpreterRT_arm.cpp Changeset: f82f59ef79f0 Author: bulasevich Date: 2020-02-14 10:05 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f82f59ef79f0 8231118: ARM32: Math tests failures Reviewed-by: roland ! src/hotspot/cpu/arm/assembler_arm_32.hpp ! src/hotspot/cpu/arm/c1_Runtime1_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/stubRoutinesCrypto_arm.cpp Changeset: ddae16cc505c Author: jjiang Date: 2020-02-14 16:53 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ddae16cc505c 8239025: ProblemList java/net/httpclient/HandshakeFailureTest.java due to JDK-8238990 Reviewed-by: chegar ! test/jdk/ProblemList.txt Changeset: 2852b64d04ae Author: redestad Date: 2020-02-14 10:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2852b64d04ae 8238863: Refactor out static initialization from Dict constructors Reviewed-by: neliasso, dlong ! src/hotspot/share/libadt/dict.cpp Changeset: 78e17b715fae Author: neliasso Date: 2020-02-12 20:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/78e17b715fae 8203883: Remove State from InvocationCounters Reviewed-by: redestad, thartmann ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/tieredThresholdPolicy.cpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/invocationCounter.cpp ! src/hotspot/share/interpreter/invocationCounter.hpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 8d03748fae04 Author: roland Date: 2020-01-13 10:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8d03748fae04 8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/memnode.cpp + test/hotspot/jtreg/compiler/loopstripmining/LoadSplitThruPhi.java Changeset: 374452022582 Author: dnsimon Date: 2020-02-14 09:25 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/374452022582 8238758: [JVMCI] fix JVMCI jtreg events tests to work with GraalVM Reviewed-by: kvn, dlong, never ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyBootstrapFinishedEventTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java Changeset: 9b4d873446c9 Author: cjplummer Date: 2020-02-14 10:28 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b4d873446c9 8238196: tests that use SA Attach should not be allowed to run against signed binaries on Mac OS X 10.14.5 and later Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/lib/jdk/test/lib/Platform.java Changeset: af8e77a59bd8 Author: darcy Date: 2020-02-14 12:47 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/af8e77a59bd8 8239092: Provide explicit specification for getKind methods of javax.lang.model Reviewed-by: jjg, prappo ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java Changeset: 1c6c48d3136b Author: egahlin Date: 2020-02-14 23:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c6c48d3136b 8238959: Add missing classpath exception to FileAcess and ConstantLookup Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ConstantLookup.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/FileAccess.java Changeset: 81ef9be35699 Author: weijun Date: 2020-02-15 09:26 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/81ef9be35699 8160818: GssKrb5Client violates RFC 4752 Reviewed-by: xuelei ! src/jdk.security.jgss/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java + test/jdk/sun/security/krb5/auto/SaslMutual.java Changeset: 274a0bcce99d Author: jiefu Date: 2020-02-15 17:35 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/274a0bcce99d 8239110: Zero VM build fails after JDK-8203883 Reviewed-by: aph ! src/hotspot/share/interpreter/invocationCounter.cpp Changeset: 6f40f03179f9 Author: rschuenemann Date: 2020-02-13 10:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6f40f03179f9 8238534: Deep sign macOS bundles before bundle archive is being created Reviewed-by: erikj, clanger ! make/Bundles.gmk ! make/autoconf/spec.gmk.in Changeset: f3f66f9e98ee Author: ysuenaga Date: 2020-02-17 11:12 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f3f66f9e98ee 8237818: Typo in Unsafe: resposibility Reviewed-by: ysuenaga Contributed-by: Aya Ebata ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java Changeset: 690fc7e5a90f Author: ihse Date: 2020-02-17 08:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/690fc7e5a90f 8213185: Properly handle run-test-prebuilt -> test-prebuilt migration Reviewed-by: erikj + make/Global.gmk - make/Help.gmk ! make/Init.gmk ! make/RunTestsPrebuilt.gmk ! make/conf/jib-profiles.js Changeset: 26136b5b27bf Author: stefank Date: 2020-02-17 10:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/26136b5b27bf 8183574: Unify the is_power_of_2 functions Reviewed-by: kbarrett, redestad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp ! src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp ! src/hotspot/cpu/arm/interp_masm_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/stubGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/ppc/assembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_Runtime1_ppc.cpp ! src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/c1_LIRGenerator_s390.cpp ! src/hotspot/cpu/s390/c1_Runtime1_s390.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/stubGenerator_s390.cpp ! src/hotspot/cpu/s390/templateTable_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/asm/codeBuffer.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/code/codeHeapState.cpp ! src/hotspot/share/code/vtableStubs.cpp ! src/hotspot/share/gc/g1/g1BiasedArray.hpp ! src/hotspot/share/gc/g1/g1RegionMarkStatsCache.cpp ! src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp ! src/hotspot/share/gc/parallel/parallelArguments.cpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/z/zAddress.inline.hpp ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zMarkCache.cpp ! src/hotspot/share/gc/z/zMarkStack.cpp ! src/hotspot/share/gc/z/zNMethodTable.cpp ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/divnode.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp ! src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp ! src/hotspot/share/utilities/align.hpp ! src/hotspot/share/utilities/globalDefinitions.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: efc0da4a10a9 Author: roland Date: 2020-02-14 10:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/efc0da4a10a9 8238691: C2: turn subtype check into macro node Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/subnode.cpp + src/hotspot/share/opto/subtypenode.cpp + src/hotspot/share/opto/subtypenode.hpp Changeset: f53f0d0637d8 Author: rrich Date: 2020-02-13 16:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f53f0d0637d8 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow() Reviewed-by: dholmes, clanger ! test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c Changeset: 9513c13b03f3 Author: rkennke Date: 2020-02-14 19:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9513c13b03f3 8239081: Shenandoah: Consolidate C1 LRB and native barriers Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Changeset: 27e87c000b16 Author: mbaesken Date: 2020-02-13 11:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/27e87c000b16 8239000: handle ContendedPaddingWidth in vm_version_ppc Reviewed-by: clanger, lucy ! src/hotspot/cpu/ppc/vm_version_ppc.cpp Changeset: b4a8d0c9da88 Author: chagedorn Date: 2020-02-17 12:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b4a8d0c9da88 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly Summary: Fix PhaseCFG::schedule_pinned_nodes to correctly handle precedence edges from unmatched CFG nodes. Reviewed-by: roland, neliasso, kvn ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/gcm.cpp Changeset: 6308389bdc83 Author: chagedorn Date: 2020-02-17 12:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6308389bdc83 8239069: C2: SIGSEGV in IdealGraphPrinter::walk_nodes due to C->root() being NULL Summary: Fix NULL pointer dereference when trying to print the ideal graph when Compile::record_failure() is called twice. Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/idealGraphPrinter.cpp Changeset: 140261de4a17 Author: egahlin Date: 2020-02-17 22:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/140261de4a17 8238236: Add JFR class redefinition events Reviewed-by: mgronlun ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/jdk/test/lib/jfr/Events.java ! test/lib/jdk/test/lib/util/JavaAgentBuilder.java Changeset: 220415dfb4ac Author: igerasim Date: 2020-02-17 16:32 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/220415dfb4ac 8163251: Hard coded loop limit prevents reading of smart card data greater than 8k Reviewed-by: valeriep, rriggs ! src/java.smartcardio/share/classes/sun/security/smartcardio/ChannelImpl.java Changeset: 40ce3b9a71eb Author: xuelei Date: 2020-02-17 18:52 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/40ce3b9a71eb 8239264: Clearup the legacy ObjectIdentifier constructor from int array Reviewed-by: jnimeh ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/share/classes/com/sun/crypto/provider/DHPrivateKey.java ! src/java.base/share/classes/com/sun/crypto/provider/DHPublicKey.java ! src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java ! src/java.base/share/classes/com/sun/crypto/provider/PBES2Parameters.java ! src/java.base/share/classes/java/security/cert/X509CertSelector.java ! src/java.base/share/classes/sun/security/pkcs/ContentInfo.java ! src/java.base/share/classes/sun/security/pkcs/PKCS9Attribute.java ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/java.base/share/classes/sun/security/util/ObjectIdentifier.java ! src/java.base/share/classes/sun/security/x509/AccessDescription.java ! src/java.base/share/classes/sun/security/x509/AlgorithmId.java ! src/java.base/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java ! src/java.base/share/classes/sun/security/x509/GeneralSubtrees.java ! src/java.base/share/classes/sun/security/x509/InhibitAnyPolicyExtension.java ! src/java.base/share/classes/sun/security/x509/NetscapeCertTypeExtension.java ! src/java.base/share/classes/sun/security/x509/OIDMap.java ! src/java.base/share/classes/sun/security/x509/PKIXExtensions.java ! src/java.base/share/classes/sun/security/x509/X500Name.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/XECParameters.java ! test/jdk/java/security/testlibrary/SimpleOCSPServer.java ! test/jdk/sun/security/util/Oid/OidEquals.java ! test/jdk/sun/security/util/Oid/OidFormat.java ! test/jdk/sun/security/x509/AVA/AVAEqualsHashCode.java ! test/jdk/sun/security/x509/X509CertImpl/V3Certificate.java Changeset: 83949f956490 Author: thartmann Date: 2020-02-18 08:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/83949f956490 8239142: C2's UseUniqueSubclasses optimization is broken for array accesses Summary: Avoid resetting the elemtype for array accesses. Reviewed-by: vlivanov, eosterlund ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp Changeset: 8124177833ec Author: pconcannon Date: 2020-02-18 09:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8124177833ec 8237480: Add micros for DatagramSocket send/receive Summary: Benchmarks for the DatagramSocket::send and DatagramSocket::receive methods Reviewed-by: chegar, dfuchs, redestad + test/micro/org/openjdk/bench/java/net/DatagramSocketSendReceive.java Changeset: 26cdbd64d461 Author: tschatzl Date: 2020-02-18 10:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/26cdbd64d461 8238999: Remove MemRegion custom new/delete operator overloads Reviewed-by: kbarrett, jiangli, iklam ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 7d73b376f5d2 Author: iwalulya Date: 2020-02-18 11:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7d73b376f5d2 8232686: Turn parallel gc develop tracing flags into unified logging Reviewed-by: sjohanss, tschatzl, lkorinth ! src/hotspot/share/gc/parallel/parallel_globals.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp Changeset: a502b482d5c3 Author: egahlin Date: 2020-02-18 14:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a502b482d5c3 8239265: JFR: Test cleanup of jdk.jfr.api.consumer package Reviewed-by: mgronlun ! test/jdk/jdk/jfr/api/consumer/TestFieldAccess.java ! test/jdk/jdk/jfr/api/consumer/TestGetStackTrace.java ! test/jdk/jdk/jfr/api/consumer/TestHiddenMethod.java ! test/jdk/jdk/jfr/api/consumer/TestMethodGetModifiers.java ! test/jdk/jdk/jfr/api/consumer/TestReadTwice.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedClassLoader.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedEvent.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThread.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedFrame.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java ! test/jdk/jdk/jfr/api/consumer/TestRecordedObject.java ! test/jdk/jdk/jfr/api/consumer/TestRecordingFile.java ! test/jdk/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java ! test/jdk/jdk/jfr/api/consumer/TestSingleRecordedEvent.java ! test/jdk/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java Changeset: 615b494384e4 Author: egahlin Date: 2020-02-18 16:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/615b494384e4 8239350: Add tests for JFR class redefinition events Reviewed-by: mgronlun + test/jdk/jdk/jfr/event/runtime/Bytes.java + test/jdk/jdk/jfr/event/runtime/RedefinableClass.java + test/jdk/jdk/jfr/event/runtime/TestClassRedefinition.java + test/jdk/jdk/jfr/event/runtime/TestRedefineClasses.java + test/jdk/jdk/jfr/event/runtime/TestRetransformClasses.java Changeset: d1c0dc3719c6 Author: mbaesken Date: 2020-02-18 16:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d1c0dc3719c6 8239224: libproc_impl.c previous_thr may be used uninitialized warning Reviewed-by: clanger, dholmes ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Changeset: de9088d16202 Author: rkennke Date: 2020-02-18 17:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de9088d16202 8237780: Shenandoah: More reliable nmethod verification Reviewed-by: shade, zgu ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp Changeset: 328ba6a75f41 Author: mseledtsov Date: 2020-02-18 08:14 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/328ba6a75f41 8167493: Test that JFR event can be retransformed by an agent Summary: Added new test, extended agent builder test library Reviewed-by: egahlin + test/jdk/jdk/jfr/javaagent/InstrumentationEventCallback.java + test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java ! test/lib/jdk/test/lib/util/JavaAgentBuilder.java Changeset: af8b73f2a13d Author: hseigel Date: 2020-02-18 16:30 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/af8b73f2a13d 8187305: Add logging for shared library loads/unloads Summary: Add logging to JVM_LoadLibrary(), JVM_UnloadLibrary(), and JVM_FindLibraryEntry(). Reviewed-by: dholmes, coleenp ! src/hotspot/share/logging/logTag.hpp ! src/hotspot/share/prims/jvm.cpp + test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java + test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java + test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: 925e981292b2 Author: lmesnik Date: 2020-02-18 10:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/925e981292b2 8239026: Support non-maven artifacts by JibArtifactManager Reviewed-by: erikj ! test/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java ! test/lib/jdk/test/lib/artifacts/JibArtifactManager.java Changeset: bab64f4a1f24 Author: erikj Date: 2020-02-18 11:21 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bab64f4a1f24 8239019: testmake fails with FATAL: VCS_TYPE is empty Reviewed-by: rriggs ! bin/idea.sh Changeset: a614219d7388 Author: egahlin Date: 2020-02-18 22:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a614219d7388 8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject Reviewed-by: mgronlun, mseledtsov ! test/jdk/jdk/jfr/event/oldobject/TestThreadLocalLeak.java Changeset: ed7f82f396e1 Author: jjg Date: 2020-02-18 14:08 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed7f82f396e1 8239378: Add Classpath Exception to license in source file. Reviewed-by: vromero ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/external-link.svg Changeset: a38520aac11f Author: prappo Date: 2020-02-18 23:05 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a38520aac11f 8238969: Miscellaneous cleanup Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.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/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkFactoryImpl.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocletElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/OverviewElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.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 ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/IllegalOptionValue.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Main.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Changeset: 21ed4ee81974 Author: rhalade Date: 2020-02-18 16:00 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/21ed4ee81974 8225128: Add exception for expiring DocuSign root to VerifyCACerts test Reviewed-by: clanger ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 46bb1175b837 Author: darcy Date: 2020-02-18 17:03 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/46bb1175b837 8237450: JDK13 annotation processors not run when a supported annotation type specifies a module Summary: Initial fix suggested by jjg based on through analysis by Jeremy Kuhn. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! test/langtools/tools/javac/diags/examples/RedundantTypesWithWildcardProc/processors/AnnoProc.java Changeset: 8307dcef629a Author: mbaesken Date: 2020-02-18 10:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8307dcef629a 8239333: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails intermittent Reviewed-by: clanger ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java Changeset: ed8eb5e3e385 Author: mbaesken Date: 2020-02-18 16:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed8eb5e3e385 8238953: tools/jpackage tests do not work on Ubuntu Linux Reviewed-by: asemenyuk, clanger ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageType.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java Changeset: ba5e9182b08c Author: mdoerr Date: 2020-02-19 09:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ba5e9182b08c 8239363: PPC64: Wrong code generation after JDK-8183574 Reviewed-by: stuefe, stefank, lucy ! src/hotspot/cpu/ppc/assembler_ppc.cpp Changeset: b0417eb55b11 Author: tschatzl Date: 2020-02-19 10:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b0417eb55b11 8239070: Memory leak when unsuccessfully mapping in archive regions Reviewed-by: kbarrett, iklam, coleenp, jiangli ! src/hotspot/share/memory/filemap.cpp Changeset: de0fa05b18c7 Author: glaubitz Date: 2020-02-19 10:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de0fa05b18c7 8239001: Hotspot build broken on linux-sparc after 8238281 Reviewed-by: dholmes, kbarrett ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp Changeset: dbe22aa857d9 Author: rraghavan Date: 2020-02-19 15:01 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dbe22aa857d9 8238356: CodeHeap::blob_count() overestimates the number of blobs Summary: Decremented _blob_count on addition to the free list Reviewed-by: lucy, shade, thartmann ! src/hotspot/share/memory/heap.cpp Changeset: 80e403e1ff94 Author: prappo Date: 2020-02-19 10:34 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/80e403e1ff94 8239243: Create index structures only if required Reviewed-by: hannesw, 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/AllClassesIndexWriter.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/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexBuilder.java Changeset: 96d78010ed9f Author: michaelm Date: 2020-02-19 11:31 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/96d78010ed9f 8239139: test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c does not compile with gcc 8.3.1 Reviewed-by: michaelm Contributed-by: linzang at tencent.com ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c Changeset: 81133b1ca410 Author: fparain Date: 2020-02-19 08:57 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/81133b1ca410 8239014: -XX:-UseEmptySlotsInSupers sometime fails to reproduce the layout of the old code Reviewed-by: dholmes, coleenp ! src/hotspot/share/classfile/fieldLayoutBuilder.cpp ! src/hotspot/share/classfile/fieldLayoutBuilder.hpp + test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java Changeset: ad9525a5d546 Author: sgehwolf Date: 2019-12-16 15:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ad9525a5d546 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy Reviewed-by: bobv, mchung + src/java.base/linux/classes/jdk/internal/platform/CgroupInfo.java + src/java.base/linux/classes/jdk/internal/platform/CgroupMetrics.java + src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystem.java + src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemController.java + src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemFactory.java + src/java.base/linux/classes/jdk/internal/platform/CgroupUtil.java + src/java.base/linux/classes/jdk/internal/platform/CgroupV1Metrics.java + src/java.base/linux/classes/jdk/internal/platform/CgroupV1MetricsImpl.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1MemorySubSystemController.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1SubsystemController.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv2/CgroupV2Subsystem.java + src/java.base/linux/classes/jdk/internal/platform/cgroupv2/CgroupV2SubsystemController.java ! src/java.base/share/classes/jdk/internal/platform/Metrics.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/jdk.management/unix/classes/com/sun/management/internal/OperatingSystemImpl.java ! test/jdk/jdk/internal/platform/cgroup/TestCgroupMetrics.java + test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemController.java ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/jdk/jdk/internal/platform/docker/TestDockerCpuMetrics.java ! test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java ! test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java + test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java + test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java + test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: b2dd4028a6de Author: darcy Date: 2020-02-19 11:52 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b2dd4028a6de 8239478: Make specification of SourceVersion.isName explicit for dotted names Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java Changeset: 0bd237b74e70 Author: jnimeh Date: 2020-02-19 13:36 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0bd237b74e70 8239094: PKCS#9 ChallengePassword attribute does not allow for the UTF8String type Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/pkcs/PKCS9Attribute.java + test/jdk/sun/security/pkcs/pkcs9/ChallengePassStringFmt.java Changeset: 3150e6810c21 Author: jwilhelm Date: 2020-02-20 03:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3150e6810c21 Added tag jdk-15+11 for changeset b2dd4028a6de ! .hgtags Changeset: 2489925df497 Author: mbaesken Date: 2020-02-19 10:27 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2489925df497 8239351: Give more meaningful InternalError messages in Deflater.c Reviewed-by: stuefe, vtewari, lancea, martin ! src/java.base/share/native/libzip/Deflater.c Changeset: 8432f7d4f51c Author: ihse Date: 2020-02-20 10:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8432f7d4f51c 8239450: Overhaul JVM feature handling in configure Reviewed-by: erikj ! doc/building.html ! doc/building.md ! make/autoconf/basics.m4 ! make/autoconf/configure.ac ! make/autoconf/help.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 + make/autoconf/jvm-features.m4 ! make/conf/jib-profiles.js ! src/hotspot/.mx.jvmci/mx_jvmci.py Changeset: 9b999cf5e13a Author: clanger Date: 2020-02-07 08:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b999cf5e13a 8237192: Generate stripped/public pdbs on Windows for jdk images Reviewed-by: erikj, ihse Contributed-by: christoph.langer at sap.com, matthias.baesken at sap.com ! make/Bundles.gmk ! make/CreateJmods.gmk ! make/GenerateLinkOptData.gmk ! make/Images.gmk ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in ! make/common/NativeCompilation.gmk ! make/launcher/Launcher-java.base.gmk ! make/scripts/compare.sh ! test/jdk/tools/launcher/HelpFlagsTest.java ! test/jdk/tools/launcher/TestHelper.java ! test/jdk/tools/launcher/VersionCheck.java Changeset: d23e418e91fe Author: redestad Date: 2020-02-20 13:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d23e418e91fe 8239347: Refactor Symbol to make _length a standalone field again Reviewed-by: iklam, coleenp ! make/hotspot/src/native/dtrace/generateJvmOffsets.cpp ! src/hotspot/os/solaris/dtrace/jhelper.d ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/solaris/native/libjvm_db/libjvm_db.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Symbol.java Changeset: 461e0b7e6dfe Author: coleenp Date: 2020-02-20 07:25 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/461e0b7e6dfe 8239461: Use jcod rather than jar files in runtime tests Reviewed-by: hseigel, lmesnik, dholmes - test/hotspot/jtreg/runtime/7116786/Test7116786.java - test/hotspot/jtreg/runtime/7116786/testcases.jar ! test/hotspot/jtreg/runtime/EnclosingMethodAttr/EnclMethodAttr.java - test/hotspot/jtreg/runtime/EnclosingMethodAttr/enclMethodAttr.jar - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.cod + test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.jcod - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.cod + test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.jcod - test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.cod + test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.jcod ! test/hotspot/jtreg/runtime/LocalVariableTable/TestLVT.java - test/hotspot/jtreg/runtime/LocalVariableTable/testcase.jar + test/hotspot/jtreg/runtime/VerifierMessages/Test7116786.java + test/hotspot/jtreg/runtime/VerifierMessages/testcases.jcod ! test/hotspot/jtreg/runtime/classFileParserBug/ClassFileParserBug.java ! test/hotspot/jtreg/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java - test/hotspot/jtreg/runtime/classFileParserBug/emptynumbootstrapmethods.jar - test/hotspot/jtreg/runtime/classFileParserBug/test.jar ! test/hotspot/jtreg/runtime/duplAttributes/DuplAttributesTest.java - test/hotspot/jtreg/runtime/duplAttributes/test.jar Changeset: 60a77203ac91 Author: rriggs Date: 2020-02-20 10:03 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/60a77203ac91 8232622: Technical debt in BadAttributeValueExpException Reviewed-by: dfuchs, sspitsyn ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: eae299d8ada4 Author: iveresov Date: 2020-02-20 10:11 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eae299d8ada4 8238355: Update Graal Reviewed-by: kvn ! src/hotspot/cpu/x86/nativeInst_x86.cpp ! src/hotspot/cpu/x86/nativeInst_x86.hpp ! src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CodeSectionProcessor.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ELFMacroAssembler.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ForeignGotCallSiteRelocationSymbol.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MetadataBuilder.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64ELFMacroAssembler.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/FileSupport.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives/src/org/graalvm/compiler/api/directives/GraalDirectives.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.replacements/src/org/graalvm/compiler/api/replacements/MethodSubstitution.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64AddressingModeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64InstructionEncodingTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MoveConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/TestProtectedAssembler.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/AMD64Address.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.asm.amd64/src/org/graalvm/compiler/asm/amd64/AVXKind.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.code/src/org/graalvm/compiler/code/HexCodeFile.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64BitwiseLogicalNotTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64ElideL2ITest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64FloatSqrtTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithExtendTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64RotationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse.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/AArch64NodeMatchRules.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64PointerAddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/AMD64MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64AddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64AddressNode.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/AMD64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalOptions.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/cfg/AbstractControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IntegerStamp.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/SPARCIntegerCompareCanonicalizationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BoxingEliminationTest.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/ConditionalEliminationMulTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CountedLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DeMorganCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/DegeneratedLoopsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/HashMapGetTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IntegerDivRemCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InterfaceMethodHandleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InvokeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InvokeHintsTest.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/MarkUnsafeAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MemoryGraphCanonicalizeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MonitorGraphTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OffHeapUnsafeAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReferenceGetLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SubprocessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnsafeVirtualizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifySystemPropertyUsage.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/RethrowExceptionLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EarlyReadEliminationTest.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/PEAReadEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeAnalysisIterationTest.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/PartialEscapeAnalysisTreesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PartialEscapeUnsafeStoreTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/TrufflePEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/UnsafeEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/InliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/DebugInfoBuilder.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/BaseTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/HighTier.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.debug/src/org/graalvm/compiler/debug/DebugConfigImpl.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/MethodFilter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/ScopeImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/doc-files/MethodFilterHelp.txt ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Graph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.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/AArch64HotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeWithExceptionCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64IndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64DeoptimizeOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackend.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/AMD64HotSpotConstantRetrievalOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotDeoptimizeWithExceptionCallerOp.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.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotReturnOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotUnwindOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotspotDirectVirtualCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64IndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCDeoptimizeOp.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.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotDeoptimizeCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotDeoptimizeWithExceptionCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.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/CompileTheWorld.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompileTheWorldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotDeoptExplicitExceptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotDeoptPostExceptions.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/LambdaStableNameTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/MethodSubstitutionEffectTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestSHASubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest.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/HotSpotBackendFactory.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/HotSpotDebugInfoBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompilerFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration.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/HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReferenceMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! 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/HotSpotGCProvider.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/meta/HotSpotNodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotObjdumpDisassemblerProvider.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotProviders.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotSuitesProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotWordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/BeginLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DeoptimizeWithExceptionInCallerNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/StubForeignCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/InitializeKlassNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/InitializeKlassStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveDynamicConstantNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveDynamicStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/FastNotifyNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotAllocationSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotG1WriteBarrierSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotspotSnippetsOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/IdentityHashCodeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/MonitorSnippets.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/replacements/ObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/CreateExceptionStub.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.hotspot/src/org/graalvm/compiler/hotspot/word/MetaspacePointer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/word/PointerCastNode.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/BytecodeParserOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/DefaultSuitesCreator.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/backend/LargeConstantSectionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/except/UntrustedInterfaces.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/ConditionalElimination02.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/Narrow_byte04.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/Field_set02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64BitManipulationOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Arithmetic.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/AMD64CCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Call.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathCosOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathExpOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathLog10Op.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathLogOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathPowOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathSinOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathTanOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Move.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.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorUnary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstruction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScan.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.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/dfa/MarkBasePointersPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/RegStackValueSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/util/IndexedValueMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPeelingPhase.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/LoopFragmentInside.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopPolicies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/MathUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/GraalBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/TestJMHWhitebox.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/GraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GuardedValueNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/Invoke.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/InvokeWithExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/KillingBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StartNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.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/ValueProxyNode.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/FloatEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/LeftShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/OrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ZeroExtendNode.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/debug/SideEffectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/debug/StringToBytesNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ForeignCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/JavaReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/JavaWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MembarNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.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/UnsafeAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode.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/AccessMonitorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AtomicReadAndAddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/AtomicReadAndWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ExceptionObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadIndexedNode.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/LoweredAtomicReadAndWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorEnterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorExitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/RawMonitorEnterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ValueCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractMemoryCheckpoint.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractWriteNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/Access.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AddressableMemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/GuardedMemoryAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/LIRLowerableAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/OnHeapMemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/ReadNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/VolatileReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/WriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/CoreProviders.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/CoreProvidersDelegate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/CoreProvidersImpl.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/GCProvider.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/PlatformConfigurationProvider.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/virtual/AllocatedObjectNode.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/VirtualObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringByUsePhase.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/InsertGuardFencesPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.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/WriteBarrierAdditionPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/BasePhase.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/schedule/SchedulePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.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.printer/src/org/graalvm/compiler/printer/CFGPrinterObserver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraalDebugHandlersFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64BitCountNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64CountLeadingZerosNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64CountTrailingZerosNode.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/AMD64StringUTF16CompressNode.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.sparc/src/org/graalvm/compiler/replacements/sparc/SPARCGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArrayStoreBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BitOpNodesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/BytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ClassCastBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/EdgesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IndexOobBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/NullBytecodeExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ObjectAccessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PEGraphDecoderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/PointerTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/AllocationSnippets.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/DimensionsNode.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/SnippetTemplate.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/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/CheckcastArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/GenericArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/gc/G1WriteBarrierSnippets.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/BasicArrayCopyNode.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.replacements/src/org/graalvm/compiler/replacements/nodes/BitCountNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MacroStateSplitNode.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.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ObjectState.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/PartialEscapePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure.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/Word.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.graphio/src/org/graalvm/graphio/DefaultGraphTypes.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/GroupAllocationBenchmark.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.micro.benchmarks/src/micro/benchmarks/ObjectCloneArrayLengthBenchmark.java Changeset: 38fc3785784a Author: dfuchs Date: 2020-02-20 20:04 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/38fc3785784a 8238990: java/net/httpclient/HandshakeFailureTest.java failed against TLSv1.3 on Windows Summary: The SSLTube and SSLFlowDelegate are improved to wrap any non-SSL exception that occur during the handshake in an SSLHandshakeException. Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLFlowDelegate.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLTube.java ! test/jdk/ProblemList.txt ! test/jdk/java/net/httpclient/HandshakeFailureTest.java Changeset: e3bc1e0ec534 Author: mullan Date: 2020-02-20 16:36 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e3bc1e0ec534 8238560: Cleanup and consolidate algorithms in the jdk.tls.legacyAlgorithms security property Reviewed-by: xuelei ! src/java.base/share/conf/security/java.security + test/jdk/sun/security/ssl/CipherSuite/LegacyConstraints.java Changeset: 9c05db2c5715 Author: pliden Date: 2020-02-20 23:07 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9c05db2c5715 8239503: FieldLayout/OldLayoutCheck.java fails due to "RuntimeException: Misplaced int field: expected 24 to equal 12" Summary: Don't run the test with ZGC. Reviewed-by: dcubed, coleenp, dholmes ! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java Changeset: 18cc3b9dcebf Author: ihse Date: 2020-02-21 10:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/18cc3b9dcebf 8239566: gtest/GTestWrapper.java fails due to "libstlport.so.1: open failed: No such file or directory" Reviewed-by: redestad ! make/autoconf/hotspot.m4 ! make/autoconf/libraries.m4 Changeset: 67268dd9d46a Author: mbaesken Date: 2020-02-20 11:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/67268dd9d46a 8239537: cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes Reviewed-by: mseledtsov ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java Changeset: 1958182c5315 Author: mbaesken Date: 2020-02-20 14:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1958182c5315 8238947: tools/jpackage tests fail with old rpmbuild versions Reviewed-by: clanger, asemenyuk ! src/jdk.incubator.jpackage/linux/classes/jdk/incubator/jpackage/internal/LinuxRpmBundler.java Changeset: 43e03e193ed8 Author: iwalulya Date: 2020-02-21 10:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/43e03e193ed8 8216975: Using ForceNUMA does not disable adaptive sizing with parallel gc Reviewed-by: kbarrett, tschatzl, lkorinth ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp Changeset: b1471b50e56c Author: aoqi Date: 2020-02-19 12:09 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b1471b50e56c 8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled Summary: Skip test if C1 is not available. Reviewed-by: thartmann, xliu ! test/hotspot/jtreg/compiler/c1/TestPrintIRDuringConstruction.java Changeset: b0299f002b6a Author: aoqi Date: 2020-02-19 12:10 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b0299f002b6a 8239424: [TESTBUG] compiler/whitebox/OSRFailureLevel4Test.java failed when TieredCompilation is disabled Summary: Skip test if TieredCompilation is not available. Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/whitebox/OSRFailureLevel4Test.java Changeset: 1bf02ccb788f Author: lucy Date: 2020-02-21 15:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1bf02ccb788f 8239456: vtable stub generation: assert failure (code size estimate) Reviewed-by: thartmann ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp ! src/hotspot/cpu/x86/vtableStubs_x86_64.cpp Changeset: c22b369d40b2 Author: clanger Date: 2020-02-21 16:39 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c22b369d40b2 8239556: (zipfs) remove ExistingChannelCloser facility in zipfs implementation Reviewed-by: lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java Changeset: ef47c784e37b Author: ihse Date: 2020-02-21 18:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef47c784e37b 8239708: Split basics.m4 into basic.m4 and util.m4 Reviewed-by: erikj + make/autoconf/basic.m4 + make/autoconf/basic_tools.m4 + make/autoconf/basic_windows.m4 - make/autoconf/basics.m4 - make/autoconf/basics_windows.m4 ! make/autoconf/boot-jdk.m4 ! make/autoconf/build-performance.m4 ! make/autoconf/configure.ac ! make/autoconf/flags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/jvm-features.m4 ! make/autoconf/lib-tests.m4 ! make/autoconf/libraries.m4 ! make/autoconf/source-dirs.m4 ! make/autoconf/toolchain.m4 ! make/autoconf/toolchain_windows.m4 + make/autoconf/util.m4 + make/autoconf/util_paths.m4 + make/autoconf/util_windows.m4 Changeset: 6759c7955b3b Author: mseledtsov Date: 2020-02-21 13:01 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6759c7955b3b 8223217: [TESTBUG] Create JFR tests with JMX across container boundary Summary: Created a new test for JFR over JMX across container boundary Reviewed-by: egahlin, lmesnik + test/hotspot/jtreg/containers/docker/EventProducer.java + test/hotspot/jtreg/containers/docker/TestJFRWithJMX.java Changeset: 321b6fbe6815 Author: weijun Date: 2020-02-22 08:10 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/321b6fbe6815 8237218: Support NIST Curves verification in java implementation Reviewed-by: ascarpino ! src/java.base/share/classes/sun/security/util/ECUtil.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSAOperations.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECPrivateKeyImpl.java + test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 23363df27cb6 Author: dholmes Date: 2020-02-23 22:35 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/23363df27cb6 8238988: Rename thread "in stack" methods and add in_stack_range Reviewed-by: coleenp, dcubed ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/ppc/frame_ppc.cpp ! src/hotspot/cpu/s390/frame_s390.cpp ! src/hotspot/cpu/sparc/frame_sparc.cpp ! src/hotspot/cpu/x86/frame_x86.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_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_s390/thread_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/os_cpu/solaris_x86/thread_solaris_x86.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/handles.cpp ! src/hotspot/share/runtime/handles.inline.hpp ! src/hotspot/share/runtime/jniHandles.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/unhandledOops.cpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 8b79fb59978e Author: mbaesken Date: 2020-02-19 13:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8b79fb59978e 8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect Reviewed-by: alanb, clanger ! src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/p11_md.c Changeset: 13dc2a7f74aa Author: redestad Date: 2020-02-24 10:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/13dc2a7f74aa 8239235: Examine SignatureStream performance after consolidation Reviewed-by: lfoltan, coleenp ! src/hotspot/share/classfile/stackMapFrame.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/verifier.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp + test/hotspot/gtest/runtime/test_signatureStream.cpp Changeset: 5c5dcd036a76 Author: pliden Date: 2020-02-24 11:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5c5dcd036a76 8239533: ZGC: Make the ZProactive flag non-diagnostic Reviewed-by: eosterlund, stefank ! src/hotspot/share/gc/z/z_globals.hpp ! test/hotspot/jtreg/gc/z/TestHighUsage.java Changeset: 1db771b65440 Author: neliasso Date: 2020-02-24 11:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1db771b65440 8238723: yank_alloc_node must remove membar Reviewed-by: vlivanov, thartmann, roland ! src/hotspot/share/opto/macro.cpp ! test/hotspot/jtreg/compiler/allocation/TestAllocation.java Changeset: 19c8bc956f73 Author: rrich Date: 2020-02-24 12:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/19c8bc956f73 8239854: Non-PCH gtest build fails after JDK-8239235 due to a missing include Reviewed-by: shade, mdoerr ! test/hotspot/gtest/runtime/test_signatureStream.cpp Changeset: 38319837aeec Author: jlahoda Date: 2020-02-24 11:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/38319837aeec 8239536: Can't use `java.util.List` object after importing `java.awt.List` Summary: Using full qualified names for synthetic types; ensuring the user is warned when a variable becomes undefined due to a dependency change. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties ! src/jdk.jshell/share/classes/jdk/jshell/ExpressionToTypeInfo.java ! test/langtools/jdk/jshell/ToolSimpleTest.java ! test/langtools/jdk/jshell/VariablesTest.java Changeset: d6dd48a23a72 Author: pliden Date: 2020-02-24 13:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6dd48a23a72 8239129: ZGC: Allow -XX:AllocateHeapAt to use any filesystem Reviewed-by: stefank, pliden, ysuenaga Contributed-by: yasuenag at gmail.com, per.liden at oracle.com ! src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp + test/hotspot/jtreg/gc/z/TestAllocateHeapAt.java Changeset: af80fedc56a2 Author: rrich Date: 2020-02-24 14:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/af80fedc56a2 8239449: [TESTBUG] test/hotspot/jtreg/runtime/TLS/TestTLS.java: skip test if glibc too old for AdjustStackSizeForTLS Reviewed-by: dholmes, jiangli ! test/hotspot/jtreg/runtime/TLS/exestack-tls.c Changeset: ef1e608a5ecc Author: egahlin Date: 2020-02-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef1e608a5ecc 8239581: Improve javadoc example for @jdk.jfr.Category Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/Category.java Changeset: fe2befa06c39 Author: eosterlund Date: 2020-02-24 14:37 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fe2befa06c39 8234160: Enable optimized mitigation for Intel jcc erratum in C2 Reviewed-by: thartmann, vlivanov, pliden + src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp + src/hotspot/cpu/x86/c2_intelJccErratum_x86.hpp ! src/hotspot/cpu/x86/gc/z/z_x86_64.ad ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp Changeset: d3b8307bd677 Author: hannesw Date: 2020-02-24 16:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d3b8307bd677 8232438: Remove ?is-external=true from external links Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocLink.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPath.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java Changeset: 207fa617f855 Author: egahlin Date: 2020-02-24 17:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/207fa617f855 8239585: JFR: Native events should support empty payloads Reviewed-by: mgronlun ! make/src/classes/build/tools/jfr/GenerateJfrFiles.java ! src/hotspot/share/jfr/metadata/metadata.xsd Changeset: 9374fc702a03 Author: egahlin Date: 2020-02-24 17:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9374fc702a03 8239793: 'jfr' tool should hide hidden frames Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/PrettyWriter.java Changeset: 2dcefc0b8a6d Author: dfuchs Date: 2020-02-24 17:19 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2dcefc0b8a6d 8239052: java/net/httpclient/whitebox/SSLEchoTubeTestDriver.java failed with BufferUnderflowException against TLSv1.3 Summary: The test assumed that ByteBuffer would be split at long boundaries. This is obviously not always the case. A carry has been added to support reading a long split over several buffers. Reviewed-by: chegar ! test/jdk/java/net/httpclient/HandshakeFailureTest.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/AbstractSSLTubeTest.java Changeset: 582928e18beb Author: shade Date: 2020-02-24 18:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/582928e18beb 8239868: Shenandoah: ditch C2 node limit adjustments Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: d33754052039 Author: shade Date: 2020-02-24 18:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d33754052039 8239492: [x86] Turn MacroAssembler::verify_oop into macro recording file and line Reviewed-by: rrich, vlivanov, pliden ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/share/gc/z/zVerify.cpp Changeset: d8c731f7aeda Author: iignatyev Date: 2020-02-24 11:50 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d8c731f7aeda 8238943: switch to jtreg 5.0 Reviewed-by: erikj, jjg, joehw ! make/conf/jib-profiles.js ! test/hotspot/jtreg/TEST.ROOT ! test/jaxp/TEST.ROOT ! test/jdk/TEST.ROOT ! test/langtools/TEST.ROOT ! test/nashorn/TEST.ROOT Changeset: 4202cb763872 Author: naoto Date: 2020-02-24 12:20 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4202cb763872 8239837: Typo in source code of ZoneOffsetTransitionRule leaking to Javadocs Reviewed-by: lancea ! src/java.base/share/classes/java/time/zone/ZoneOffsetTransitionRule.java Changeset: be0c5da2d83f Author: naoto Date: 2020-02-24 14:16 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/be0c5da2d83f 8239520: ValueRange.of(long, long, long) does not throw IAE on invalid inputs Reviewed-by: rriggs ! src/java.base/share/classes/java/time/temporal/ValueRange.java ! test/jdk/java/time/test/java/time/temporal/TestDateTimeValueRange.java Changeset: 6214823ce3d8 Author: ddong Date: 2020-02-24 23:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6214823ce3d8 8237499: JFR: Include stack trace in the ThreadStart event Reviewed-by: egahlin ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp ! src/hotspot/share/jfr/support/jfrThreadLocal.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/jdk/jdk/jfr/event/runtime/TestThreadStartEndEvents.java Changeset: f965bceba123 Author: cito Date: 2020-02-25 03:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f965bceba123 8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings() Reviewed-by: egahlin, mseledtsov ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RecordingInfo.java ! test/jdk/jdk/jfr/jmx/JmxHelper.java ! test/jdk/jdk/jfr/jmx/TestGetRecordings.java Changeset: 1c7da538f065 Author: jiefu Date: 2020-02-25 10:34 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c7da538f065 8239886: Minimal VM build fails after JDK-8237499 Reviewed-by: dholmes ! src/hotspot/share/prims/jni.cpp Changeset: d6b968af8b65 Author: fmatte Date: 2020-02-24 23:44 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6b968af8b65 8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true Reviewed-by: dholmes, mseledtsov ! test/hotspot/jtreg/runtime/ErrorHandling/VeryEarlyAssertTest.java Changeset: 22422bef1c5d Author: jiefu Date: 2020-02-25 16:22 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/22422bef1c5d 8239885: [TESTBUG] compiler/allocation/TestAllocation.java fails with release VMs Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/allocation/TestAllocation.java Changeset: 874f29bf3f44 Author: ihse Date: 2020-02-25 09:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/874f29bf3f44 8239860: Add support for testing the configure script Reviewed-by: erikj ! make/RunTests.gmk ! make/autoconf/util.m4 ! test/make/TestMake.gmk + test/make/autoconf/test-configure.sh + test/make/autoconf/test.m4 Changeset: d2cd0d717997 Author: ihse Date: 2020-02-25 09:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d2cd0d717997 8239789: Follow-up on JVM feature rewrite Reviewed-by: erikj, pliden, egahlin ! make/autoconf/help.m4 ! make/autoconf/jvm-features.m4 ! make/autoconf/util.m4 Changeset: 4f902f017def Author: ihse Date: 2020-02-25 09:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4f902f017def 8239794: Move -Os from JVM feature 'minimal' to new feature 'opt-size' Reviewed-by: erikj, dholmes ! make/autoconf/jvm-features.m4 ! make/hotspot/lib/JvmFeatures.gmk Changeset: 695c6b0986c3 Author: shade Date: 2020-02-25 12:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/695c6b0986c3 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp Changeset: 9b33b25a7198 Author: itakiguchi Date: 2020-02-25 22:47 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b33b25a7198 8235834: IBM-943 charset encoder needs updating Summary: Apply 34B003AF.RPMAP130 definition into encoder Reviewed-by: naoto + make/data/charsetmapping/IBM943.c2b ! test/jdk/sun/nio/cs/TestIBMBugs.java Changeset: 9e359ab51ce6 Author: sgehwolf Date: 2020-02-20 20:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9e359ab51ce6 8239559: Cgroups: Incorrect detection logic on some systems Summary: Adjust heuristic with cgroup mounts according to mountinfo Reviewed-by: bobv, mbaesken ! src/java.base/linux/classes/jdk/internal/platform/CgroupSubsystemFactory.java + test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java Changeset: a268c653f404 Author: egahlin Date: 2020-02-25 20:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a268c653f404 8223066: "jfr metadata" output the @Name annotation twice Reviewed-by: mgronlun, egahlin Contributed-by: erik.gahlin at oracle.com, chiroito107 at gmail.com ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/PrettyWriter.java ! test/jdk/jdk/jfr/tool/TestMetadata.java Changeset: 16973c5b27be Author: naoto Date: 2020-02-25 15:49 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/16973c5b27be 8239976: Put JDK-8239965 on the ProblemList.txt Reviewed-by: dcubed ! test/jdk/ProblemList.txt Changeset: ff1f4b5e0c9a Author: pli Date: 2020-02-26 09:33 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff1f4b5e0c9a 8239549: AArch64: Backend support for MulAddVS2VI node Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! test/hotspot/jtreg/compiler/loopopts/superword/Vec_MulAddS2I.java Changeset: cf96533fd215 Author: darcy Date: 2020-02-25 17:50 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf96533fd215 8193553: Provide better guidance on using javax.lang.model visitors Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java Changeset: a8bca51623b6 Author: ngasson Date: 2020-02-26 09:58 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a8bca51623b6 8238705: [TESTBUG] jfr/event/gc/stacktrace/TestMetaspace* are stable with Xcomp on AArch64 Reviewed-by: mseledtsov, egahlin ! test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java ! test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java ! test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java Changeset: afeefc19ecb9 Author: aoqi Date: 2020-02-26 00:07 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/afeefc19ecb9 8239423: jdk/jfr/jvm/TestJFRIntrinsic.java failed with -XX:-TieredCompilation Reviewed-by: iignatyev, dholmes ! src/hotspot/share/prims/whitebox.cpp Changeset: 61ee15b9a1ac Author: mbaesken Date: 2020-02-24 09:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/61ee15b9a1ac 8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns Reviewed-by: clanger, amenkov, sspitsyn ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp ! src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m ! src/jdk.hotspot.agent/solaris/native/libsaproc/saproc.cpp Changeset: 582e5f2661c3 Author: xliu Date: 2020-02-26 12:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/582e5f2661c3 8239066: make LinkedList more generic Reviewed-by: phh, simonis ! src/hotspot/share/utilities/linkedlist.hpp ! test/hotspot/gtest/utilities/test_linkedlist.cpp Changeset: c27d95f72ba8 Author: coffeys Date: 2020-02-26 18:06 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c27d95f72ba8 8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 Reviewed-by: pkoppula, weijun, coffeys Contributed-by: ravi.k.reddy at oracle.com ! src/java.base/share/classes/sun/security/x509/CertificateValidity.java ! src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java ! src/java.base/share/classes/sun/security/x509/X509CRLImpl.java + test/jdk/sun/security/x509/X509CertImpl/CertificateValidation.java Changeset: 230455dd03c1 Author: prappo Date: 2020-02-26 15:34 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/230455dd03c1 8239876: Improve SearchIndexItem 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/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.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/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java Changeset: 0c158c2a2385 Author: iignatyev Date: 2020-02-26 10:09 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0c158c2a2385 8239500: jittester shouldn't use non-deterministic System methods Reviewed-by: lmesnik, thartmann ! test/hotspot/jtreg/testlibrary/jittester/conf/exclude.methods.lst Changeset: 495566ff7149 Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/495566ff7149 8240069: Shenandoah: turn more flags diagnostic Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java Changeset: a1be565c0afe Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a1be565c0afe 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java Changeset: 525cbaab106d Author: shade Date: 2020-02-26 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/525cbaab106d 8240076: Shenandoah: pacer should cover reset and preclean phases Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp Changeset: 2ec0ff304263 Author: kbarrett Date: 2020-02-26 14:36 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2ec0ff304263 8238979: Improve G1DirtyCardQueueSet handling of previously paused buffers Summary: Move enqueuing of previously paused buffers. Reviewed-by: sangheki, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: f67951f722a4 Author: redestad Date: 2020-02-26 21:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f67951f722a4 8240094: Optimize empty substring handling Reviewed-by: redestad, igerasim, jlaskey Contributed-by: sergei.tsypanov at yandex.ru ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java ! test/micro/org/openjdk/bench/java/lang/StringSubstring.java Changeset: 541b03673cdb Author: dcubed Date: 2020-02-26 19:33 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/541b03673cdb 8240132: ProblemList com/sun/jdi/InvokeHangTest.java Reviewed-by: mikael ! test/jdk/ProblemList.txt Changeset: bccb9f3423e3 Author: dcubed Date: 2020-02-26 19:39 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bccb9f3423e3 8240134: ProblemList javax/script/Test7.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 57849c7f9d22 Author: dcubed Date: 2020-02-26 19:41 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/57849c7f9d22 8240135: ProblemList vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1 Reviewed-by: iignatyev, dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 95c882e86df2 Author: jwilhelm Date: 2020-02-27 03:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/95c882e86df2 Added tag jdk-15+12 for changeset 2ec0ff304263 ! .hgtags Changeset: 76f3aaaffd3c Author: dholmes Date: 2020-02-26 23:10 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/76f3aaaffd3c 8240141: Incorrect copyright header in src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp Reviewed-by: iignatyev ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp Changeset: 3b9b5cb7586f Author: amlu Date: 2020-02-27 12:19 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3b9b5cb7586f 8239979: sun/security/tools/keytool/ExtOptionCamelCase.java is not run Reviewed-by: rhalade ! test/jdk/sun/security/tools/keytool/ExtOptionCamelCase.java Changeset: 495d1a4eee04 Author: rraghavan Date: 2020-02-27 16:06 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/495d1a4eee04 8235995: Remove src/jdk.internal.vm.compiler/.mx.graal directory Summary: Removed src/jdk.internal.vm.compiler/.mx.graal directory and files Reviewed-by: dlong - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py Changeset: c87cb2daad04 Author: neliasso Date: 2020-02-27 13:11 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c87cb2daad04 8239878: Bug in PrintEliminateAllocations code causes TestClhsdbJstackLock.java to fail Reviewed-by: shade ! src/hotspot/share/opto/macro.cpp Changeset: e6336e3c5984 Author: hseigel Date: 2020-02-27 13:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6336e3c5984 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods Summary: Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate Reviewed-by: mikael, dholmes, coleenp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/memoryManager.cpp Changeset: b5745158500a Author: zgu Date: 2020-02-26 15:32 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b5745158500a 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR Reviewed-by: shade, rkennke ! 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/shenandoahForwarding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 0b02c862a03e Author: dcubed Date: 2020-02-27 11:34 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0b02c862a03e 8239873: [TESTBUG] FieldLayout/OldLayoutCheck.java fails after the fix for JDK-8239503 Summary: Don't run the test with -XX:-UseCompressedOops. Reviewed-by: fparain, hseigel ! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java Changeset: 8f26915495d6 Author: zgu Date: 2020-02-27 12:17 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8f26915495d6 8239354: Shenandoah: minor enhancements to traversal GC Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 7abee91f0bb5 Author: darcy Date: 2020-02-27 10:30 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7abee91f0bb5 8225495: Note whether returned annotations are declaration annotations or type annotations Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 6e9aa02cf215 Author: wetmore Date: 2020-02-27 11:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e9aa02cf215 8239815: Update ECC legal file Reviewed-by: mullan ! src/jdk.crypto.ec/share/legal/ecc.md Changeset: 52367bbd4bd4 Author: jjg Date: 2020-02-27 12:16 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/52367bbd4bd4 8239804: Cleanup/simplify HTML/CSS for general block tags Reviewed-by: prappo, hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.java ! make/jdk/src/classes/build/tools/taglet/ToolGuide.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.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/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.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/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java ! test/langtools/jdk/javadoc/doclet/AuthorDD/AuthorDD.java ! test/langtools/jdk/javadoc/doclet/testAuthor/TestAuthor.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testConstructorIndent/TestConstructorIndent.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/TestCopyFiles.java + test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverriddenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/langtools/jdk/javadoc/doclet/testHiddenMembers/TestHiddenMembers.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlStrongTag/TestHtmlStrongTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestMultiInheritance.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPrivateFlag.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/BaseClass.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/SubClass.java ! test/langtools/jdk/javadoc/doclet/testParamTaglet/TestParamTaglet.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/pkg/PrivateParent.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/pkg/PublicChild.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSimpleTag/TestSimpleTag.java ! test/langtools/jdk/javadoc/doclet/testSimpleTagInherit/TestSimpleTagInherit.java ! test/langtools/jdk/javadoc/doclet/testSinceTag/TestSinceTag.java ! test/langtools/jdk/javadoc/doclet/testThrowsHead/TestThrowsHead.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTag.java ! test/langtools/jdk/javadoc/doclet/testVersionTag/TestVersionTag.java Changeset: a30f7d67296e Author: cjplummer Date: 2020-02-27 13:51 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a30f7d67296e 8240142: Fix copyright in ThreadGroupReferenceImpl.h Reviewed-by: dholmes ! src/jdk.jdwp.agent/share/native/libjdwp/ThreadGroupReferenceImpl.h Changeset: 7e846d63ca61 Author: cjplummer Date: 2020-02-27 13:52 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7e846d63ca61 8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: 04ba72c457f3 Author: cjplummer Date: 2020-02-27 13:57 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/04ba72c457f3 8193237: SA: ClhsdbLauncher should show the command being executed Reviewed-by: sspitsyn, amenkov ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java Changeset: 02f6ce8441df Author: xuelei Date: 2020-02-27 21:14 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/02f6ce8441df 8240193: loadLibrary("osxsecurity") should not be removed Reviewed-by: ascarpino ! src/java.base/macosx/classes/apple/security/KeychainStore.java Changeset: 27e301f90b3a Author: ihse Date: 2020-02-28 09:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/27e301f90b3a 8239799: Cross-compilation ARM32/AARCH clientvm builds fails after JDK-8239450 Reviewed-by: erikj ! make/autoconf/buildjdk-spec.gmk.in Changeset: 8def7c4e6800 Author: chagedorn Date: 2020-02-28 15:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8def7c4e6800 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Summary: Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 1a57db1b936f Author: dcubed Date: 2020-02-28 10:16 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1a57db1b936f 8240231: Build failure on illumos after 8238988 Summary: add missing cast Reviewed-by: dcubed, shade Contributed-by: peter.tribble at gmail.com ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: ec5e6e8d1ed2 Author: lucy Date: 2020-02-28 16:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ec5e6e8d1ed2 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: c838a35b86e9 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c838a35b86e9 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: df9f37c56847 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/df9f37c56847 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.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/shenandoah_globals.hpp Changeset: c005ba590219 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c005ba590219 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: d1062bce95b9 Author: simonis Date: 2020-02-28 19:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d1062bce95b9 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 9d59ab73463c Author: jjg Date: 2020-02-28 12:46 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9d59ab73463c 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.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/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.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/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverriddenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: 7b59e4c72006 Author: lmesnik Date: 2020-02-28 13:21 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b59e4c72006 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: f227e770495f Author: minqi Date: 2020-02-28 15:30 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f227e770495f 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Summary: Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! 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/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: 0569a84a9ec0 Author: jiefu Date: 2020-02-29 09:38 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0569a84a9ec0 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: f46dfe6b18ac Author: minqi Date: 2020-02-28 19:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f46dfe6b18ac 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Summary: Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: eeba18e49d0b Author: lzang Date: 2020-02-29 14:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eeba18e49d0b 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 1e4e7bf0b6f5 Author: fyang Date: 2020-02-26 17:32 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1e4e7bf0b6f5 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes Contributed-by: wangkun49 at huawei.com ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 4a5a7dc9d05c Author: iklam Date: 2020-03-01 17:36 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4a5a7dc9d05c 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 4b9d816b1531 Author: rhalade Date: 2020-03-01 23:04 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4b9d816b1531 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: acc083236275 Author: redestad Date: 2020-03-02 08:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/acc083236275 8196334: Optimize UUID#fromString Reviewed-by: igerasim, alanb Contributed-by: plokhotnyuk at gmail.com, jon.chambers at gmail.com, claes.redestad at oracle.com ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: 1d64bd5b34e0 Author: chagedorn Date: 2020-03-02 10:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1d64bd5b34e0 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Summary: Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: 41073408f25e Author: stefank Date: 2020-03-02 12:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/41073408f25e 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: e04746cec89c Author: stefank Date: 2020-03-02 12:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e04746cec89c 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 387369ff21a4 Author: mbalao Date: 2020-02-05 12:20 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/387369ff21a4 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 5f6949a3dbe0 Author: hseigel Date: 2020-03-02 16:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5f6949a3dbe0 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Summary: Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e826821a469d Author: pconcannon Date: 2020-03-02 16:47 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e826821a469d 8234812: Add micros for DatagramChannel send/receive Summary: Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: 3a9bd48ecffc Author: lfoltan Date: 2020-03-02 18:42 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3a9bd48ecffc 8237766: Enhance signature API to include ResolvingSignatureStream Summary: New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Reviewed-by: coleenp, fparain, hseigel Contributed-by: lois.foltan at oracle.com, john.r.rose at oracle.com ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: ac3371755ede Author: kbarrett Date: 2020-03-02 14:45 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ac3371755ede 8240246: Avoid cast_to_oop from char* Summary: Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 83ff8e2fa7ab Author: mseledtsov Date: 2020-03-02 12:16 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/83ff8e2fa7ab 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested Summary: New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: 80e4a066342d Author: dholmes Date: 2020-03-02 19:49 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/80e4a066342d 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: f3d90cac1c7c Author: prr Date: 2020-02-12 14:45 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f3d90cac1c7c 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 314f940aaf82 Author: serb Date: 2020-02-13 13:17 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/314f940aaf82 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 19adbbca4307 Author: serb Date: 2020-02-13 13:19 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/19adbbca4307 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: bdcad73943d5 Author: serb Date: 2020-02-13 13:21 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bdcad73943d5 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: ece447fa3843 Author: serb Date: 2020-02-13 13:23 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ece447fa3843 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: df45736e03ac Author: prr Date: 2020-02-14 09:10 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/df45736e03ac 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: bc9c585b41e7 Author: prr Date: 2020-02-14 10:44 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bc9c585b41e7 8239091: Reversed arguments in call to strstr in freetype "debug" code. Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 81bb0384f515 Author: kizune Date: 2020-02-17 20:04 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/81bb0384f515 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 062b36ecf8d7 Author: psadhukhan Date: 2020-02-20 14:49 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/062b36ecf8d7 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: c28ebdb28a8e Author: pbansal Date: 2020-02-21 16:31 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c28ebdb28a8e 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: 427e3df3f0a3 Author: pbansal Date: 2020-02-21 17:00 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/427e3df3f0a3 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: 159f96d0784c Author: pbansal Date: 2020-02-21 17:09 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/159f96d0784c 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: ea4c6da34c1f Author: aivanov Date: 2020-02-25 20:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ea4c6da34c1f 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 965c0a1421e5 Author: serb Date: 2020-02-27 09:49 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/965c0a1421e5 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 69495f2ee5ba Author: serb Date: 2020-02-28 16:49 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/69495f2ee5ba 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: ed5224c3e044 Author: psadhukhan Date: 2020-03-02 10:50 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed5224c3e044 Merge - make/CopyInterimCLDRConverter.gmk - make/Help.gmk - make/autoconf/basics.m4 - make/autoconf/basics_windows.m4 - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGCProvider.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.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.nodes/src/org/graalvm/compiler/nodes/memory/Access.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/GCProvider.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.min.js - src/jdk.javadoc/share/legal/jszip.md - test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java - test/hotspot/jtreg/runtime/7116786/Test7116786.java - test/hotspot/jtreg/runtime/7116786/testcases.jar - test/hotspot/jtreg/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java - test/hotspot/jtreg/runtime/EnclosingMethodAttr/enclMethodAttr.jar - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/testcase.jar - test/hotspot/jtreg/runtime/classFileParserBug/emptynumbootstrapmethods.jar - test/hotspot/jtreg/runtime/classFileParserBug/test.jar - test/hotspot/jtreg/runtime/duplAttributes/test.jar - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh ! test/jdk/ProblemList.txt - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java Changeset: d765d242df98 Author: psadhukhan Date: 2020-03-03 13:31 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d765d242df98 Merge - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java Changeset: 370822016750 Author: neliasso Date: 2020-03-03 10:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/370822016750 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 1bc5f223df65 Author: simonis Date: 2020-03-03 11:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1bc5f223df65 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: de17bc931bbe Author: redestad Date: 2020-03-03 11:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de17bc931bbe 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 32e20dcd43eb Author: redestad Date: 2020-03-03 12:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/32e20dcd43eb 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: d8dbc734645b Author: hseigel Date: 2020-03-03 15:50 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d8dbc734645b 8240324: Improve is_boot_class_loader_data() by adding simple check Summary: Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: e0e5cbb61e86 Author: coleenp Date: 2020-03-03 11:19 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e0e5cbb61e86 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: 06b31c23a9a8 Author: fmatte Date: 2020-02-27 19:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/06b31c23a9a8 8239055: Wrong implementation of VMState.hasListener Summary: Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: ef54941dbc95 Author: mseledtsov Date: 2020-03-03 12:43 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef54941dbc95 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Summary: Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 522f5bb0e92b Author: xuelei Date: 2020-03-03 15:57 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/522f5bb0e92b 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: f6322be85592 Author: roland Date: 2020-02-21 15:01 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f6322be85592 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 1d4d4c9d03c2 Author: roland Date: 2020-02-20 16:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1d4d4c9d03c2 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: a3a462ce27cd Author: bae Date: 2020-03-03 13:06 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a3a462ce27cd 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan Contributed-by: alexey at azul.com ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: 6f709455592a Author: shade Date: 2020-03-04 11:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6f709455592a 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 8797eb1fe3bf Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8797eb1fe3bf 8239575: javadoc triggers javac AssertionError for annos on modules Summary: Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: d2fc63de7876 Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d2fc63de7876 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Summary: Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 1c06a8ee8aca Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c06a8ee8aca 8234896: Tab completion does not work for method references in jshell. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: b0d94da54415 Author: herrick Date: 2020-03-03 17:58 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b0d94da54415 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: dffb6122849b Author: herrick Date: 2020-03-03 18:07 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dffb6122849b 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: b77e4d778eb7 Author: herrick Date: 2020-03-03 18:10 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b77e4d778eb7 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: 707abe6ca3cb Author: simonis Date: 2020-03-04 14:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/707abe6ca3cb 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 2fc917015437 Author: shade Date: 2020-03-04 19:23 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2fc917015437 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: d0b769130118 Author: jjg Date: 2020-03-04 12:58 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d0b769130118 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.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/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/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/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.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/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 67cc6f3948e3 Author: ccheung Date: 2020-03-04 15:34 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/67cc6f3948e3 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Summary: Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: a5cea8e81879 Author: jwilhelm Date: 2020-03-05 02:02 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a5cea8e81879 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 501a27fff637 Author: minqi Date: 2020-03-04 21:29 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/501a27fff637 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Summary: Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 3465ed78d670 Author: iklam Date: 2020-03-04 22:26 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3465ed78d670 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 187b26b1feb2 Author: njian Date: 2020-03-05 14:51 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/187b26b1feb2 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann Contributed-by: qi.feng at arm.com ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: 0ba758a2b6f0 Author: dbuck Date: 2020-03-05 03:27 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0ba758a2b6f0 8183369: RFC unconformity of HttpURLConnection with proxy Summary: HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari Contributed-by: ravi.k.reddy at oracle.com ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: c4dea8e07b84 Author: ysuenaga Date: 2020-03-05 19:46 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c4dea8e07b84 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: fcbf0839a86c Author: eosterlund Date: 2020-03-05 11:12 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fcbf0839a86c 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 920a6239d61a Author: redestad Date: 2020-03-05 13:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/920a6239d61a 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 4074e3cce261 Author: mgronlun Date: 2020-03-05 17:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4074e3cce261 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: fbbcf9125cef Author: shurailine Date: 2020-03-05 09:51 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fbbcf9125cef 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3b6510b005e5 Author: lancea Date: 2020-03-05 13:56 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3b6510b005e5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: e804de2e6d4a Author: vromero Date: 2020-03-05 16:46 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e804de2e6d4a 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 5a58d0939974 Author: darcy Date: 2020-03-05 15:07 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5a58d0939974 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: 104476d44ee0 Author: dnsimon Date: 2020-03-05 16:32 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/104476d44ee0 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 92cf8efd381d Author: rsunderbabu Date: 2020-03-06 10:27 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/92cf8efd381d 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Summary: Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer Contributed-by: ramkumar.sunderbabu at oracle.com ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: 41f79689c039 Author: mbaesken Date: 2020-03-05 13:12 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/41f79689c039 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 571b228bf874 Author: mdoerr Date: 2020-03-06 11:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/571b228bf874 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: b009dd349913 Author: iwalulya Date: 2020-03-06 11:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b009dd349913 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 942c6102590a Author: rkennke Date: 2020-03-06 13:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/942c6102590a 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke Contributed-by: adityam at microsoft.com ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: cc8382a9118c Author: iwalulya Date: 2020-03-06 14:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cc8382a9118c 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 2b6e1b425f5f Author: rschmelter Date: 2020-03-06 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2b6e1b425f5f 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: 1c40993361d0 Author: sgehwolf Date: 2020-02-24 19:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c40993361d0 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: dffc5585fa99 Author: shade Date: 2020-03-06 17:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dffc5585fa99 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! 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.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 90c1d2c1f333 Author: mullan Date: 2020-03-06 13:17 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/90c1d2c1f333 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: d0305db138ee Author: bpb Date: 2020-03-06 10:34 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d0305db138ee 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: c81062051951 Author: rriggs Date: 2020-03-06 13:52 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c81062051951 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 22e4f0169cab Author: rkennke Date: 2020-03-06 21:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/22e4f0169cab 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: f79f4f745f98 Author: ccheung Date: 2020-03-06 15:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f79f4f745f98 8232081: Try to link all classes during dynamic CDS dump Summary: During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: ba031902229b Author: kbarrett Date: 2020-03-06 18:42 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ba031902229b 8240239: Replace ConcurrentGCPhaseManager Summary: Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Reviewed-by: kbarrett, pliden, sangheki Contributed-by: kim.barrett at oracle.com, per.liden at oracle.com ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: b68736876ab5 Author: mikael Date: 2020-03-06 17:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b68736876ab5 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 7af6364e1792 Author: jjg Date: 2020-03-06 18:03 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7af6364e1792 8240137: Support chained use of Content.add Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.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/Content.java Changeset: cb85119495ba Author: jiefu Date: 2020-03-07 14:42 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cb85119495ba 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ca2dcaf37fad Author: vtewari Date: 2020-03-07 18:35 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ca2dcaf37fad 8238579: HttpsURLConnection drops the timeout and hangs forever in read Summary: HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: 4b80c89e76ca Author: bulasevich Date: 2020-03-07 16:27 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4b80c89e76ca 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: e44b68e5bdaf Author: itakiguchi Date: 2020-03-08 15:15 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e44b68e5bdaf 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Summary: Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 2420daa87866 Author: kbarrett Date: 2020-03-08 17:33 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2420daa87866 8240133: G1DirtyCardQueue destructor has useless flush Summary: Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 0fe71e38ecc4 Author: iklam Date: 2020-03-08 15:06 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0fe71e38ecc4 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 13c54fd3bc8c Author: rhalade Date: 2020-03-09 00:45 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/13c54fd3bc8c 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 3437fb6311fd Author: kbarrett Date: 2020-03-09 04:06 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3437fb6311fd 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Summary: Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 8d1e70f7f279 Author: roland Date: 2020-03-05 15:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8d1e70f7f279 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 598ac6de2237 Author: rkennke Date: 2020-03-09 12:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/598ac6de2237 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke Contributed-by: adityam at microsoft.com ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: 8a14919d365d Author: kevinw Date: 2020-03-09 12:54 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8a14919d365d 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: 666e310e158f Author: neugens Date: 2020-03-09 14:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/666e310e158f 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 0238badf51bc Author: fyang Date: 2020-03-09 22:31 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0238badf51bc 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn Contributed-by: hedongbo at huawei.com ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: 79371dab85c2 Author: henryjen Date: 2020-03-06 13:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/79371dab85c2 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 20023740a683 Author: dfuchs Date: 2020-03-09 17:48 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/20023740a683 8240754: Instrument FlowTest.java to provide more debug traces. Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 298b62120b5a Author: naoto Date: 2020-03-09 13:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/298b62120b5a 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: b03adcb5dd5f Author: egahlin Date: 2020-03-09 21:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b03adcb5dd5f 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 563d6852da45 Author: egahlin Date: 2020-03-09 21:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/563d6852da45 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: a74b7501917d Author: shade Date: 2020-03-09 22:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a74b7501917d 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: ffa717c6ffee Author: shade Date: 2020-03-09 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ffa717c6ffee 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: 7e741a3fc650 Author: shade Date: 2020-03-09 22:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7e741a3fc650 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade Contributed-by: Aditya Mandaleeka ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: b639fff3fc5a Author: roland Date: 2020-03-10 10:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b639fff3fc5a 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 7c057af653f9 Author: iwalulya Date: 2020-03-10 10:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7c057af653f9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: b760fca91d75 Author: jjiang Date: 2020-03-10 21:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b760fca91d75 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 12b01a07515d Author: mgronlun Date: 2020-03-10 15:44 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/12b01a07515d 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: a611125840f0 Author: fyang Date: 2020-03-09 18:21 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a611125840f0 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb Contributed-by: hedongbo at huawei.com ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 5474f3ecded4 Author: roland Date: 2020-03-09 09:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5474f3ecded4 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 478dbbe9b422 Author: egahlin Date: 2020-03-10 18:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/478dbbe9b422 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: eab1d242c9f6 Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eab1d242c9f6 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: e673324c4045 Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e673324c4045 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 3f26298f486f Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3f26298f486f 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 8c0b7b88b646 Author: minqi Date: 2020-03-10 11:52 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c0b7b88b646 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Summary: Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 81e8e9394197 Author: dnsimon Date: 2020-03-10 21:48 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/81e8e9394197 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann Contributed-by: Yudi Zheng ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: a67aa7e073d8 Author: minqi Date: 2020-03-10 14:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a67aa7e073d8 8240840: Rollback whitebox.cpp in push 8240691 Summary: whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 18d4d0cc3372 Author: kvn Date: 2020-03-10 14:39 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/18d4d0cc3372 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 301f91ab1636 Author: jjg Date: 2020-03-10 14:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/301f91ab1636 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! 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/AbstractOverviewIndexWriter.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/AnnotationTypeWriterImpl.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/ClassWriterImpl.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/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.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/SourceToHTMLConverter.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/SystemPropertiesWriter.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/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 82b0b99acdbb Author: asotona Date: 2020-03-10 17:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/82b0b99acdbb 8235216: typo in test filename Summary: renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: faa4916a3379 Author: cito Date: 2020-03-07 23:08 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/faa4916a3379 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 8c78138be591 Author: weijun Date: 2020-03-11 10:33 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c78138be591 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 590ac5a59078 Author: ysuenaga Date: 2020-03-11 13:14 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/590ac5a59078 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 8c5697ed51b2 Author: ihse Date: 2020-03-11 08:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c5697ed51b2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1fdd52277cfb Author: ehelin Date: 2020-03-10 16:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1fdd52277cfb 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 719a3cd91e92 Author: stefank Date: 2020-03-04 15:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/719a3cd91e92 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: bb44e0d9fe1f Author: stefank Date: 2020-03-04 15:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bb44e0d9fe1f 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 12eb1e2087d2 Author: stefank Date: 2020-03-04 18:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/12eb1e2087d2 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: e50512f91026 Author: aph Date: 2020-03-10 10:49 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e50512f91026 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 65f30e209890 Author: clanger Date: 2020-03-11 13:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/65f30e209890 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari Contributed-by: vipinsharma85 at gmail.com ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: 6cac1afd2a63 Author: shade Date: 2020-03-11 14:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6cac1afd2a63 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! 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/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: d0ff3ee1bf40 Author: aph Date: 2020-03-11 12:38 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d0ff3ee1bf40 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: f9893c227e12 Author: aph Date: 2020-03-11 15:02 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f9893c227e12 Merge Changeset: eb934f0048de Author: bae Date: 2020-03-11 19:14 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eb934f0048de 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei Contributed-by: alexey at azul.com ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: d9dd1627e074 Author: lancea Date: 2020-03-11 12:30 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d9dd1627e074 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger Contributed-by: Adam Sotona - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 3a3ce5f3e2f7 Author: prappo Date: 2020-03-11 17:09 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3a3ce5f3e2f7 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available 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/DocFilesHandlerImpl.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/SearchIndexItems.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/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 055991789807 Author: sspitsyn Date: 2020-03-11 20:28 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/055991789807 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Summary: Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: d462f05faa2d Author: amenkov Date: 2020-03-11 13:39 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d462f05faa2d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 1d6ceb13e142 Author: ihse Date: 2020-03-11 22:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1d6ceb13e142 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 Changeset: 5f690d6174b5 Author: jjg Date: 2020-03-11 15:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5f690d6174b5 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.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/ClassWriterImpl.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/EnumConstantWriterImpl.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/HelpWriter.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/MethodWriterImpl.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PropertyWriterImpl.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/SystemPropertiesWriter.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/Comment.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: a6c70ccaa775 Author: ysuenaga Date: 2020-03-12 09:23 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a6c70ccaa775 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: e103a5398b54 Author: jwilhelm Date: 2020-03-12 03:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e103a5398b54 Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: 91f95b517b0c Author: iklam Date: 2020-03-11 21:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91f95b517b0c 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 4ee517d2e206 Author: shade Date: 2020-03-12 06:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4ee517d2e206 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade Contributed-by: Kelvin Nilsen ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: a744cb5d03d6 Author: weijun Date: 2020-03-12 18:21 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a744cb5d03d6 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: ecc59c31cb10 Author: rrich Date: 2020-03-12 11:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ecc59c31cb10 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 4923c49ba7b5 Author: redestad Date: 2020-03-12 13:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4923c49ba7b5 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: fec7d7b39038 Author: redestad Date: 2020-03-05 16:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fec7d7b39038 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 2d4a9ff1de2e Author: dnsimon Date: 2020-03-12 13:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2d4a9ff1de2e 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann Contributed-by: Yudi Zheng ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 724e0cf52991 Author: zgu Date: 2020-03-12 09:25 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/724e0cf52991 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: a9a78d821f37 Author: vlivanov Date: 2020-03-12 16:42 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a9a78d821f37 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: d527da8f8f9b Author: sgehwolf Date: 2020-02-25 12:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d527da8f8f9b 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Summary: Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 7898edac8a27 Author: naoto Date: 2020-03-12 08:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7898edac8a27 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: 910e8900f11d Author: rriggs Date: 2020-03-12 11:54 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/910e8900f11d 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: e713e8a312ea Author: rriggs Date: 2020-03-12 11:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e713e8a312ea 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: fa70160bcf72 Author: minqi Date: 2020-03-12 09:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fa70160bcf72 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses Summary: With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: c0f672668596 Author: rkennke Date: 2020-03-12 17:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c0f672668596 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: cc0ffb1d0458 Author: rkennke Date: 2020-03-12 17:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cc0ffb1d0458 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 67a2ce1f3a0a Author: zgu Date: 2020-03-12 13:08 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/67a2ce1f3a0a 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: be3aeb6e766d Author: pconcannon Date: 2020-03-12 17:08 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/be3aeb6e766d 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Summary: Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: f2a8072492df Author: pconcannon Date: 2020-03-12 17:20 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f2a8072492df Merge Changeset: 61f6c19d1a56 Author: shade Date: 2020-03-12 18:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/61f6c19d1a56 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 29f4b46a1680 Author: dfuchs Date: 2020-03-12 18:31 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/29f4b46a1680 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" Summary: The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 222127a06550 Author: ihse Date: 2020-03-12 19:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/222127a06550 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: 5edc259054ae Author: ihse Date: 2020-03-12 19:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5edc259054ae 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: e594b41c45c4 Author: ihse Date: 2020-03-12 19:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e594b41c45c4 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: 1ca940d73efc Author: mchung Date: 2020-03-12 11:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1ca940d73efc 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java - src/java.base/windows/classes/java/lang/ClassLoaderHelper.java + src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e287fc5b9e86 Author: mchung Date: 2020-03-12 11:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e287fc5b9e86 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 4253bf176649 Author: erikj Date: 2020-03-12 12:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4253bf176649 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse Contributed-by: junyuan.zheng at microsoft.com ! make/autoconf/basic_tools.m4 Changeset: b2b9f856b71a Author: jjg Date: 2020-03-12 13:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b2b9f856b71a 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 66c7a7990f69 Author: jjg Date: 2020-03-12 14:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/66c7a7990f69 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 24d5c4ed9bf9 Author: valeriep Date: 2020-03-12 22:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/24d5c4ed9bf9 8238566: java.security.Provider$Service.supportsParameter() is racy Summary: Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 15d69d370743 Author: ccheung Date: 2020-03-12 16:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/15d69d370743 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Summary: Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 1c98d63e3ee2 Author: jiefu Date: 2020-03-13 17:01 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1c98d63e3ee2 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 3a3bd4ed9584 Author: roland Date: 2020-03-11 10:32 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3a3bd4ed9584 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 29edf1cb3c02 Author: weijun Date: 2020-03-13 17:45 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/29edf1cb3c02 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: de9c1fe3de60 Author: iwalulya Date: 2020-03-13 11:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de9c1fe3de60 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 367b1f73904c Author: shade Date: 2020-03-13 13:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/367b1f73904c 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl Contributed-by: Aditya Mandaleeka ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 3179efca4758 Author: weijun Date: 2020-03-13 21:32 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3179efca4758 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 3ab7a06ba381 Author: pliden Date: 2020-03-13 14:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3ab7a06ba381 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: 8e9261c404fc Author: vromero Date: 2020-03-13 10:29 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8e9261c404fc 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 59de2958df85 Author: redestad Date: 2020-03-13 15:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/59de2958df85 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 3ac1c2ef94e2 Author: redestad Date: 2020-03-13 18:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3ac1c2ef94e2 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: 5e0d9f0b1029 Author: jjg Date: 2020-03-13 10:57 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5e0d9f0b1029 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.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/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: dc1cf3a5d7db Author: joehw Date: 2020-03-13 19:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dc1cf3a5d7db 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java Changeset: 24d342c838fb Author: amenkov Date: 2020-03-13 12:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/24d342c838fb 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 10f11578b1f4 Author: kbarrett Date: 2020-03-13 15:36 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/10f11578b1f4 8239825: G1: Simplify threshold test for mutator refinement Summary: Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 332ee3137fb8 Author: darcy Date: 2020-03-14 09:53 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/332ee3137fb8 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: 0d7a66c27369 Author: vromero Date: 2020-03-14 17:08 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0d7a66c27369 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 981b5a0c43da Author: ngasson Date: 2020-03-16 10:51 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/981b5a0c43da 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 59b5bd9a7168 Author: dholmes Date: 2020-03-16 02:16 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/59b5bd9a7168 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 4eaf6922273a Author: jlahoda Date: 2020-03-16 13:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4eaf6922273a 8240964: Compilation error thrown when long literal used with yield Summary: Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 80eaef8e3e60 Author: eosterlund Date: 2020-03-16 12:27 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/80eaef8e3e60 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: d25079af1459 Author: jiefu Date: 2020-03-16 22:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d25079af1459 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 500f99ff1921 Author: naoto Date: 2020-03-16 09:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/500f99ff1921 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 42b62267498d Author: eosterlund Date: 2020-03-16 17:13 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/42b62267498d 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: da2fc44fd45f Author: zgu Date: 2020-02-25 12:01 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/da2fc44fd45f 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: cc3c165659bf Author: mbaesken Date: 2020-03-17 08:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cc3c165659bf 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: daed0d4ec02d Author: redestad Date: 2020-03-17 09:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/daed0d4ec02d 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 56e78301b358 Author: rkennke Date: 2020-03-17 11:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/56e78301b358 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: a4e2fc916323 Author: aph Date: 2020-03-16 17:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a4e2fc916323 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 0daa6b52ba56 Author: aph Date: 2020-03-17 14:13 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0daa6b52ba56 Merge Changeset: 0a2e12c3e6e3 Author: kvn Date: 2020-03-17 10:38 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0a2e12c3e6e3 8240976: [JVMCI] MethodProfileWidth flag is broken Summary: remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: b5237a11d0dc Author: redestad Date: 2020-03-05 16:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b5237a11d0dc 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 157a7e7033d9 Author: kvn Date: 2020-03-17 12:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/157a7e7033d9 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Summary: limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: 86af236fbd89 Author: kvn Date: 2020-03-17 14:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/86af236fbd89 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn Contributed-by: Charlie Gracie ! src/hotspot/share/opto/parse.hpp Changeset: 988822b06767 Author: dholmes Date: 2020-03-17 19:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/988822b06767 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: dd9eb63b5d3e Author: dholmes Date: 2020-03-17 20:54 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dd9eb63b5d3e 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: d6ae5212211f Author: cjplummer Date: 2020-03-17 18:04 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6ae5212211f 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 824e6b7c5bcf Author: weijun Date: 2020-03-18 09:23 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/824e6b7c5bcf 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan Contributed-by: Hai-May Chao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: f40aa9beb326 Author: naoto Date: 2020-03-17 19:11 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f40aa9beb326 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: 82d11846109a Author: shade Date: 2020-03-18 06:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/82d11846109a 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 5df90c29762d Author: igerasim Date: 2020-03-18 01:04 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5df90c29762d 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: 5c47c5d72003 Author: itakiguchi Date: 2020-03-18 18:04 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5c47c5d72003 8232161: Align some one-way conversion in MS950 charset with Windows Summary: MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: 6c954123ee8d Author: jwilhelm Date: 2020-03-18 10:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6c954123ee8d Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: dc7e9cde760e Author: jwilhelm Date: 2020-03-18 10:41 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dc7e9cde760e Merge ! .hgtags Changeset: 743c9071c317 Author: mgronlun Date: 2020-03-18 12:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/743c9071c317 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp Contributed-by: Tony Printezis ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: a6203123a1e2 Author: mseledtsov Date: 2020-03-18 09:45 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a6203123a1e2 8241033: Create test library utility for getting JFR streaming repository Summary: New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: a25184d6d8a5 Author: cjplummer Date: 2020-03-18 10:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a25184d6d8a5 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: ed0ecde93aaa Author: cjplummer Date: 2020-03-18 10:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed0ecde93aaa 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 4674b84fc29b Author: dtitov Date: 2020-03-18 11:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4674b84fc29b 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: f22610867eb4 Author: shade Date: 2020-03-18 19:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f22610867eb4 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 79a40801d56f Author: vromero Date: 2020-03-18 14:33 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/79a40801d56f 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: acce42fd27a7 Author: dnsimon Date: 2020-03-18 13:11 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/acce42fd27a7 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: dd555adfac9c Author: cjplummer Date: 2020-03-18 13:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dd555adfac9c 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 5cc3cb873e98 Author: jjg Date: 2020-03-18 13:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5cc3cb873e98 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! 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/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.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/ClassWriterImpl.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/Headings.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.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/SourceToHTMLConverter.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/SubWriterHolderWriter.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/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.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/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 82b7c62cf4cc Author: jjg Date: 2020-03-18 13:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/82b7c62cf4cc Merge Changeset: c518832a21ec Author: rkennke Date: 2020-03-25 17:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c518832a21ec Merge ! .hgtags ! make/autoconf/hotspot.m4 ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/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/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/methodHandles_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/linux/os_linux.cpp ! 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/adlc/output_c.cpp ! src/hotspot/share/c1/c1_LIR.cpp ! src/hotspot/share/c1/c1_LIR.hpp ! src/hotspot/share/c1/c1_LIRAssembler.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/tieredThresholdPolicy.cpp ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shared/taskqueue.cpp ! src/hotspot/share/gc/shared/taskqueue.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/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/shenandoahArguments.cpp ! 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/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/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/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oopsHierarchy.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/block.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! 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/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.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/vmOperations.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/options/TestCodeCacheRootStyles.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/libdefine.cpp From rkennke at redhat.com Wed Mar 25 19:34:10 2020 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 25 Mar 2020 20:34:10 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> Message-ID: Hi Aleksey, >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ > > *) Feels like this cast: > > 1578 if (((ShenandoahEnqueueBarrierNode*)barrier)->can_eliminate(phase)) { > > ...should be done when we poll the node a few lines above? > 1573 Node* barrier = state->enqueue_barrier(i); Indeed. And it doesn't require a cast there! :-) > *) "test_heap_stable" is misleading name now. "test_heap_state"? You already "assert > is_heap_state_test". Right. Changed that. > *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic > optimization? It seems good by itself to test for this instead of falling through for > evac/update-refs? (Actually, what checks for *that* in the old code?) I believe you're confusing the enqueue-barrier with the LRB here. EQ-barriers are only relevant during marking (and traversal). > It is good for sh/jdk sandbox. Please make sure you don't use bug ID when pushing there, so that > history would separate this prototype and the actual upstream change? Yes, will do. Thanks, Roman From zgu at redhat.com Wed Mar 25 20:41:03 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 25 Mar 2020 16:41:03 -0400 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <23db1b14-175e-b0df-5479-3e58f2d9e654@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> <51198558-6524-a40e-99bf-210779a69748@redhat.com> <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> <23db1b14-175e-b0df-5479-3e58f2d9e654@redhat.com> Message-ID: <4d5757af-e190-9942-de4d-3fc2436f0e21@redhat.com> On 3/25/20 2:20 PM, Aleksey Shipilev wrote: > On 3/25/20 1:17 PM, Zhengyu Gu wrote: >> What our next release is based on? > > April: 11.0.7 > July: 11.0.8 > > We are currently in deep stabilizing for April release. > >> If 11.0.7, we should consider backport both. > > Yes. But I think for 11.0.8. > > 8237396 can be picked up to sh/jdk11, but we would need to protect it with UseShenandoahGC and > maintain the upstream behavior without Shenandoah. It is too risky at this point otherwise. > How about: http://cr.openjdk.java.net/~zgu/shenandoah/sh11u-jvmti/webrev.00/ 100 inline oop object_raw() { 101 if (UseShenandoahGC) { 102 return RawAccess<>::oop_load(object_addr()); 103 } else { 104 return object_peek(); 105 } 106 } -Zhengyu From shade at redhat.com Thu Mar 26 05:28:00 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 06:28:00 +0100 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <4d5757af-e190-9942-de4d-3fc2436f0e21@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> <51198558-6524-a40e-99bf-210779a69748@redhat.com> <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> <23db1b14-175e-b0df-5479-3e58f2d9e654@redhat.com> <4d5757af-e190-9942-de4d-3fc2436f0e21@redhat.com> Message-ID: <7d320a25-f308-7ebf-6042-9fa8e7de8e69@redhat.com> On 3/25/20 9:41 PM, Zhengyu Gu wrote: > On 3/25/20 2:20 PM, Aleksey Shipilev wrote: >> On 3/25/20 1:17 PM, Zhengyu Gu wrote: >>> What our next release is based on? >> >> April: 11.0.7 >> July: 11.0.8 >> >> We are currently in deep stabilizing for April release. >> >>> If 11.0.7, we should consider backport both. >> >> Yes. But I think for 11.0.8. >> >> 8237396 can be picked up to sh/jdk11, but we would need to protect it with UseShenandoahGC and >> maintain the upstream behavior without Shenandoah. It is too risky at this point otherwise. >> > > How about: > > http://cr.openjdk.java.net/~zgu/shenandoah/sh11u-jvmti/webrev.00/ > > 100 inline oop object_raw() { > 101 if (UseShenandoahGC) { > 102 return RawAccess<>::oop_load(object_addr()); > 103 } else { > 104 return object_peek(); > 105 } > 106 } That might work. Needs a comment saying this is the variant of 8237396. But generally, I think you are too late for April release for either 8237396 or 8237632. RC was there for weeks already [1], the backports should have been done way before today. At this point, 8237396 or 8237632 do not look critical enough to risk destabilizing the release, and/or warrant more emergency work after the last pre-CPU tag is pushed [2]. Push these the first thing in 11.0.8, once it is open? -- Thanks, -Aleksey [1] https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/011622.html [2] https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-Marc From shade at redhat.com Thu Mar 26 05:35:12 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 06:35:12 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> Message-ID: <1204a65d-9874-b1c2-2990-570c660e52ad@redhat.com> On 3/25/20 8:34 PM, Roman Kennke wrote: >>> Webrev: >>> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >> >> *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic >> optimization? It seems good by itself to test for this instead of falling through for >> evac/update-refs? (Actually, what checks for *that* in the old code?) > > I believe you're confusing the enqueue-barrier with the LRB here. > EQ-barriers are only relevant during marking (and traversal). No, I am not. Look here in EQ barrier expansion: // Stable path. - test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase); + test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase, ShenandoahHeap::TRAVERSAL | ShenandoahHeap::MARKING); region->init_req(_heap_stable, heap_stable_ctrl); phi->init_req(_heap_stable, raw_mem); In current code, EQ fastpath tests test_heap_stable (HAS_FORWARDED). In your patch, it now tests for test_heap_state(TRAVERSAL|MARKING). Yes, EQ barriers are only relevant during marking/traversal, so that must mean that _current code_ does test_heap_stable(HAS_FORWARDED) either incorrectly, or inefficiently. This looks irrelevant to what aggressive reference discovery does? -- Thanks, -Aleksey From shade at redhat.com Thu Mar 26 07:51:13 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 08:51:13 +0100 Subject: [14] RFR (S) 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Message-ID: Original RFE: https://bugs.openjdk.java.net/browse/JDK-8240948 https://hg.openjdk.java.net/jdk/jdk/rev/61f6c19d1a56 The context is a bit different in 14. 14u webrev: https://cr.openjdk.java.net/~shade/8240948/webrev.14u.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 26 08:49:35 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 09:49:35 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: <1204a65d-9874-b1c2-2990-570c660e52ad@redhat.com> References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> <1204a65d-9874-b1c2-2990-570c660e52ad@redhat.com> Message-ID: <8860408d-b5f1-b8c9-d769-22715de41f0b@redhat.com> Am 26.03.20 um 06:35 schrieb Aleksey Shipilev: > On 3/25/20 8:34 PM, Roman Kennke wrote: >>>> Webrev: >>>> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >>> >>> *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic >>> optimization? It seems good by itself to test for this instead of falling through for >>> evac/update-refs? (Actually, what checks for *that* in the old code?) >> >> I believe you're confusing the enqueue-barrier with the LRB here. >> EQ-barriers are only relevant during marking (and traversal). > > No, I am not. > > Look here in EQ barrier expansion: > > // Stable path. > - test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase); > + test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase, ShenandoahHeap::TRAVERSAL | > ShenandoahHeap::MARKING); > region->init_req(_heap_stable, heap_stable_ctrl); > phi->init_req(_heap_stable, raw_mem); > > > In current code, EQ fastpath tests test_heap_stable (HAS_FORWARDED). In your patch, it now tests for > test_heap_state(TRAVERSAL|MARKING). Yes, EQ barriers are only relevant during marking/traversal, so > that must mean that _current code_ does test_heap_stable(HAS_FORWARDED) either incorrectly, or > inefficiently. > > This looks irrelevant to what aggressive reference discovery does? Ah. Previously, we only used ShenandoahEnqueueBarrierNode with Traversal GC. There is only one phase, so the test for HAS_FORWARDED was actually testing for TRAVERSAL, but we took a short-cut there. Now we also use it for concurrent marking, so I couldn't take this short-cut anymore. The new code is correct. Yes? Thanks, Roman From shade at redhat.com Thu Mar 26 09:14:08 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 10:14:08 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: <8860408d-b5f1-b8c9-d769-22715de41f0b@redhat.com> References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> <1204a65d-9874-b1c2-2990-570c660e52ad@redhat.com> <8860408d-b5f1-b8c9-d769-22715de41f0b@redhat.com> Message-ID: On 3/26/20 9:49 AM, Roman Kennke wrote: > Am 26.03.20 um 06:35 schrieb Aleksey Shipilev: >> On 3/25/20 8:34 PM, Roman Kennke wrote: >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >>>> >>>> *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic >>>> optimization? It seems good by itself to test for this instead of falling through for >>>> evac/update-refs? (Actually, what checks for *that* in the old code?) >>> >>> I believe you're confusing the enqueue-barrier with the LRB here. >>> EQ-barriers are only relevant during marking (and traversal). >> >> No, I am not. >> >> Look here in EQ barrier expansion: >> >> // Stable path. >> - test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase); >> + test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase, ShenandoahHeap::TRAVERSAL | >> ShenandoahHeap::MARKING); >> region->init_req(_heap_stable, heap_stable_ctrl); >> phi->init_req(_heap_stable, raw_mem); >> >> >> In current code, EQ fastpath tests test_heap_stable (HAS_FORWARDED). In your patch, it now tests for >> test_heap_state(TRAVERSAL|MARKING). Yes, EQ barriers are only relevant during marking/traversal, so >> that must mean that _current code_ does test_heap_stable(HAS_FORWARDED) either incorrectly, or >> inefficiently. >> >> This looks irrelevant to what aggressive reference discovery does? > > Ah. Previously, we only used ShenandoahEnqueueBarrierNode with Traversal > GC. There is only one phase, so the test for HAS_FORWARDED was actually > testing for TRAVERSAL, but we took a short-cut there. Now we also use it > for concurrent marking, so I couldn't take this short-cut anymore. The > new code is correct. > > Yes? Ah, okay, that makes much more sense. -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 26 09:35:50 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 10:35:50 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> <1204a65d-9874-b1c2-2990-570c660e52ad@redhat.com> <8860408d-b5f1-b8c9-d769-22715de41f0b@redhat.com> Message-ID: Am 26.03.20 um 10:14 schrieb Aleksey Shipilev: > On 3/26/20 9:49 AM, Roman Kennke wrote: >> Am 26.03.20 um 06:35 schrieb Aleksey Shipilev: >>> On 3/25/20 8:34 PM, Roman Kennke wrote: >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >>>>> >>>>> *) I actually wonder if checking for TRAVERSAL|MARKING should be done as another generic >>>>> optimization? It seems good by itself to test for this instead of falling through for >>>>> evac/update-refs? (Actually, what checks for *that* in the old code?) >>>> >>>> I believe you're confusing the enqueue-barrier with the LRB here. >>>> EQ-barriers are only relevant during marking (and traversal). >>> >>> No, I am not. >>> >>> Look here in EQ barrier expansion: >>> >>> // Stable path. >>> - test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase); >>> + test_heap_stable(ctrl, raw_mem, heap_stable_ctrl, phase, ShenandoahHeap::TRAVERSAL | >>> ShenandoahHeap::MARKING); >>> region->init_req(_heap_stable, heap_stable_ctrl); >>> phi->init_req(_heap_stable, raw_mem); >>> >>> >>> In current code, EQ fastpath tests test_heap_stable (HAS_FORWARDED). In your patch, it now tests for >>> test_heap_state(TRAVERSAL|MARKING). Yes, EQ barriers are only relevant during marking/traversal, so >>> that must mean that _current code_ does test_heap_stable(HAS_FORWARDED) either incorrectly, or >>> inefficiently. >>> >>> This looks irrelevant to what aggressive reference discovery does? >> >> Ah. Previously, we only used ShenandoahEnqueueBarrierNode with Traversal >> GC. There is only one phase, so the test for HAS_FORWARDED was actually >> testing for TRAVERSAL, but we took a short-cut there. Now we also use it >> for concurrent marking, so I couldn't take this short-cut anymore. The >> new code is correct. >> >> Yes? > > Ah, okay, that makes much more sense. Thanks! I pushed the change to shenandoah/jdk. Roman From rkennke at redhat.com Thu Mar 26 09:33:16 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Thu, 26 Mar 2020 09:33:16 +0000 Subject: hg: shenandoah/jdk: Shenandoah: More aggressive reference discovery Message-ID: <202003260933.02Q9XGPB009434@aojmv0008.oracle.com> Changeset: 87250a60e9e5 Author: rkennke Date: 2020-03-26 10:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/87250a60e9e5 Shenandoah: More aggressive reference discovery ! 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/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp + test/hotspot/jtreg/gc/shenandoah/TestWeakReferenceChurn.java From zgu at redhat.com Thu Mar 26 12:00:40 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 26 Mar 2020 08:00:40 -0400 Subject: [sh/11] 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata In-Reply-To: <7d320a25-f308-7ebf-6042-9fa8e7de8e69@redhat.com> References: <824ab9f8-7269-5c4c-fbe3-e85bb6a323ca@redhat.com> <0ad95655-a7af-e1e0-b6fd-682a939dd354@redhat.com> <51198558-6524-a40e-99bf-210779a69748@redhat.com> <625814b6-c3a5-1817-974a-ddddd8f606eb@redhat.com> <23db1b14-175e-b0df-5479-3e58f2d9e654@redhat.com> <4d5757af-e190-9942-de4d-3fc2436f0e21@redhat.com> <7d320a25-f308-7ebf-6042-9fa8e7de8e69@redhat.com> Message-ID: <1154ff82-0785-3705-6952-c0a98d070237@redhat.com> On 3/26/20 1:28 AM, Aleksey Shipilev wrote: > On 3/25/20 9:41 PM, Zhengyu Gu wrote: >> On 3/25/20 2:20 PM, Aleksey Shipilev wrote: >>> On 3/25/20 1:17 PM, Zhengyu Gu wrote: >>>> What our next release is based on? >>> >>> April: 11.0.7 >>> July: 11.0.8 >>> >>> We are currently in deep stabilizing for April release. >>> >>>> If 11.0.7, we should consider backport both. >>> >>> Yes. But I think for 11.0.8. >>> >>> 8237396 can be picked up to sh/jdk11, but we would need to protect it with UseShenandoahGC and >>> maintain the upstream behavior without Shenandoah. It is too risky at this point otherwise. >>> >> >> How about: >> >> http://cr.openjdk.java.net/~zgu/shenandoah/sh11u-jvmti/webrev.00/ >> >> 100 inline oop object_raw() { >> 101 if (UseShenandoahGC) { >> 102 return RawAccess<>::oop_load(object_addr()); >> 103 } else { >> 104 return object_peek(); >> 105 } >> 106 } > > That might work. Needs a comment saying this is the variant of 8237396. > > But generally, I think you are too late for April release for either 8237396 or 8237632. RC was > there for weeks already [1], the backports should have been done way before today. At this point, > 8237396 or 8237632 do not look critical enough to risk destabilizing the release, and/or warrant > more emergency work after the last pre-CPU tag is pushed [2]. Push these the first thing in 11.0.8, > once it is open? Okay. Given it is JVMTI specific, not an urgent one. -Zhengyu > From shade at redhat.com Thu Mar 26 12:03:42 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 13:03:42 +0100 Subject: RFR (S) 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace Message-ID: <526e97cc-db3d-206a-573a-fad85b592703@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241668 This is similar to what G1 did in the relevant cleanup (JDK-8189737). There is no reason to carry the cruft from ContiguousSpace superclass, when we just need to pull down a few fields and auxiliary methods from there. sizeof(ShenandoahHeapRegion) went down from 328 to 264 bytes. Webrev: https://cr.openjdk.java.net/~shade/8241668/webrev.01/ Testing: hotspot_gc_shenandoah, serviceability/sa with Shenandoah -- Thanks, -Aleksey From erik.osterlund at oracle.com Thu Mar 26 12:20:21 2020 From: erik.osterlund at oracle.com (=?UTF-8?Q?Erik_=c3=96sterlund?=) Date: Thu, 26 Mar 2020 13:20:21 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> Message-ID: <01180752-4ec9-5777-d35a-5829472cb890@oracle.com> Hi Roman, First of all, interesting idea. Thanks for sharing your thoughts. I would however like to share some conceptual concerns. The patch has some flaws that needs further consideration. The core assumption that is wrong is that if there are no stores/returns exposing the referent, then it is safe to elide the keep-alive barrier. This is not true. Listing a selection of concerns/bugs here: 1) What the compiler proves can't happen, can always suddenly happen, due to class redefinition. So any idea utilizing compiler proof of what paths can be taken, always need to be backed up by fall-back paths when the optimization eventually gets proven wrong. Let's have a look at this trivial example: void A(List references) { ? for (var ref: references) { ??? Object local = ref.get(); ??? for (int i = 0; i < 10000; ++i) ( ????? B(local); ????? // safepoint poll with local being live ??? } ? } } void B(Object referent) { ? if (referent == System.out) { ??? System.out.println("I like fish. They swim. Blub blub."); ? } } Assume that we compile A, inlining B. The compiler can now prove that the referent doesn't escape. However, we then hit a safepoint in A, and in that safepoint, B is redefined to do this: void B(Object referent) { ? globalList.add(referent); } What will happen now is that the nmethod of A (and B inlined) gets deoptimized. Once execution starts, the deopt handler will run, transferring the state (including the local) over to the interpreter, and in the interpreted version of B, the referent illegally escapes, eventually causing heap corruption, as subsequent remarks will not see the escaped local. 2) Even without class redefinition changing the logic that the compiler proved had no escaping referents through stores, stack walkers can expose locals at any safepoint poll. So in the above example, a stack walker can expose the local to other Java code, which attaches it to the object graph, without ever marking it, again causing heap corruption. Because of this, stack walkers and deoptimization logic needs to keep everything they see in the stack alive, or things will break in subtle ways that are not fun to debug. 3) The analysis needs to also consider not just exposing of the referent, but exposure of anything transitively reachable from the object graph under the referent. If you load the referent, which is a wrapper object, then load the contents of the wrapper, and expose that to the object graph, then that will similarly break, even though the referent itself was never exposed. I can't see that your analysis catches that (LoadP with an AddP with the referent as base, and transitively performing the analysis on that) 4) Even then, there are more problems, involving class unloading. It is not just the object (and its transitive closure) you need to consider w.r.t. whether to keep it alive or not, but implicitly transitively also its class, and the classes of everything transitively reachable from the referent, which is now ignored. For example, if someone calls referent.(chain_of_objects).getClass(), then you can expose classes that have not been kept alive, as your strong native barriers do not keep things alive, AFAICT. 5) Classes are implicitly used when code is run from its class holder, and there are a few ways in which this could go wrong. The nmethod entry barriers shields you against many of them (including speculative inlining of bytecodes from otherwise not kept alive Klass), but not all. For example, if such a transitive class under the referent is acquired, and passed as an argument to the interpreter, it can reflectively call methods without holding its class alive, causing various forms of failure modes crashing the JVM. 6) Sometimes the use of classes is even more subtle and implicit. Here is one example I can think of: Imagine that your referent performs a virtual call. It is found throuch CHA that there exists a single unique selected method (callee). Then it is inlined straight into the code, without any conditional checking that the klass pointer was right. An entry is created into the dependency context. But the class tracked in the dependency context is not the selected class (i.e. the one you inlined), but the base class, because that is the class that will get poked during class loading, to check when the CHA assumption fails in the future. So the dependency context does not track the callee method(). The oop finalization will not find any explicit mentions of this klass. It is just implicitly used. The only scenario in which we explicitly track inlined callees classes, is with the following code for class redefinition: ? // Always register dependence if JVMTI is enabled, because ? // either breakpoint setting or hotswapping of methods may ? // cause deoptimization. ? if (C->env()->jvmti_can_hotswap_or_post_breakpoint()) { ???? C->dependencies()->assert_evol_method(method()); ? } This dependency will create a metadata entry in the nmethod which is caught by the oop finalizer, and hence by your nmethod entry barriers. When jvmti_can_hotswap_or_post_breakpoint() is disabled, the callee holder is not tracked anywhere, because it is assumed that the receiver of such an inlined method call is live, which seems like a reasonable assumption. Now that this elision of keep-alive barriers is used, we enter a gateway to hell. In bytecodes of this not kept alive class loader, you can do lots of fun things, like allocating an object of a classin that class loader, or materialize constants from its static finals, that will not be caught by the GC.This results in objects with broken class pointers being allocated, and dead objects being attached to the object graph. From there on, it is game over. 7) I can imagine code involving method handles going wrong too. You can perform method handle calls through a referent, and the whole method handle call may get inlined. It tracks the holder through a MemberName. It is assumed that if you have a reference to the MemberName, it has a reference to the class holder, and hence it should be safe to execute its bytecodes. But when we start relaxing things such that this has not been kept alive, I can imagine such code blowing up in unexpected and obscure ways. It looks like nothing transitively reachable from the referent is being exposed in any way, and it looks like there are no calls, but inlined use of bytecodes of reachable metadata is an implicit side effect that exposes not the referent but just references to its transitively reachable class loaders, without there ever being an obvious store or side effect involving the referent or its transitive closure of objects or uses. This aside, I think there are many other fun assumptions made over the years about things being live, not listed above, implyingvarious subtle assumptions in our compilers. I would be quite wary of messing with that without a very careful lookinto all the things that can go wrong.Catching such bugs will be a nightmare. So given these various issues, are you still sure you want to continue down this path? If I were you, I think I would probably not perform this change.It gives me a migraine to think about the things that can go wrong, and I feel like I have just scratched the surface of it. I would be quite afraid of destabilizing. /Erik On 2020-03-25 18:29, Roman Kennke wrote: > Shenandoah uses SATB for concurrent marking, and thus needs to track > stores and explicitely make previous values grey. An exception to this > are (soft/weak/final) references: the reachability of referents can be > changed (from weak to strong) when a referent is accessed. For this > reason we require a keep-alive barrier which also makes referents grey > whenever they are accessed via Reference.get(). The downside of this is > if a workload churns weak-references (i.e. accesses them often) they > might never get a chance to be reclaimed. > > The key insight for improving the situation is that the change of > reachability of the referent is only relevant when that referent is > stored somewhere else. We can elide the keep-alive barrier, if the > compiler can prove that this doesn't happen. (We also need to check if > the referent leaves the scope of the method via method-call or return, > because it may be stored outside of the method.) The caveat here is that > we must do another scan of the threads' stacks at final-mark to catch > referents that are in a local variable at final-mark - we must not loose > those. However, according to my measurements, this is only a minor (if > any) regression in final-mark-latency. > > Issue: > https://bugs.openjdk.java.net/browse/JDK-8241605 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ > > Testing: hotspot_gc_shenandoah (including new testcase that verifies the > improved behaviour), manual tests, specjbb and specjvm runs > > I'd like to push this to shenandoah/jdk first, to give it a few more > rounds of testing before hitting mainline JDK. > > Ok? > > Roman > From rkennke at redhat.com Thu Mar 26 13:49:57 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 14:49:57 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: <01180752-4ec9-5777-d35a-5829472cb890@oracle.com> References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> <01180752-4ec9-5777-d35a-5829472cb890@oracle.com> Message-ID: Hi Erik, Thank you for sharing your thoughts. You are right. Some isses can (and already are) addressed, for example the barriers in debugInfo.cpp take care of exposure via deoptimization. I haven't checked the stackwalker, but I think it can be taken care of in a similar fashion. The main problem is indeed the exposure of objects that are transitively reachable from the referent (incl. classes). This can not be easily fixed. I'll withdraw the RFR. Thank you! Roman > Hi Roman, > > First of all, interesting idea. Thanks for sharing your thoughts. I > would however like to share > some conceptual concerns. The patch has some flaws that needs further > consideration. > The core assumption that is wrong is that if there are no stores/returns > exposing the referent, > then it is safe to elide the keep-alive barrier. This is not true. > > Listing a selection of concerns/bugs here: > > 1) What the compiler proves can't happen, can always suddenly happen, > due to class redefinition. > So any idea utilizing compiler proof of what paths can be taken, always > need to be backed up > by fall-back paths when the optimization eventually gets proven wrong. > Let's have a look at > this trivial example: > > void A(List references) { > ? for (var ref: references) { > ??? Object local = ref.get(); > ??? for (int i = 0; i < 10000; ++i) ( > ????? B(local); > ????? // safepoint poll with local being live > ??? } > ? } > } > > void B(Object referent) { > ? if (referent == System.out) { > ??? System.out.println("I like fish. They swim. Blub blub."); > ? } > } > > Assume that we compile A, inlining B. The compiler can now prove that > the referent doesn't escape. > However, we then hit a safepoint in A, and in that safepoint, B is > redefined to do this: > > void B(Object referent) { > ? globalList.add(referent); > } > > What will happen now is that the nmethod of A (and B inlined) gets > deoptimized. Once execution > starts, the deopt handler will run, transferring the state (including > the local) over to the > interpreter, and in the interpreted version of B, the referent illegally > escapes, eventually > causing heap corruption, as subsequent remarks will not see the escaped > local. > > 2) Even without class redefinition changing the logic that the compiler > proved had no escaping > referents through stores, stack walkers can expose locals at any > safepoint poll. So in the above > example, a stack walker can expose the local to other Java code, which > attaches it to the object > graph, without ever marking it, again causing heap corruption. > > Because of this, stack walkers and deoptimization logic needs to keep > everything they see in the > stack alive, or things will break in subtle ways that are not fun to debug. > > 3) The analysis needs to also consider not just exposing of the > referent, but exposure of anything > transitively reachable from the object graph under the referent. If you > load the referent, which is a > wrapper object, then load the contents of the wrapper, and expose that > to the object graph, then that > will similarly break, even though the referent itself was never exposed. > I can't see that your analysis > catches that (LoadP with an AddP with the referent as base, and > transitively performing the analysis on that) > > 4) Even then, there are more problems, involving class unloading. It is > not just the object (and its > transitive closure) you need to consider w.r.t. whether to keep it alive > or not, but implicitly > transitively also its class, and the classes of everything transitively > reachable from the referent, > which is now ignored. For example, if someone calls > referent.(chain_of_objects).getClass(), then you can > expose classes that have not been kept alive, as your strong native > barriers do not keep things alive, AFAICT. > > 5) Classes are implicitly used when code is run from its class holder, > and there are a few ways in > which this could go wrong. The nmethod entry barriers shields you > against many of them (including > speculative inlining of bytecodes from otherwise not kept alive Klass), > but not all. > For example, if such a transitive class under the referent is acquired, > and passed as an argument > to the interpreter, it can reflectively call methods without holding its > class alive, causing various > forms of failure modes crashing the JVM. > > 6) Sometimes the use of classes is even more subtle and implicit. Here > is one example I can think of: > Imagine that your referent performs a virtual call. It is found throuch > CHA that there exists a single > unique selected method (callee). Then it is inlined straight into the > code, without any conditional checking > that the klass pointer was right. An entry is created into the > dependency context. But the class tracked > in the dependency context is not the selected class (i.e. the one you > inlined), but the base class, > because that is the class that will get poked during class loading, to > check when the CHA assumption > fails in the future. So the dependency context does not track the callee > method(). The oop finalization > will not find any explicit mentions of this klass. It is just implicitly > used. The only scenario in which > we explicitly track inlined callees classes, is with the following code > for class redefinition: > > ? // Always register dependence if JVMTI is enabled, because > ? // either breakpoint setting or hotswapping of methods may > ? // cause deoptimization. > ? if (C->env()->jvmti_can_hotswap_or_post_breakpoint()) { > ???? C->dependencies()->assert_evol_method(method()); > ? } > > This dependency will create a metadata entry in the nmethod which is > caught by the oop finalizer, and > hence by your nmethod entry barriers. When > jvmti_can_hotswap_or_post_breakpoint() is disabled, the callee holder > is not tracked anywhere, because it is assumed that the receiver of such > an inlined method call is live, > which seems like a reasonable assumption. Now that this elision of > keep-alive barriers is used, we enter a > gateway to hell. In bytecodes of this not kept alive class loader, you > can do lots of fun things, like > allocating an object of a classin that class loader, or materialize > constants from its static finals, > that will not be caught by the GC.This results in objects with broken > class pointers being allocated, > and dead objects being attached to the object graph. From there on, it > is game over. > > 7) I can imagine code involving method handles going wrong too. You can > perform method handle calls through > a referent, and the whole method handle call may get inlined. It tracks > the holder through a MemberName. > It is assumed that if you have a reference to the MemberName, it has a > reference to the class holder, and > hence it should be safe to execute its bytecodes. But when we start > relaxing things such that this has not > been kept alive, I can imagine such code blowing up in unexpected and > obscure ways. It looks like nothing > transitively reachable from the referent is being exposed in any way, > and it looks like there are no calls, > but inlined use of bytecodes of reachable metadata is an implicit side > effect that exposes not the referent > but just references to its transitively reachable class loaders, without > there ever being an obvious store > or side effect involving the referent or its transitive closure of > objects or uses. > > This aside, I think there are many other fun assumptions made over the > years about things being live, not > listed above, implyingvarious subtle assumptions in our compilers. I > would be quite wary of messing with > that without a very careful lookinto all the things that can go > wrong.Catching such bugs will be a nightmare. > > So given these various issues, are you still sure you want to continue > down this path? If I were you, I > think I would probably not perform this change.It gives me a migraine to > think about the things that can > go wrong, and I feel like I have just scratched the surface of it. I > would be quite afraid of destabilizing. > > /Erik > > On 2020-03-25 18:29, Roman Kennke wrote: >> Shenandoah uses SATB for concurrent marking, and thus needs to track >> stores and explicitely make previous values grey. An exception to this >> are (soft/weak/final) references: the reachability of referents can be >> changed (from weak to strong) when a referent is accessed. For this >> reason we require a keep-alive barrier which also makes referents grey >> whenever they are accessed via Reference.get(). The downside of this is >> if a workload churns weak-references (i.e. accesses them often) they >> might never get a chance to be reclaimed. >> >> The key insight for improving the situation is that the change of >> reachability of the referent is only relevant when that referent is >> stored somewhere else. We can elide the keep-alive barrier, if the >> compiler can prove that this doesn't happen. (We also need to check if >> the referent leaves the scope of the method via method-call or return, >> because it may be stored outside of the method.) The caveat here is that >> we must do another scan of the threads' stacks at final-mark to catch >> referents that are in a local variable at final-mark - we must not loose >> those. However, according to my measurements, this is only a minor (if >> any) regression in final-mark-latency. >> >> Issue: >> https://bugs.openjdk.java.net/browse/JDK-8241605 >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >> >> Testing: hotspot_gc_shenandoah (including new testcase that verifies the >> improved behaviour), manual tests, specjbb and specjvm runs >> >> I'd like to push this to shenandoah/jdk first, to give it a few more >> rounds of testing before hitting mainline JDK. >> >> Ok? >> >> Roman >> > From shade at redhat.com Thu Mar 26 14:25:01 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 15:25:01 +0100 Subject: RFR (S) 8241673: Shenandoah: refactor anti-false-sharing padding Message-ID: <4e8270b6-c068-366d-ccc3-2113535d120f@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241673 Webrev: https://cr.openjdk.java.net/~shade/8241673/webrev.01/ Together with the cleanup, it drops the padding size to 64 bytes, thus optimizing footprint. sizeof(ShenandoahHeapRegion) drops from 264 to 200 bytes. Init/final mark pauses that deal with lots of regions are improving for about 50us each. Testing: hotspot_gc_shenandoah; eyeballing gc-stats from stress runs; benchmarks (running) -- Thanks, -Aleksey From erik.osterlund at oracle.com Thu Mar 26 15:21:29 2020 From: erik.osterlund at oracle.com (=?UTF-8?Q?Erik_=c3=96sterlund?=) Date: Thu, 26 Mar 2020 16:21:29 +0100 Subject: RFR: 8241605: Shenandoah: More aggressive reference discovery In-Reply-To: References: <35ce7d76-02c7-ebc6-a98d-57a14ba35b7a@redhat.com> <01180752-4ec9-5777-d35a-5829472cb890@oracle.com> Message-ID: <3fa7b4d3-5e36-320f-c51d-5cfd98a5354c@oracle.com> Hi Roman, For the record, the barriers in debugInfo.cpp are for locals materialized through nmethod oops. That is not the problem I talked about. It is locals on-stack. You do indeed apply barriers when deoptimizing on said locals. It eventually goes through a shared stack walking API in stackValue.cpp, where we see the following code protecting oops loads from the stack: #if INCLUDE_SHENANDOAHGC ????? if (UseShenandoahGC) { ??????? val = ShenandoahBarrierSet::barrier_set()->load_reference_barrier(val); ????? } #endif This function seems to take care of relocation, but not keeping things alive. I'm guessing it is presumed that things on-stack should already be live. ;) On a related note... note that this also implies that if youdeoptimize between a referent load and its keep-alive barrier, you will expose broken objectsto the object graph, as nothing keeps that alive. This comprises part of the reason we don'twant to allow the compiler to put safepoints between loads and their load barriers. This problembecomes a million times worse when you have concurrent reference processing, as you can't knowthe strength used to load the referent, and depending on the strength, the stack fixup code needsto change the value to different things. Before we switched over to our super late barrierexpansion, there were still a number of scenarios causing safepoints to float in between loads and theirbarriers. I would be concerned about that, because I don't believe anything has changed. It's just very hard to find the bugs. Anyway, thank you for withdrawing the RFR. Thanks, /Erik On 2020-03-26 14:49, Roman Kennke wrote: > Hi Erik, > > Thank you for sharing your thoughts. > > You are right. Some isses can (and already are) addressed, for example > the barriers in debugInfo.cpp take care of exposure via deoptimization. > I haven't checked the stackwalker, but I think it can be taken care of > in a similar fashion. > > The main problem is indeed the exposure of objects that are transitively > reachable from the referent (incl. classes). This can not be easily fixed. > > I'll withdraw the RFR. > > Thank you! > Roman > > >> Hi Roman, >> >> First of all, interesting idea. Thanks for sharing your thoughts. I >> would however like to share >> some conceptual concerns. The patch has some flaws that needs further >> consideration. >> The core assumption that is wrong is that if there are no stores/returns >> exposing the referent, >> then it is safe to elide the keep-alive barrier. This is not true. >> >> Listing a selection of concerns/bugs here: >> >> 1) What the compiler proves can't happen, can always suddenly happen, >> due to class redefinition. >> So any idea utilizing compiler proof of what paths can be taken, always >> need to be backed up >> by fall-back paths when the optimization eventually gets proven wrong. >> Let's have a look at >> this trivial example: >> >> void A(List references) { >> ? for (var ref: references) { >> ??? Object local = ref.get(); >> ??? for (int i = 0; i < 10000; ++i) ( >> ????? B(local); >> ????? // safepoint poll with local being live >> ??? } >> ? } >> } >> >> void B(Object referent) { >> ? if (referent == System.out) { >> ??? System.out.println("I like fish. They swim. Blub blub."); >> ? } >> } >> >> Assume that we compile A, inlining B. The compiler can now prove that >> the referent doesn't escape. >> However, we then hit a safepoint in A, and in that safepoint, B is >> redefined to do this: >> >> void B(Object referent) { >> ? globalList.add(referent); >> } >> >> What will happen now is that the nmethod of A (and B inlined) gets >> deoptimized. Once execution >> starts, the deopt handler will run, transferring the state (including >> the local) over to the >> interpreter, and in the interpreted version of B, the referent illegally >> escapes, eventually >> causing heap corruption, as subsequent remarks will not see the escaped >> local. >> >> 2) Even without class redefinition changing the logic that the compiler >> proved had no escaping >> referents through stores, stack walkers can expose locals at any >> safepoint poll. So in the above >> example, a stack walker can expose the local to other Java code, which >> attaches it to the object >> graph, without ever marking it, again causing heap corruption. >> >> Because of this, stack walkers and deoptimization logic needs to keep >> everything they see in the >> stack alive, or things will break in subtle ways that are not fun to debug. >> >> 3) The analysis needs to also consider not just exposing of the >> referent, but exposure of anything >> transitively reachable from the object graph under the referent. If you >> load the referent, which is a >> wrapper object, then load the contents of the wrapper, and expose that >> to the object graph, then that >> will similarly break, even though the referent itself was never exposed. >> I can't see that your analysis >> catches that (LoadP with an AddP with the referent as base, and >> transitively performing the analysis on that) >> >> 4) Even then, there are more problems, involving class unloading. It is >> not just the object (and its >> transitive closure) you need to consider w.r.t. whether to keep it alive >> or not, but implicitly >> transitively also its class, and the classes of everything transitively >> reachable from the referent, >> which is now ignored. For example, if someone calls >> referent.(chain_of_objects).getClass(), then you can >> expose classes that have not been kept alive, as your strong native >> barriers do not keep things alive, AFAICT. >> >> 5) Classes are implicitly used when code is run from its class holder, >> and there are a few ways in >> which this could go wrong. The nmethod entry barriers shields you >> against many of them (including >> speculative inlining of bytecodes from otherwise not kept alive Klass), >> but not all. >> For example, if such a transitive class under the referent is acquired, >> and passed as an argument >> to the interpreter, it can reflectively call methods without holding its >> class alive, causing various >> forms of failure modes crashing the JVM. >> >> 6) Sometimes the use of classes is even more subtle and implicit. Here >> is one example I can think of: >> Imagine that your referent performs a virtual call. It is found throuch >> CHA that there exists a single >> unique selected method (callee). Then it is inlined straight into the >> code, without any conditional checking >> that the klass pointer was right. An entry is created into the >> dependency context. But the class tracked >> in the dependency context is not the selected class (i.e. the one you >> inlined), but the base class, >> because that is the class that will get poked during class loading, to >> check when the CHA assumption >> fails in the future. So the dependency context does not track the callee >> method(). The oop finalization >> will not find any explicit mentions of this klass. It is just implicitly >> used. The only scenario in which >> we explicitly track inlined callees classes, is with the following code >> for class redefinition: >> >> ? // Always register dependence if JVMTI is enabled, because >> ? // either breakpoint setting or hotswapping of methods may >> ? // cause deoptimization. >> ? if (C->env()->jvmti_can_hotswap_or_post_breakpoint()) { >> ???? C->dependencies()->assert_evol_method(method()); >> ? } >> >> This dependency will create a metadata entry in the nmethod which is >> caught by the oop finalizer, and >> hence by your nmethod entry barriers. When >> jvmti_can_hotswap_or_post_breakpoint() is disabled, the callee holder >> is not tracked anywhere, because it is assumed that the receiver of such >> an inlined method call is live, >> which seems like a reasonable assumption. Now that this elision of >> keep-alive barriers is used, we enter a >> gateway to hell. In bytecodes of this not kept alive class loader, you >> can do lots of fun things, like >> allocating an object of a classin that class loader, or materialize >> constants from its static finals, >> that will not be caught by the GC.This results in objects with broken >> class pointers being allocated, >> and dead objects being attached to the object graph. From there on, it >> is game over. >> >> 7) I can imagine code involving method handles going wrong too. You can >> perform method handle calls through >> a referent, and the whole method handle call may get inlined. It tracks >> the holder through a MemberName. >> It is assumed that if you have a reference to the MemberName, it has a >> reference to the class holder, and >> hence it should be safe to execute its bytecodes. But when we start >> relaxing things such that this has not >> been kept alive, I can imagine such code blowing up in unexpected and >> obscure ways. It looks like nothing >> transitively reachable from the referent is being exposed in any way, >> and it looks like there are no calls, >> but inlined use of bytecodes of reachable metadata is an implicit side >> effect that exposes not the referent >> but just references to its transitively reachable class loaders, without >> there ever being an obvious store >> or side effect involving the referent or its transitive closure of >> objects or uses. >> >> This aside, I think there are many other fun assumptions made over the >> years about things being live, not >> listed above, implyingvarious subtle assumptions in our compilers. I >> would be quite wary of messing with >> that without a very careful lookinto all the things that can go >> wrong.Catching such bugs will be a nightmare. >> >> So given these various issues, are you still sure you want to continue >> down this path? If I were you, I >> think I would probably not perform this change.It gives me a migraine to >> think about the things that can >> go wrong, and I feel like I have just scratched the surface of it. I >> would be quite afraid of destabilizing. >> >> /Erik >> >> On 2020-03-25 18:29, Roman Kennke wrote: >>> Shenandoah uses SATB for concurrent marking, and thus needs to track >>> stores and explicitely make previous values grey. An exception to this >>> are (soft/weak/final) references: the reachability of referents can be >>> changed (from weak to strong) when a referent is accessed. For this >>> reason we require a keep-alive barrier which also makes referents grey >>> whenever they are accessed via Reference.get(). The downside of this is >>> if a workload churns weak-references (i.e. accesses them often) they >>> might never get a chance to be reclaimed. >>> >>> The key insight for improving the situation is that the change of >>> reachability of the referent is only relevant when that referent is >>> stored somewhere else. We can elide the keep-alive barrier, if the >>> compiler can prove that this doesn't happen. (We also need to check if >>> the referent leaves the scope of the method via method-call or return, >>> because it may be stored outside of the method.) The caveat here is that >>> we must do another scan of the threads' stacks at final-mark to catch >>> referents that are in a local variable at final-mark - we must not loose >>> those. However, according to my measurements, this is only a minor (if >>> any) regression in final-mark-latency. >>> >>> Issue: >>> https://bugs.openjdk.java.net/browse/JDK-8241605 >>> Webrev: >>> http://cr.openjdk.java.net/~rkennke/JDK-8241605/webrev.00/ >>> >>> Testing: hotspot_gc_shenandoah (including new testcase that verifies the >>> improved behaviour), manual tests, specjbb and specjvm runs >>> >>> I'd like to push this to shenandoah/jdk first, to give it a few more >>> rounds of testing before hitting mainline JDK. >>> >>> Ok? >>> >>> Roman >>> From rwestrel at redhat.com Thu Mar 26 15:49:38 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 26 Mar 2020 16:49:38 +0100 Subject: RFR(S): 8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java Message-ID: <871rpff759.fsf@redhat.com> http://cr.openjdk.java.net/~roland/8241675/webrev.00/ When the LRB is expanded, raw memory around the barrier has to be correctly rewired. for this to happen regions that can be reached from the point where the barrier is expanded must have a raw memory Phi. There are cases where the new Phis will prove useless and optimize out. Current code has logic to not create Phis where they are expected to optimize out. This is done to save on compile time. That logic is broken and skips a region that shouldn't be skipped (an early exit from a loop). Rather than try to fix it, I propose dropping most of it. I ran specjvm2008 and looked at compile time with and without it and it doesn't seem to be affected or at least not in a way that appears to be significant compared to the overall compile time. Roland. From rkennke at redhat.com Thu Mar 26 17:04:59 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 18:04:59 +0100 Subject: RFR (S) 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace In-Reply-To: <526e97cc-db3d-206a-573a-fad85b592703@redhat.com> References: <526e97cc-db3d-206a-573a-fad85b592703@redhat.com> Message-ID: <044fc10e-e79e-884d-1fc2-fe550d33ee87@redhat.com> Hi Aleksey, Nice cleanup. I don't think we need block_start() block_size() and block_is_obj() (ShHeap and ShHeapRegion) for anything. Correct me if I'm wrong. Other than that, it looks good. Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241668 > > This is similar to what G1 did in the relevant cleanup (JDK-8189737). There is no reason to carry > the cruft from ContiguousSpace superclass, when we just need to pull down a few fields and auxiliary > methods from there. > > sizeof(ShenandoahHeapRegion) went down from 328 to 264 bytes. > > Webrev: > https://cr.openjdk.java.net/~shade/8241668/webrev.01/ > > Testing: hotspot_gc_shenandoah, serviceability/sa with Shenandoah > From rkennke at redhat.com Thu Mar 26 17:05:40 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 18:05:40 +0100 Subject: RFR (S) 8241673: Shenandoah: refactor anti-false-sharing padding In-Reply-To: <4e8270b6-c068-366d-ccc3-2113535d120f@redhat.com> References: <4e8270b6-c068-366d-ccc3-2113535d120f@redhat.com> Message-ID: Looks good. Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241673 > > Webrev: > https://cr.openjdk.java.net/~shade/8241673/webrev.01/ > > Together with the cleanup, it drops the padding size to 64 bytes, thus optimizing footprint. > sizeof(ShenandoahHeapRegion) drops from 264 to 200 bytes. Init/final mark pauses that deal with lots > of regions are improving for about 50us each. > > Testing: hotspot_gc_shenandoah; eyeballing gc-stats from stress runs; benchmarks (running) > From rkennke at redhat.com Thu Mar 26 17:07:35 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 18:07:35 +0100 Subject: RFR(S): 8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java In-Reply-To: <871rpff759.fsf@redhat.com> References: <871rpff759.fsf@redhat.com> Message-ID: Ok. Thank you! Roman > > http://cr.openjdk.java.net/~roland/8241675/webrev.00/ > > When the LRB is expanded, raw memory around the barrier has to be > correctly rewired. for this to happen regions that can be reached from > the point where the barrier is expanded must have a raw memory > Phi. There are cases where the new Phis will prove useless and optimize > out. Current code has logic to not create Phis where they are expected > to optimize out. This is done to save on compile time. That logic is > broken and skips a region that shouldn't be skipped (an early exit from > a loop). Rather than try to fix it, I propose dropping most of it. I ran > specjvm2008 and looked at compile time with and without it and it > doesn't seem to be affected or at least not in a way that appears to be > significant compared to the overall compile time. > > Roland. > From shade at redhat.com Thu Mar 26 17:12:25 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 18:12:25 +0100 Subject: RFR (S) 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace In-Reply-To: <044fc10e-e79e-884d-1fc2-fe550d33ee87@redhat.com> References: <526e97cc-db3d-206a-573a-fad85b592703@redhat.com> <044fc10e-e79e-884d-1fc2-fe550d33ee87@redhat.com> Message-ID: <7f8f8279-6797-a423-91f3-084129fee32d@redhat.com> On 3/26/20 6:04 PM, Roman Kennke wrote: > I don't think we need block_start() block_size() and block_is_obj() > (ShHeap and ShHeapRegion) for anything. Correct me if I'm wrong. We do need it: hs_err and verifier printing enters here. It is not obvious with templates, but you can follow it from ShenandoahHeap::print_location. -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 26 17:31:05 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 18:31:05 +0100 Subject: RFR (S) 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace In-Reply-To: <7f8f8279-6797-a423-91f3-084129fee32d@redhat.com> References: <526e97cc-db3d-206a-573a-fad85b592703@redhat.com> <044fc10e-e79e-884d-1fc2-fe550d33ee87@redhat.com> <7f8f8279-6797-a423-91f3-084129fee32d@redhat.com> Message-ID: <15ec2c48-4495-7cf1-b11f-fb8f0579ae69@redhat.com> >> I don't think we need block_start() block_size() and block_is_obj() >> (ShHeap and ShHeapRegion) for anything. Correct me if I'm wrong. > > We do need it: hs_err and verifier printing enters here. It is not obvious with templates, but you > can follow it from ShenandoahHeap::print_location. Eh. Ok then. I thought those are relics of when we tried to do heap iteration like serial GC (in ancient history). Good! Thanks, Roman From shade at redhat.com Thu Mar 26 18:20:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 26 Mar 2020 19:20:52 +0100 Subject: RFR (S) 8241692: Shenandoah: remove ShenandoahHeapRegion::_reserved Message-ID: <4fefe5f0-473b-8198-5192-e1de4e597479@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241692 Follow up from JDK-8241668: _reserved field is not actually needed, because we can just use bottom() and end() available. Saves 16 bytes per region. Webrev: https://cr.openjdk.java.net/~shade/8241692/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Thu Mar 26 21:01:13 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 22:01:13 +0100 Subject: RFR: 8241700: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier Message-ID: <65f50d36-95ff-e0ed-88f4-9b657f9015e5@redhat.com> Keep-alive of weak references and similar is strongly bound with SATB. There seems no reason to have two flags. Let's fold them and eliminate one flag. Bug: https://bugs.openjdk.java.net/browse/JDK-8241700 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8241700/webrev.00/ Testing: hotspot_gc_shenandoah Good? Roman From rodrigo.bruno at inf.ethz.ch Thu Mar 26 21:25:33 2020 From: rodrigo.bruno at inf.ethz.ch (Rodrigo Bruno) Date: Thu, 26 Mar 2020 22:25:33 +0100 Subject: Failed assert during VM_HeapWalkOperation Message-ID: Dear Shenandoah dev list, my name is Rodrigo, I am an ETH postdoc researcher, and my group currently has a project that involves using Shenandoah and tracing objects upon request by Java code (yes, many people will think this is a terrible idea... :-), I can explain if someone is interested...). We are using a slightly modified copy of the VM_HeapWalkOperation VM operation to trace objects starting for a particular initial object. However we started noticing failed asserts as soon as we introduced more load into the system (more allocations, leading to more GC effort). After some debugging, it turns out to be a load barrier check that fails during the VM_HeapWalkOperation because it i) sets the mark bits and ii) tries to resolve oops (triggering the barrier). For some reason, the gc state indicates that object headers should have the forwardee pointer in place and thus it fails. I saw that there is already an exception for this particular VM op but it does not cover this path. This failed assert can be reproduced using an unmodified JDK. I just tested it today by downloading [1], building, and creating a simple test which basically calls a JNI function that calls JVMTI FollowReferences. I can provide the sources to reproduce the failed assert. If I use -XX:ShenandoahGCMode=passive, no barriers are enabled and everything works fine. Dump file is attached. I think this might be a bug. Please let me know if you need any further information/help. cheers, rodrigo [1] http://hg.openjdk.java.net/shenandoah/jdk11 -- rodrigo-bruno.github.io From rkennke at redhat.com Thu Mar 26 21:40:12 2020 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 26 Mar 2020 22:40:12 +0100 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: References: Message-ID: Hello Rodrigo, > Dear Shenandoah dev list, > > my name is Rodrigo, I am an ETH postdoc researcher, and my group currently > has a project that involves using Shenandoah and tracing objects upon > request by Java code (yes, many people will think this is a terrible > idea... :-), I can explain if someone is interested...). > > We are using a slightly modified copy of the VM_HeapWalkOperation VM > operation to trace objects starting for a particular initial object. > However we started noticing failed asserts as soon as we introduced more > load into the system (more allocations, leading to more GC effort). > > After some debugging, it turns out to be a load barrier check that fails > during the VM_HeapWalkOperation because it i) sets the mark bits and ii) > tries to resolve oops (triggering the barrier). For some reason, the gc > state indicates that object headers should have the forwardee pointer in > place and thus it fails. I saw that there is already an exception for this > particular VM op but it does not cover this path. > > This failed assert can be reproduced using an unmodified JDK. I just tested > it today by downloading [1], building, and creating a simple test which > basically calls a JNI function that calls JVMTI FollowReferences. I can > provide the sources to reproduce the failed assert. If I > use -XX:ShenandoahGCMode=passive, no barriers are enabled and everything > works fine. Dump file is attached. > > I think this might be a bug. Please let me know if you need any further > information/help. This does indeed sound like a bug that we fixed recently: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/thread.html https://bugs.openjdk.java.net/browse/JDK-8237632 and https://bugs.openjdk.java.net/browse/JDK-8237396 Can you tell us which exact version you are using? The attachment has been stripped by the mailing list. Thank you, Roman From rodrigo.bruno at inf.ethz.ch Thu Mar 26 22:17:56 2020 From: rodrigo.bruno at inf.ethz.ch (Rodrigo Bruno) Date: Thu, 26 Mar 2020 23:17:56 +0100 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: References: Message-ID: Dear Roman, I am using jdk 11.0.7 (checked out ~12 hours ago). I am pasting below part of the dump file. Sorry for the verbosity. Looking at https://bugs.openjdk.java.net/browse/JDK-8237632, it seems indeed to be the same issue. It this fix already in a public repo so that I can test? thanks!, rodrigo # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/rbruno/mercurial/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp:47), pid=18485, tid=18490 # Error: Shenandoah assert_correct failed; Forwardee must point to a heap address Referenced from: no interior location recorded (probably a plain heap scan, or detached oop) Object: 0x00000000c0004808 - klass 0x00000001000020f0 java.lang.Class not allocated after mark start marked not in collection set mark: marked(0x0000000000000003) region: | 0|R |BTE c0000000, c0080000, c0080000|TAMS c0080000|U 512K|T 512K|G 0B|S 0B|L 0B|CP 0|SN 1, 1, 0, 0 Forwardee: 0x0000000000000000 - safe print, no details # # JRE version: OpenJDK Runtime Environment (11.0.7) (slowdebug build 11.0.7-internal+0-adhoc.rbruno.shenandoah) # Java VM: OpenJDK 64-Bit Server VM (slowdebug 11.0.7-internal+0-adhoc.rbruno.shenandoah, mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # --------------- S U M M A R Y ------------ Command Line: -XX:+UseShenandoahGC -XX:-UseBiasedLocking -Xlog:gc=trace -Xms1g -Xmx1g -Djava.library.path=. -agentpath:./libnaos.so ObjectCounter 5 4000000 Host: ganymede, Intel(R) Xeon(R) CPU E3-1225 v6 @ 3.30GHz, 4 cores, 31G, Debian GNU/Linux 9 (stretch) Time: Thu Mar 26 21:58:00 2020 CET elapsed time: 78 seconds (0d 0h 1m 18s) --------------- T H R E A D --------------- Current thread (0x00007fd1202df890): VMThread "VM Thread" [stack: 0x00007fd102c22000,0x00007fd102d22000] [id=18490] Stack: [0x00007fd102c22000,0x00007fd102d22000], sp=0x00007fd102d1dd30, free space=1007k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x13a357e] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x7e2 V [libjvm.so+0x13a2d39] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x57 V [libjvm.so+0x8e874e] report_vm_error(char const*, int, char const*, char const*, ...)+0x152 V [libjvm.so+0x8e85f9] report_vm_error(char const*, int, char const*)+0x39 V [libjvm.so+0x1185eb6] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oopDesc*, void*, oopDesc*, char const*, char const*, char const*, int)+0x39c V [libjvm.so+0x118611c] ShenandoahAsserts::assert_correct(void*, oopDesc*, char const*, int)+0x1c2 V [libjvm.so+0x10047fb] ShenandoahForwarding::get_forwardee(oopDesc*)+0x29 V [libjvm.so+0x100521e] ShenandoahBarrierSet::resolve_forwarded_not_null(oopDesc*)+0x18 V [libjvm.so+0x11876d7] ShenandoahBarrierSet::load_reference_barrier_impl(oopDesc*)+0xad V [libjvm.so+0x11874af] ShenandoahBarrierSet::load_reference_barrier_not_null(oopDesc*)+0x55 V [libjvm.so+0x7571e7] oopDesc* ShenandoahBarrierSet::AccessBarrier<1097844ul, ShenandoahBarrierSet>::oop_load_not_in_heap(oopDesc**)+0x3f V [libjvm.so+0x756ea4] AccessInternal::PostRuntimeDispatch, (AccessInternal::BarrierType)2, 1097844ul>::oop_access_barrier(void*)+0x18 V [libjvm.so+0x756aba] AccessInternal::RuntimeDispatch<1097812ul, oopDesc*, (AccessInternal::BarrierType)2>::load(void*)+0x1c V [libjvm.so+0x756a14] EnableIf::value, oopDesc*>::type AccessInternal::PreRuntimeDispatch::load<1097812ul, oopDesc*>(void*)+0x37 V [libjvm.so+0x75691d] oopDesc* AccessInternal::load_reduce_types<1097812ul, oopDesc*>(oopDesc**)+0x18 V [libjvm.so+0x756816] oopDesc* AccessInternal::load<1048580ul, oopDesc*, oopDesc*>(oopDesc**)+0x25 V [libjvm.so+0x756452] AccessInternal::OopLoadProxy::operator oopDesc*()+0x1c V [libjvm.so+0x7bb4c7] OopHandle::resolve() const+0x45 V [libjvm.so+0xe32dd0] Klass::java_mirror() const+0x1c V [libjvm.so+0xe2e264] VM_HeapWalkOperation::iterate_over_class(oopDesc*)+0x8c V [libjvm.so+0xe2f6b3] VM_HeapWalkOperation::visit(oopDesc*)+0xd1 V [libjvm.so+0xe2988b] VM_HeapWalkOperation::doit()+0x1d7 V [libjvm.so+0x13a6394] VM_Operation::evaluate()+0xde V [libjvm.so+0x13ea6b4] VMThread::evaluate_operation(VM_Operation*)+0x62 V [libjvm.so+0x13ead61] VMThread::loop()+0x521 V [libjvm.so+0x13ea22f] VMThread::run()+0x111 V [libjvm.so+0x130e2d3] Thread::call_run()+0xc9 V [libjvm.so+0x10515ba] thread_native_entry(Thread*)+0x1a2 VM_Operation (0x00007fd12a5094d0): HeapWalkOperation, mode: safepoint, requested by thread 0x00007fd120074120 Roman Kennke escreveu no dia quinta, 26/03/2020 ?(s) 22:40: > Hello Rodrigo, > > > Dear Shenandoah dev list, > > > > my name is Rodrigo, I am an ETH postdoc researcher, and my group > currently > > has a project that involves using Shenandoah and tracing objects upon > > request by Java code (yes, many people will think this is a terrible > > idea... :-), I can explain if someone is interested...). > > > > We are using a slightly modified copy of the VM_HeapWalkOperation VM > > operation to trace objects starting for a particular initial object. > > However we started noticing failed asserts as soon as we introduced more > > load into the system (more allocations, leading to more GC effort). > > > > After some debugging, it turns out to be a load barrier check that fails > > during the VM_HeapWalkOperation because it i) sets the mark bits and ii) > > tries to resolve oops (triggering the barrier). For some reason, the gc > > state indicates that object headers should have the forwardee pointer in > > place and thus it fails. I saw that there is already an exception for > this > > particular VM op but it does not cover this path. > > > > This failed assert can be reproduced using an unmodified JDK. I just > tested > > it today by downloading [1], building, and creating a simple test which > > basically calls a JNI function that calls JVMTI FollowReferences. I can > > provide the sources to reproduce the failed assert. If I > > use -XX:ShenandoahGCMode=passive, no barriers are enabled and everything > > works fine. Dump file is attached. > > > > I think this might be a bug. Please let me know if you need any further > > information/help. > > This does indeed sound like a bug that we fixed recently: > > > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/thread.html > > https://bugs.openjdk.java.net/browse/JDK-8237632 > > and > > https://bugs.openjdk.java.net/browse/JDK-8237396 > > Can you tell us which exact version you are using? The attachment has > been stripped by the mailing list. > > Thank you, > Roman > > -- rodrigo-bruno.github.io From zgu at redhat.com Fri Mar 27 01:11:05 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 26 Mar 2020 21:11:05 -0400 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: References: Message-ID: <452fa358-0667-ac65-1bf9-a55b5f73be77@redhat.com> Hi Rodrigo, There is an existing patch, you may want to try it. http://cr.openjdk.java.net/~zgu/shenandoah/sh11u-jvmti/webrev.00/ Thanks, -Zhengyu On 3/26/20 6:17 PM, Rodrigo Bruno wrote: > Dear Roman, > > I am using jdk 11.0.7 (checked out ~12 hours ago). I am pasting below part > of the dump file. Sorry for the verbosity. > > Looking at https://bugs.openjdk.java.net/browse/JDK-8237632, it seems > indeed to be the same issue. It this fix already in a public repo so that I > can test? > > thanks!, > rodrigo > > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error > (/home/rbruno/mercurial/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp:47), > pid=18485, tid=18490 > # Error: Shenandoah assert_correct failed; Forwardee must point to a heap > address > > Referenced from: > no interior location recorded (probably a plain heap scan, or detached > oop) > > Object: > 0x00000000c0004808 - klass 0x00000001000020f0 java.lang.Class > not allocated after mark start > marked > not in collection set > mark: marked(0x0000000000000003) > region: | 0|R |BTE c0000000, c0080000, c0080000|TAMS > c0080000|U 512K|T 512K|G 0B|S 0B|L 0B|CP 0|SN > 1, 1, 0, 0 > > Forwardee: > 0x0000000000000000 - safe print, no details > > > # > # JRE version: OpenJDK Runtime Environment (11.0.7) (slowdebug build > 11.0.7-internal+0-adhoc.rbruno.shenandoah) > # Java VM: OpenJDK 64-Bit Server VM (slowdebug > 11.0.7-internal+0-adhoc.rbruno.shenandoah, mixed mode, tiered, compressed > oops, shenandoah gc, linux-amd64) > # No core dump will be written. Core dumps have been disabled. To enable > core dumping, try "ulimit -c unlimited" before starting Java again > # > # If you would like to submit a bug report, please visit: > # http://bugreport.java.com/bugreport/crash.jsp > # > > --------------- S U M M A R Y ------------ > > Command Line: -XX:+UseShenandoahGC -XX:-UseBiasedLocking -Xlog:gc=trace > -Xms1g -Xmx1g -Djava.library.path=. -agentpath:./libnaos.so ObjectCounter 5 > 4000000 > > Host: ganymede, Intel(R) Xeon(R) CPU E3-1225 v6 @ 3.30GHz, 4 cores, 31G, > Debian GNU/Linux 9 (stretch) > Time: Thu Mar 26 21:58:00 2020 CET elapsed time: 78 seconds (0d 0h 1m 18s) > > --------------- T H R E A D --------------- > > Current thread (0x00007fd1202df890): VMThread "VM Thread" [stack: > 0x00007fd102c22000,0x00007fd102d22000] [id=18490] > > Stack: [0x00007fd102c22000,0x00007fd102d22000], sp=0x00007fd102d1dd30, > free space=1007k > Native frames: (J=compiled Java code, A=aot compiled Java code, > j=interpreted, Vv=VM code, C=native code) > V [libjvm.so+0x13a357e] VMError::report_and_die(int, char const*, char > const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, > int, unsigned long)+0x7e2 > V [libjvm.so+0x13a2d39] VMError::report_and_die(Thread*, void*, char > const*, int, char const*, char const*, __va_list_tag*)+0x57 > V [libjvm.so+0x8e874e] report_vm_error(char const*, int, char const*, > char const*, ...)+0x152 > V [libjvm.so+0x8e85f9] report_vm_error(char const*, int, char const*)+0x39 > V [libjvm.so+0x1185eb6] > ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oopDesc*, > void*, oopDesc*, char const*, char const*, char const*, int)+0x39c > V [libjvm.so+0x118611c] ShenandoahAsserts::assert_correct(void*, > oopDesc*, char const*, int)+0x1c2 > V [libjvm.so+0x10047fb] ShenandoahForwarding::get_forwardee(oopDesc*)+0x29 > V [libjvm.so+0x100521e] > ShenandoahBarrierSet::resolve_forwarded_not_null(oopDesc*)+0x18 > V [libjvm.so+0x11876d7] > ShenandoahBarrierSet::load_reference_barrier_impl(oopDesc*)+0xad > V [libjvm.so+0x11874af] > ShenandoahBarrierSet::load_reference_barrier_not_null(oopDesc*)+0x55 > V [libjvm.so+0x7571e7] oopDesc* > ShenandoahBarrierSet::AccessBarrier<1097844ul, > ShenandoahBarrierSet>::oop_load_not_in_heap(oopDesc**)+0x3f > V [libjvm.so+0x756ea4] > AccessInternal::PostRuntimeDispatch ShenandoahBarrierSet>, (AccessInternal::BarrierType)2, > 1097844ul>::oop_access_barrier(void*)+0x18 > V [libjvm.so+0x756aba] AccessInternal::RuntimeDispatch<1097812ul, > oopDesc*, (AccessInternal::BarrierType)2>::load(void*)+0x1c > V [libjvm.so+0x756a14] EnableIf::value, > oopDesc*>::type AccessInternal::PreRuntimeDispatch::load<1097812ul, > oopDesc*>(void*)+0x37 > V [libjvm.so+0x75691d] oopDesc* > AccessInternal::load_reduce_types<1097812ul, oopDesc*>(oopDesc**)+0x18 > V [libjvm.so+0x756816] oopDesc* AccessInternal::load<1048580ul, oopDesc*, > oopDesc*>(oopDesc**)+0x25 > V [libjvm.so+0x756452] AccessInternal::OopLoadProxy 1048576ul>::operator oopDesc*()+0x1c > V [libjvm.so+0x7bb4c7] OopHandle::resolve() const+0x45 > V [libjvm.so+0xe32dd0] Klass::java_mirror() const+0x1c > V [libjvm.so+0xe2e264] > VM_HeapWalkOperation::iterate_over_class(oopDesc*)+0x8c > V [libjvm.so+0xe2f6b3] VM_HeapWalkOperation::visit(oopDesc*)+0xd1 > V [libjvm.so+0xe2988b] VM_HeapWalkOperation::doit()+0x1d7 > V [libjvm.so+0x13a6394] VM_Operation::evaluate()+0xde > V [libjvm.so+0x13ea6b4] VMThread::evaluate_operation(VM_Operation*)+0x62 > V [libjvm.so+0x13ead61] VMThread::loop()+0x521 > V [libjvm.so+0x13ea22f] VMThread::run()+0x111 > V [libjvm.so+0x130e2d3] Thread::call_run()+0xc9 > V [libjvm.so+0x10515ba] thread_native_entry(Thread*)+0x1a2 > > VM_Operation (0x00007fd12a5094d0): HeapWalkOperation, mode: safepoint, > requested by thread 0x00007fd120074120 > > Roman Kennke escreveu no dia quinta, 26/03/2020 ?(s) > 22:40: > >> Hello Rodrigo, >> >>> Dear Shenandoah dev list, >>> >>> my name is Rodrigo, I am an ETH postdoc researcher, and my group >> currently >>> has a project that involves using Shenandoah and tracing objects upon >>> request by Java code (yes, many people will think this is a terrible >>> idea... :-), I can explain if someone is interested...). >>> >>> We are using a slightly modified copy of the VM_HeapWalkOperation VM >>> operation to trace objects starting for a particular initial object. >>> However we started noticing failed asserts as soon as we introduced more >>> load into the system (more allocations, leading to more GC effort). >>> >>> After some debugging, it turns out to be a load barrier check that fails >>> during the VM_HeapWalkOperation because it i) sets the mark bits and ii) >>> tries to resolve oops (triggering the barrier). For some reason, the gc >>> state indicates that object headers should have the forwardee pointer in >>> place and thus it fails. I saw that there is already an exception for >> this >>> particular VM op but it does not cover this path. >>> >>> This failed assert can be reproduced using an unmodified JDK. I just >> tested >>> it today by downloading [1], building, and creating a simple test which >>> basically calls a JNI function that calls JVMTI FollowReferences. I can >>> provide the sources to reproduce the failed assert. If I >>> use -XX:ShenandoahGCMode=passive, no barriers are enabled and everything >>> works fine. Dump file is attached. >>> >>> I think this might be a bug. Please let me know if you need any further >>> information/help. >> >> This does indeed sound like a bug that we fixed recently: >> >> >> https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/thread.html >> >> https://bugs.openjdk.java.net/browse/JDK-8237632 >> >> and >> >> https://bugs.openjdk.java.net/browse/JDK-8237396 >> >> Can you tell us which exact version you are using? The attachment has >> been stripped by the mailing list. >> >> Thank you, >> Roman >> >> > From shade at redhat.com Fri Mar 27 07:01:13 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 08:01:13 +0100 Subject: RFR: 8241700: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier In-Reply-To: <65f50d36-95ff-e0ed-88f4-9b657f9015e5@redhat.com> References: <65f50d36-95ff-e0ed-88f4-9b657f9015e5@redhat.com> Message-ID: <1fe470e5-0f7a-57b8-a16d-d69751ca300f@redhat.com> On 3/26/20 10:01 PM, Roman Kennke wrote: > Keep-alive of weak references and similar is strongly bound with SATB. > There seems no reason to have two flags. Let's fold them and eliminate > one flag. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8241700 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8241700/webrev.00/ Looks good. I am seeing double seeing double Shenandoah Shenandoah in the changeset synopsis: 8241700: Shenandoah: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier -- Thanks, -Aleksey From gnu.andrew at redhat.com Fri Mar 27 07:10:52 2020 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 27 Mar 2020 07:10:52 +0000 Subject: [RFR] [8u] 8u252-b07 Upstream Sync Message-ID: Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/root/merge.changeset Changes in aarch64-shenandoah-jdk8u252-b07: - S8197441: Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider Main issues of note: No HotSpot changes, so no merge work. diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk b/.hgtags | 1 b/src/share/classes/sun/security/pkcs11/P11Signature.java | 21 ++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diffstat for hotspot b/.hgtags | 1 + 1 file changed, 1 insertion(+) Successfully built on x86, x86_64, s390, s390x, ppc, ppc64, ppc64le & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From rodrigo.bruno at inf.ethz.ch Fri Mar 27 08:36:34 2020 From: rodrigo.bruno at inf.ethz.ch (Rodrigo Bruno) Date: Fri, 27 Mar 2020 09:36:34 +0100 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: <452fa358-0667-ac65-1bf9-a55b5f73be77@redhat.com> References: <452fa358-0667-ac65-1bf9-a55b5f73be77@redhat.com> Message-ID: Dear Zhengyu, thanks, the patch seems to solve the issue! Is there a way to track this so that I know once this patch makes into http://hg.openjdk.java.net/shenandoah/jdk11? best, rodrigo Zhengyu Gu escreveu no dia sexta, 27/03/2020 ?(s) 02:11: > Hi Rodrigo, > > There is an existing patch, you may want to try it. > > http://cr.openjdk.java.net/~zgu/shenandoah/sh11u-jvmti/webrev.00/ > > Thanks, > > -Zhengyu > > On 3/26/20 6:17 PM, Rodrigo Bruno wrote: > > Dear Roman, > > > > I am using jdk 11.0.7 (checked out ~12 hours ago). I am pasting below > part > > of the dump file. Sorry for the verbosity. > > > > Looking at https://bugs.openjdk.java.net/browse/JDK-8237632, it seems > > indeed to be the same issue. It this fix already in a public repo so > that I > > can test? > > > > thanks!, > > rodrigo > > > > # > > # A fatal error has been detected by the Java Runtime Environment: > > # > > # Internal Error > > > (/home/rbruno/mercurial/shenandoah/src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp:47), > > pid=18485, tid=18490 > > # Error: Shenandoah assert_correct failed; Forwardee must point to a > heap > > address > > > > Referenced from: > > no interior location recorded (probably a plain heap scan, or detached > > oop) > > > > Object: > > 0x00000000c0004808 - klass 0x00000001000020f0 java.lang.Class > > not allocated after mark start > > marked > > not in collection set > > mark: marked(0x0000000000000003) > > region: | 0|R |BTE c0000000, c0080000, c0080000|TAMS > > c0080000|U 512K|T 512K|G 0B|S 0B|L 0B|CP 0|SN > > 1, 1, 0, 0 > > > > Forwardee: > > 0x0000000000000000 - safe print, no details > > > > > > # > > # JRE version: OpenJDK Runtime Environment (11.0.7) (slowdebug build > > 11.0.7-internal+0-adhoc.rbruno.shenandoah) > > # Java VM: OpenJDK 64-Bit Server VM (slowdebug > > 11.0.7-internal+0-adhoc.rbruno.shenandoah, mixed mode, tiered, compressed > > oops, shenandoah gc, linux-amd64) > > # No core dump will be written. Core dumps have been disabled. To enable > > core dumping, try "ulimit -c unlimited" before starting Java again > > # > > # If you would like to submit a bug report, please visit: > > # http://bugreport.java.com/bugreport/crash.jsp > > # > > > > --------------- S U M M A R Y ------------ > > > > Command Line: -XX:+UseShenandoahGC -XX:-UseBiasedLocking -Xlog:gc=trace > > -Xms1g -Xmx1g -Djava.library.path=. -agentpath:./libnaos.so > ObjectCounter 5 > > 4000000 > > > > Host: ganymede, Intel(R) Xeon(R) CPU E3-1225 v6 @ 3.30GHz, 4 cores, 31G, > > Debian GNU/Linux 9 (stretch) > > Time: Thu Mar 26 21:58:00 2020 CET elapsed time: 78 seconds (0d 0h 1m > 18s) > > > > --------------- T H R E A D --------------- > > > > Current thread (0x00007fd1202df890): VMThread "VM Thread" [stack: > > 0x00007fd102c22000,0x00007fd102d22000] [id=18490] > > > > Stack: [0x00007fd102c22000,0x00007fd102d22000], sp=0x00007fd102d1dd30, > > free space=1007k > > Native frames: (J=compiled Java code, A=aot compiled Java code, > > j=interpreted, Vv=VM code, C=native code) > > V [libjvm.so+0x13a357e] VMError::report_and_die(int, char const*, char > > const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char > const*, > > int, unsigned long)+0x7e2 > > V [libjvm.so+0x13a2d39] VMError::report_and_die(Thread*, void*, char > > const*, int, char const*, char const*, __va_list_tag*)+0x57 > > V [libjvm.so+0x8e874e] report_vm_error(char const*, int, char const*, > > char const*, ...)+0x152 > > V [libjvm.so+0x8e85f9] report_vm_error(char const*, int, char > const*)+0x39 > > V [libjvm.so+0x1185eb6] > > ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, > oopDesc*, > > void*, oopDesc*, char const*, char const*, char const*, int)+0x39c > > V [libjvm.so+0x118611c] ShenandoahAsserts::assert_correct(void*, > > oopDesc*, char const*, int)+0x1c2 > > V [libjvm.so+0x10047fb] > ShenandoahForwarding::get_forwardee(oopDesc*)+0x29 > > V [libjvm.so+0x100521e] > > ShenandoahBarrierSet::resolve_forwarded_not_null(oopDesc*)+0x18 > > V [libjvm.so+0x11876d7] > > ShenandoahBarrierSet::load_reference_barrier_impl(oopDesc*)+0xad > > V [libjvm.so+0x11874af] > > ShenandoahBarrierSet::load_reference_barrier_not_null(oopDesc*)+0x55 > > V [libjvm.so+0x7571e7] oopDesc* > > ShenandoahBarrierSet::AccessBarrier<1097844ul, > > ShenandoahBarrierSet>::oop_load_not_in_heap(oopDesc**)+0x3f > > V [libjvm.so+0x756ea4] > > > AccessInternal::PostRuntimeDispatch > ShenandoahBarrierSet>, (AccessInternal::BarrierType)2, > > 1097844ul>::oop_access_barrier(void*)+0x18 > > V [libjvm.so+0x756aba] AccessInternal::RuntimeDispatch<1097812ul, > > oopDesc*, (AccessInternal::BarrierType)2>::load(void*)+0x1c > > V [libjvm.so+0x756a14] EnableIf 4096ul>::value, > > oopDesc*>::type AccessInternal::PreRuntimeDispatch::load<1097812ul, > > oopDesc*>(void*)+0x37 > > V [libjvm.so+0x75691d] oopDesc* > > AccessInternal::load_reduce_types<1097812ul, oopDesc*>(oopDesc**)+0x18 > > V [libjvm.so+0x756816] oopDesc* AccessInternal::load<1048580ul, > oopDesc*, > > oopDesc*>(oopDesc**)+0x25 > > V [libjvm.so+0x756452] AccessInternal::OopLoadProxy > 1048576ul>::operator oopDesc*()+0x1c > > V [libjvm.so+0x7bb4c7] OopHandle::resolve() const+0x45 > > V [libjvm.so+0xe32dd0] Klass::java_mirror() const+0x1c > > V [libjvm.so+0xe2e264] > > VM_HeapWalkOperation::iterate_over_class(oopDesc*)+0x8c > > V [libjvm.so+0xe2f6b3] VM_HeapWalkOperation::visit(oopDesc*)+0xd1 > > V [libjvm.so+0xe2988b] VM_HeapWalkOperation::doit()+0x1d7 > > V [libjvm.so+0x13a6394] VM_Operation::evaluate()+0xde > > V [libjvm.so+0x13ea6b4] > VMThread::evaluate_operation(VM_Operation*)+0x62 > > V [libjvm.so+0x13ead61] VMThread::loop()+0x521 > > V [libjvm.so+0x13ea22f] VMThread::run()+0x111 > > V [libjvm.so+0x130e2d3] Thread::call_run()+0xc9 > > V [libjvm.so+0x10515ba] thread_native_entry(Thread*)+0x1a2 > > > > VM_Operation (0x00007fd12a5094d0): HeapWalkOperation, mode: safepoint, > > requested by thread 0x00007fd120074120 > > > > Roman Kennke escreveu no dia quinta, 26/03/2020 > ?(s) > > 22:40: > > > >> Hello Rodrigo, > >> > >>> Dear Shenandoah dev list, > >>> > >>> my name is Rodrigo, I am an ETH postdoc researcher, and my group > >> currently > >>> has a project that involves using Shenandoah and tracing objects upon > >>> request by Java code (yes, many people will think this is a terrible > >>> idea... :-), I can explain if someone is interested...). > >>> > >>> We are using a slightly modified copy of the VM_HeapWalkOperation VM > >>> operation to trace objects starting for a particular initial object. > >>> However we started noticing failed asserts as soon as we introduced > more > >>> load into the system (more allocations, leading to more GC effort). > >>> > >>> After some debugging, it turns out to be a load barrier check that > fails > >>> during the VM_HeapWalkOperation because it i) sets the mark bits and > ii) > >>> tries to resolve oops (triggering the barrier). For some reason, the gc > >>> state indicates that object headers should have the forwardee pointer > in > >>> place and thus it fails. I saw that there is already an exception for > >> this > >>> particular VM op but it does not cover this path. > >>> > >>> This failed assert can be reproduced using an unmodified JDK. I just > >> tested > >>> it today by downloading [1], building, and creating a simple test which > >>> basically calls a JNI function that calls JVMTI FollowReferences. I can > >>> provide the sources to reproduce the failed assert. If I > >>> use -XX:ShenandoahGCMode=passive, no barriers are enabled and > everything > >>> works fine. Dump file is attached. > >>> > >>> I think this might be a bug. Please let me know if you need any further > >>> information/help. > >> > >> This does indeed sound like a bug that we fixed recently: > >> > >> > >> > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2020-March/thread.html > >> > >> https://bugs.openjdk.java.net/browse/JDK-8237632 > >> > >> and > >> > >> https://bugs.openjdk.java.net/browse/JDK-8237396 > >> > >> Can you tell us which exact version you are using? The attachment has > >> been stripped by the mailing list. > >> > >> Thank you, > >> Roman > >> > >> > > > > -- rodrigo-bruno.github.io From rwestrel at redhat.com Fri Mar 27 09:26:17 2020 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 27 Mar 2020 10:26:17 +0100 Subject: RFR(S): 8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java In-Reply-To: References: <871rpff759.fsf@redhat.com> Message-ID: <87v9mqdu86.fsf@redhat.com> Thanks for the review. Roland. From shade at redhat.com Fri Mar 27 09:36:43 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 10:36:43 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u252-b07 Upstream Sync In-Reply-To: References: Message-ID: <88a0d526-1e21-73a6-8916-80ecbc12ea5f@redhat.com> On 3/27/20 8:10 AM, Andrew Hughes wrote: > Merge changesets: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jaxws/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/hotspot/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u252-b07/root/merge.changeset Looks trivially good. > Ok to push? Yes. -- Thanks, -Aleksey From shade at redhat.com Fri Mar 27 10:49:45 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 11:49:45 +0100 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: References: <452fa358-0667-ac65-1bf9-a55b5f73be77@redhat.com> Message-ID: <194308a6-0e13-f57b-e9b0-bb35fec27c8d@redhat.com> On 3/27/20 9:36 AM, Rodrigo Bruno wrote: > thanks, the patch seems to solve the issue! Is there a way to track this so > that I know once this patch makes into > http://hg.openjdk.java.net/shenandoah/jdk11? Unfortunately, apart from tracking the repository itself, there is little else you can do. We have the backporting roster here: https://builds.shipilev.net/backports-monitor/label-actionable-gc-shenandoah.txt JDK-8237632 shows up as "11: MISSING" at this point. It would turn into line with changeset data once pushed to sh/jdk11. How important is this for you? We have delayed those patches for 11.0.7, because there were deemed non-urgent, and we were planning to push them to early 11.0.8, after April 14. We can reconsider and push it to 11.0.7 as the critical fix, if this blocks your work. -- Thanks, -Aleksey From rodrigo.bruno at inf.ethz.ch Fri Mar 27 11:14:27 2020 From: rodrigo.bruno at inf.ethz.ch (Rodrigo Bruno) Date: Fri, 27 Mar 2020 12:14:27 +0100 Subject: Failed assert during VM_HeapWalkOperation In-Reply-To: <194308a6-0e13-f57b-e9b0-bb35fec27c8d@redhat.com> References: <452fa358-0667-ac65-1bf9-a55b5f73be77@redhat.com> <194308a6-0e13-f57b-e9b0-bb35fec27c8d@redhat.com> Message-ID: Dear Aleksey, no problem. I will probably apply patch locally and work from there. Once it gets into the main repository I can rebase our changes. Thanks you all the help!, cheers, rodrigo Aleksey Shipilev escreveu no dia sexta, 27/03/2020 ?(s) 11:49: > On 3/27/20 9:36 AM, Rodrigo Bruno wrote: > > thanks, the patch seems to solve the issue! Is there a way to track this > so > > that I know once this patch makes into > > http://hg.openjdk.java.net/shenandoah/jdk11? > > Unfortunately, apart from tracking the repository itself, there is little > else you can do. > > We have the backporting roster here: > > https://builds.shipilev.net/backports-monitor/label-actionable-gc-shenandoah.txt > > JDK-8237632 shows up as "11: MISSING" at this point. It would turn into > line with changeset data > once pushed to sh/jdk11. > > How important is this for you? We have delayed those patches for 11.0.7, > because there were deemed > non-urgent, and we were planning to push them to early 11.0.8, after April > 14. We can reconsider and > push it to 11.0.7 as the critical fix, if this blocks your work. > > -- > Thanks, > -Aleksey > > -- rodrigo-bruno.github.io From shade at redhat.com Fri Mar 27 11:19:40 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 12:19:40 +0100 Subject: [14] RFR (S) 8240749: Shenandoah: refactor ShenandoahUtils Message-ID: Original change: https://bugs.openjdk.java.net/browse/JDK-8240749 https://hg.openjdk.java.net/jdk/jdk/rev/a74b7501917d It has a minor conflict due to missing JDK-8228818, so hunk in shenandoahHeap.cpp does not have associated phase_timings changes. I moved the ShenandoahGCPhase to the same place, though. 14u webrev: https://cr.openjdk.java.net/~shade/8240749/webrev.14u.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Fri Mar 27 11:23:49 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 12:23:49 +0100 Subject: [14] RFR (S) 8240749: Shenandoah: refactor ShenandoahUtils In-Reply-To: References: Message-ID: <8811d1ce-7b86-7588-64f8-ae8ba19ec279@redhat.com> Looks good, thanks! Roman > Original change: > https://bugs.openjdk.java.net/browse/JDK-8240749 > https://hg.openjdk.java.net/jdk/jdk/rev/a74b7501917d > > It has a minor conflict due to missing JDK-8228818, so hunk in shenandoahHeap.cpp does not have > associated phase_timings changes. I moved the ShenandoahGCPhase to the same place, though. > > 14u webrev: > https://cr.openjdk.java.net/~shade/8240749/webrev.14u.01/ > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Fri Mar 27 12:01:23 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 13:01:23 +0100 Subject: RFR: Pick up jdk/jdk tip to shenandoah/jdk Message-ID: <719358a0-2dc5-8275-f88a-be2bf3564d47@redhat.com> I would like to do some more experiments with shenandoah/jdk and need to pick up latest jdk/jdk changes for that: http://cr.openjdk.java.net/~rkennke/upstream-merge-jdk-15%2b16-tip/changesets.txt Ok? Roman From shade at redhat.com Fri Mar 27 12:04:37 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 13:04:37 +0100 Subject: RFR: Pick up jdk/jdk tip to shenandoah/jdk In-Reply-To: <719358a0-2dc5-8275-f88a-be2bf3564d47@redhat.com> References: <719358a0-2dc5-8275-f88a-be2bf3564d47@redhat.com> Message-ID: On 3/27/20 1:01 PM, Roman Kennke wrote: > I would like to do some more experiments with shenandoah/jdk and need to > pick up latest jdk/jdk changes for that: > > http://cr.openjdk.java.net/~rkennke/upstream-merge-jdk-15%2b16-tip/changesets.txt Yes. -- Thanks, -Aleksey From shade at redhat.com Fri Mar 27 13:38:57 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 14:38:57 +0100 Subject: RFR (S) 8241740: Shenandoah: remove ShenandoahHeapRegion::_heap Message-ID: <7b33cc94-b62a-2115-595c-253c7a768aee@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241740 It is not seem to worth it to drag the _heap field in every region. Almost all the places where it is used is not performance-critical, and ShenandoahHeap::heap() is actually as fast, especially after JDK-8241743. Ditching this field saves 8 bytes per region. I had to move seqnum_last_alloc_mutator to avoid including shenandoahHeap.inline.hpp in a generic header. Webrev: https://cr.openjdk.java.net/~shade/8241740/webrev.02/ Testing: hotspot_gc_shenandoah, eyeballing shenandoahHeapRegion.o objdumps -- Thanks, -Aleksey From shade at redhat.com Fri Mar 27 13:39:07 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 14:39:07 +0100 Subject: RFR (S) 8241748: Shenandoah: inline MarkingContext TAMS methods Message-ID: <49c1c6e4-c016-2c89-3b84-8c9569ec4949@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241748 ShenandoahMarkingContext methods that deal with TAMS are accessed on hot paths. These should be inlined. Webrev: https://cr.openjdk.java.net/~shade/8241748/webrev.01/ Testing: hotspot_gc_shenandoah; Linux x86_64 {slowdebug, fastdebug, release} builds without PCH -- Thanks, -Aleksey From shade at redhat.com Fri Mar 27 13:38:45 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 14:38:45 +0100 Subject: RFR (S) 8241743: Shenandoah: refactor and inline ShenandoahHeap::heap() Message-ID: <99c634dc-3150-14ec-b375-b7b6fb6e5c64@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241743 ShenandoahHeap::heap() is used on critical performance fastpaths, and should be properly inlined. Instead of going via Universe::heap(), we can just pull it off our own static field. (ZGC does the same). heap_no_check() is not needed anymore, because we don't do any additional checks that make performance worse. Webrev: https://cr.openjdk.java.net/~shade/8241743/webrev.01/ Testing: hotspot_gc_shenandoah; Linux x86_64 {slowdebug, fastdebug, release} builds without PCH -- Thanks, -Aleksey From rkennke at redhat.com Fri Mar 27 13:43:57 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 14:43:57 +0100 Subject: RFR (S) 8241743: Shenandoah: refactor and inline ShenandoahHeap::heap() In-Reply-To: <99c634dc-3150-14ec-b375-b7b6fb6e5c64@redhat.com> References: <99c634dc-3150-14ec-b375-b7b6fb6e5c64@redhat.com> Message-ID: <3f790562-49d4-75e5-16a9-3afb97e0447d@redhat.com> > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241743 > > ShenandoahHeap::heap() is used on critical performance fastpaths, and should be properly inlined. > Instead of going via Universe::heap(), we can just pull it off our own static field. (ZGC does the > same). heap_no_check() is not needed anymore, because we don't do any additional checks that make > performance worse. > > Webrev: > https://cr.openjdk.java.net/~shade/8241743/webrev.01/ > > Testing: hotspot_gc_shenandoah; Linux x86_64 {slowdebug, fastdebug, release} builds without PCH That makes sense. Patch looks good! Roman From rkennke at redhat.com Fri Mar 27 13:45:12 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 14:45:12 +0100 Subject: RFR (S) 8241740: Shenandoah: remove ShenandoahHeapRegion::_heap In-Reply-To: <7b33cc94-b62a-2115-595c-253c7a768aee@redhat.com> References: <7b33cc94-b62a-2115-595c-253c7a768aee@redhat.com> Message-ID: <4dec6cca-ea65-7f3e-4869-5f015d07ca79@redhat.com> Looks good, thanks! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241740 > > It is not seem to worth it to drag the _heap field in every region. Almost all the places where it > is used is not performance-critical, and ShenandoahHeap::heap() is actually as fast, especially > after JDK-8241743. Ditching this field saves 8 bytes per region. > > I had to move seqnum_last_alloc_mutator to avoid including shenandoahHeap.inline.hpp in a generic > header. > > Webrev: > https://cr.openjdk.java.net/~shade/8241740/webrev.02/ > > Testing: hotspot_gc_shenandoah, eyeballing shenandoahHeapRegion.o objdumps > From rkennke at redhat.com Fri Mar 27 13:45:55 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 14:45:55 +0100 Subject: RFR (S) 8241748: Shenandoah: inline MarkingContext TAMS methods In-Reply-To: <49c1c6e4-c016-2c89-3b84-8c9569ec4949@redhat.com> References: <49c1c6e4-c016-2c89-3b84-8c9569ec4949@redhat.com> Message-ID: <39245bb4-79ae-6e16-c7a0-152704d319f9@redhat.com> ok! Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241748 > > ShenandoahMarkingContext methods that deal with TAMS are accessed on hot paths. These should be inlined. > > Webrev: > https://cr.openjdk.java.net/~shade/8241748/webrev.01/ > > Testing: hotspot_gc_shenandoah; Linux x86_64 {slowdebug, fastdebug, release} builds without PCH > From rkennke at redhat.com Fri Mar 27 14:13:37 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 15:13:37 +0100 Subject: RFR (S) 8241692: Shenandoah: remove ShenandoahHeapRegion::_reserved In-Reply-To: <4fefe5f0-473b-8198-5192-e1de4e597479@redhat.com> References: <4fefe5f0-473b-8198-5192-e1de4e597479@redhat.com> Message-ID: Yes, looks good! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241692 > > Follow up from JDK-8241668: _reserved field is not actually needed, because we can just use bottom() > and end() available. Saves 16 bytes per region. > > Webrev: > https://cr.openjdk.java.net/~shade/8241692/webrev.01/ > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Fri Mar 27 18:54:00 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 19:54:00 +0100 Subject: RFR: Incremental-update option Message-ID: <94387110-c853-c1ea-819c-23efc9517ced@redhat.com> The traversal mode uses incremental-update-style traversal. It might be useful to pair that with our normal-mode operation (3-phase). The following patch is a prototype of this, that I would like to give some testing in shenandoah/jdk: http://cr.openjdk.java.net/~rkennke/iu/webrev.00/ It adds a new mode called ShenandoahIUMode -XX:ShenandoahGCMode=iu and wires the default ShenandoahGCMode to iu to give it maximum exposure in testing pipelines. Testing: hotspot_gc_shenandoah is all clean :-) Let's give it some more runs on our CIs. Ok to push to shenandoah/jdk ? Roman From zgu at redhat.com Fri Mar 27 18:55:24 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 27 Mar 2020 14:55:24 -0400 Subject: [15] RFR 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier Message-ID: <85e6e3c1-64fd-4873-5a5f-492171b8f9eb@redhat.com> This bug was discovered while testing aarch64 nmethod entry barrier patch posted by Stuart Monteith [1]. We had the same issues on x86 platforms, and fixed by JDK-8233500 and JDK-8237776, but never fixed aarch64. Bug: https://bugs.openjdk.java.net/browse/JDK-8241765 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8241765/webrev.00/ Test: hotspot_gc_shenandoah Thanks, -Zhengyu [1] https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2020-March/028998.html From rkennke at redhat.com Fri Mar 27 19:05:23 2020 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 27 Mar 2020 20:05:23 +0100 Subject: [aarch64-port-dev ] [15] RFR 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier In-Reply-To: <85e6e3c1-64fd-4873-5a5f-492171b8f9eb@redhat.com> References: <85e6e3c1-64fd-4873-5a5f-492171b8f9eb@redhat.com> Message-ID: <460ce94f-f4eb-95ca-5be1-2a19f4853bc1@redhat.com> Ok. Thank you! Roman > This bug was discovered while testing aarch64 nmethod entry barrier > patch posted by Stuart Monteith [1]. > > We had the same issues on x86 platforms, and fixed by JDK-8233500 and > JDK-8237776, but never fixed aarch64. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8241765 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8241765/webrev.00/ > > Test: > ? hotspot_gc_shenandoah > > Thanks, > > -Zhengyu > > [1] > https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2020-March/028998.html > > From shade at redhat.com Fri Mar 27 19:45:39 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 27 Mar 2020 20:45:39 +0100 Subject: RFR: Incremental-update option In-Reply-To: <94387110-c853-c1ea-819c-23efc9517ced@redhat.com> References: <94387110-c853-c1ea-819c-23efc9517ced@redhat.com> Message-ID: <1d220823-fd48-1922-3856-c418d0b374d2@redhat.com> On 3/27/20 7:54 PM, Roman Kennke wrote: > The traversal mode uses incremental-update-style traversal. It might be > useful to pair that with our normal-mode operation (3-phase). The > following patch is a prototype of this, that I would like to give some > testing in shenandoah/jdk: > > http://cr.openjdk.java.net/~rkennke/iu/webrev.00/ > > It adds a new mode called ShenandoahIUMode -XX:ShenandoahGCMode=iu and > wires the default ShenandoahGCMode to iu to give it maximum exposure in > testing pipelines. > > Testing: hotspot_gc_shenandoah is all clean :-) Let's give it some more > runs on our CIs. > > Ok to push to shenandoah/jdk ? Looks dirty, but fine for sh/jdk. -- Thanks, -Aleksey From rkennke at redhat.com Fri Mar 27 19:48:08 2020 From: rkennke at redhat.com (rkennke at redhat.com) Date: Fri, 27 Mar 2020 19:48:08 +0000 Subject: hg: shenandoah/jdk: Incremental-update option Message-ID: <202003271948.02RJm85Y013656@aojmv0008.oracle.com> Changeset: 927d64240c30 Author: rkennke Date: 2020-03-27 20:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/927d64240c30 Incremental-update option ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.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/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp + src/hotspot/share/gc/shenandoah/shenandoahIUMode.cpp + src/hotspot/share/gc/shenandoah/shenandoahIUMode.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java From aph at redhat.com Sat Mar 28 12:23:50 2020 From: aph at redhat.com (Andrew Haley) Date: Sat, 28 Mar 2020 12:23:50 +0000 Subject: [15] RFR 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier In-Reply-To: <85e6e3c1-64fd-4873-5a5f-492171b8f9eb@redhat.com> References: <85e6e3c1-64fd-4873-5a5f-492171b8f9eb@redhat.com> Message-ID: On 3/27/20 6:55 PM, Zhengyu Gu wrote: > This bug was discovered while testing aarch64 nmethod entry barrier > patch posted by Stuart Monteith [1]. > > We had the same issues on x86 platforms, and fixed by JDK-8233500 and > JDK-8237776, but never fixed aarch64. The patch looks OK. It's a bit odd that it wasn't applied to AArch64 at the time, but never mind. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at redhat.com Mon Mar 30 12:23:11 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 14:23:11 +0200 Subject: RFR (XS) 8241838: Shenandoah: no need to trash cset during final mark Message-ID: <582542fb-34aa-50fe-fbb6-fe4e88ed6931@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241838 Follow up from CM-with-UR removal (JDK-8240868): we do not ever see cset during final mark now, so trashing the cset is effectively noop. Ditching this saves about 2-3 us during pause. trash_cset_regions() is still used during final-UR pause. Fix: diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon Mar 30 13:31:43 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon Mar 30 14:21:08 2020 +0200 @@ -1503,10 +1503,4 @@ } - // Trash the collection set left over from previous cycle, if any. - { - ShenandoahGCPhase phase(ShenandoahPhaseTimings::trash_cset); - trash_cset_regions(); - } - { ShenandoahGCPhase phase(ShenandoahPhaseTimings::prepare_evac); diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Mon Mar 30 13:31:43 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Mon Mar 30 14:21:08 2020 +0200 @@ -83,5 +83,4 @@ f(retire_tlabs, " Retire TLABs") \ f(sync_pinned, " Sync Pinned") \ - f(trash_cset, " Trash CSet") \ f(prepare_evac, " Prepare Evacuation") \ f(init_evac, " Initial Evacuation") \ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 30 12:39:42 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 14:39:42 +0200 Subject: RFR (XS) 8241838: Shenandoah: no need to trash cset during final mark In-Reply-To: <582542fb-34aa-50fe-fbb6-fe4e88ed6931@redhat.com> References: <582542fb-34aa-50fe-fbb6-fe4e88ed6931@redhat.com> Message-ID: Looks good, thank you! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241838 > > Follow up from CM-with-UR removal (JDK-8240868): we do not ever see cset during final mark now, so > trashing the cset is effectively noop. Ditching this saves about 2-3 us during pause. > trash_cset_regions() is still used during final-UR pause. > > Fix: > > diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon Mar 30 13:31:43 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon Mar 30 14:21:08 2020 +0200 > @@ -1503,10 +1503,4 @@ > } > > - // Trash the collection set left over from previous cycle, if any. > - { > - ShenandoahGCPhase phase(ShenandoahPhaseTimings::trash_cset); > - trash_cset_regions(); > - } > - > { > ShenandoahGCPhase phase(ShenandoahPhaseTimings::prepare_evac); > diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Mon Mar 30 13:31:43 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Mon Mar 30 14:21:08 2020 +0200 > @@ -83,5 +83,4 @@ > f(retire_tlabs, " Retire TLABs") \ > f(sync_pinned, " Sync Pinned") \ > - f(trash_cset, " Trash CSet") \ > f(prepare_evac, " Prepare Evacuation") \ > f(init_evac, " Initial Evacuation") \ > > Testing: hotspot_gc_shenandoah > From shade at redhat.com Mon Mar 30 12:54:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 14:54:52 +0200 Subject: RFR (S) 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion Message-ID: <904a50a9-db5c-16f8-d766-dd4e36034b7e@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241841 We currently count the allocation by type: TLAB, GCLAB, shared allocs. All together, they should add up to the "used" space in the region. That means we can ditch one of the counters, and infer it from the already tracked "used" size. "Shared" counter seems to be the most profitable to go: it usually means either a small allocation that does not need another small roadbump on allocation path, or the humongous allocation that does increments for every region in the humongous chain. This saves 4..8 bytes per region, and drops x86_32 size to 64 bytes (1 cache-line) without padding. Fix: https://cr.openjdk.java.net/~shade/8241841/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Mar 30 12:58:28 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 14:58:28 +0200 Subject: RFR (XS) 8241842: Shenandoah: inline ShenandoahHeapRegion::region_number Message-ID: <69c9a46c-3079-7a87-d019-730c99c6c069@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8241842 ShenandoahHeapRegion::region_number is used on a few hotpaths, and should be inlined. Fix: diff -r 8aa307793ffe src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Mon Mar 30 14:49:17 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Mon Mar 30 14:57:23 2020 +0200 @@ -78,8 +78,4 @@ } -size_t ShenandoahHeapRegion::region_number() const { - return _region_number; -} - void ShenandoahHeapRegion::report_illegal_transition(const char *method) { ResourceMark rm; diff -r 8aa307793ffe src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Mon Mar 30 14:49:17 2020 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Mon Mar 30 14:57:23 2020 +0200 @@ -354,5 +354,7 @@ } - size_t region_number() const; + inline size_t region_number() const { + return _region_number; + } // Allocation (return NULL if full) Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Mar 30 13:10:03 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 15:10:03 +0200 Subject: RFR (S) 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number Message-ID: RFR: https://bugs.openjdk.java.net/browse/JDK-8241844 ShenandoahHeapRegion::region_number is too verbose of the name, plus most of the code already treats it as "index" in the local variable. Can rename it for consistency. I am not sure whether it should be "idx" or "index". Candidate fix: https://cr.openjdk.java.net/~shade/8241844/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 30 13:25:10 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:25:10 +0200 Subject: RFR (S) 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion In-Reply-To: <904a50a9-db5c-16f8-d766-dd4e36034b7e@redhat.com> References: <904a50a9-db5c-16f8-d766-dd4e36034b7e@redhat.com> Message-ID: <46f1314c-eaba-2b7f-a9d6-d5701125f305@redhat.com> Looks good. Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241841 > > We currently count the allocation by type: TLAB, GCLAB, shared allocs. All together, they should add > up to the "used" space in the region. That means we can ditch one of the counters, and infer it from > the already tracked "used" size. > > "Shared" counter seems to be the most profitable to go: it usually means either a small allocation > that does not need another small roadbump on allocation path, or the humongous allocation that does > increments for every region in the humongous chain. > > This saves 4..8 bytes per region, and drops x86_32 size to 64 bytes (1 cache-line) without padding. > > Fix: > https://cr.openjdk.java.net/~shade/8241841/webrev.01/ > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Mon Mar 30 13:25:31 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:25:31 +0200 Subject: RFR (XS) 8241842: Shenandoah: inline ShenandoahHeapRegion::region_number In-Reply-To: <69c9a46c-3079-7a87-d019-730c99c6c069@redhat.com> References: <69c9a46c-3079-7a87-d019-730c99c6c069@redhat.com> Message-ID: Yup! Thanks, Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241842 > > ShenandoahHeapRegion::region_number is used on a few hotpaths, and should be inlined. > > Fix: > > diff -r 8aa307793ffe src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Mon Mar 30 14:49:17 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Mon Mar 30 14:57:23 2020 +0200 > @@ -78,8 +78,4 @@ > } > > -size_t ShenandoahHeapRegion::region_number() const { > - return _region_number; > -} > - > void ShenandoahHeapRegion::report_illegal_transition(const char *method) { > ResourceMark rm; > diff -r 8aa307793ffe src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Mon Mar 30 14:49:17 2020 +0200 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Mon Mar 30 14:57:23 2020 +0200 > @@ -354,5 +354,7 @@ > } > > - size_t region_number() const; > + inline size_t region_number() const { > + return _region_number; > + } > > // Allocation (return NULL if full) > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Mon Mar 30 13:26:28 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:26:28 +0200 Subject: RFR (S) 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number In-Reply-To: References: Message-ID: <1daa1c9e-1f34-2698-01a2-fbc048ed1b78@redhat.com> > RFR: > https://bugs.openjdk.java.net/browse/JDK-8241844 > > ShenandoahHeapRegion::region_number is too verbose of the name, plus most of the code already treats > it as "index" in the local variable. Can rename it for consistency. I am not sure whether it should > be "idx" or "index". > > Candidate fix: > https://cr.openjdk.java.net/~shade/8241844/webrev.01/ > > Testing: hotspot_gc_shenandoah I'd prefer index, but if it's too much trouble to rename it, then leave it as idx. Roman From shade at redhat.com Mon Mar 30 13:27:26 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 15:27:26 +0200 Subject: RFR (S) 8241845: Shenandoah: align/fit ShenandoahHeapRegions to cache lines Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8241845 See the discussion in the bug. Fix: https://cr.openjdk.java.net/~shade/8241845/webrev.01/ Testing: hotspot_gc_shenandoah, eyeballing benchmark results -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 30 13:30:52 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:30:52 +0200 Subject: RFR (S) 8241845: Shenandoah: align/fit ShenandoahHeapRegions to cache lines In-Reply-To: References: Message-ID: Nice! Patch looks good! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8241845 > > See the discussion in the bug. > > Fix: > https://cr.openjdk.java.net/~shade/8241845/webrev.01/ > > Testing: hotspot_gc_shenandoah, eyeballing benchmark results > From shade at redhat.com Mon Mar 30 13:38:43 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 15:38:43 +0200 Subject: RFR (S) 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number In-Reply-To: <1daa1c9e-1f34-2698-01a2-fbc048ed1b78@redhat.com> References: <1daa1c9e-1f34-2698-01a2-fbc048ed1b78@redhat.com> Message-ID: <3394c605-c9a8-5af2-184c-619acc0dae29@redhat.com> On 3/30/20 3:26 PM, Roman Kennke wrote: >> RFR: >> https://bugs.openjdk.java.net/browse/JDK-8241844 >> >> ShenandoahHeapRegion::region_number is too verbose of the name, plus most of the code already treats >> it as "index" in the local variable. Can rename it for consistency. I am not sure whether it should >> be "idx" or "index". >> >> Candidate fix: >> https://cr.openjdk.java.net/~shade/8241844/webrev.01/ >> >> Testing: hotspot_gc_shenandoah > > I'd prefer index, but if it's too much trouble to rename it, then leave > it as idx. No bother until this is committed. Renamed to "index" like this: https://cr.openjdk.java.net/~shade/8241844/webrev.01/ Better? -- Thanks, -Aleksey From rkennke at redhat.com Mon Mar 30 13:40:22 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:40:22 +0200 Subject: RFR (S) 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number In-Reply-To: <3394c605-c9a8-5af2-184c-619acc0dae29@redhat.com> References: <1daa1c9e-1f34-2698-01a2-fbc048ed1b78@redhat.com> <3394c605-c9a8-5af2-184c-619acc0dae29@redhat.com> Message-ID: >>> RFR: >>> https://bugs.openjdk.java.net/browse/JDK-8241844 >>> >>> ShenandoahHeapRegion::region_number is too verbose of the name, plus most of the code already treats >>> it as "index" in the local variable. Can rename it for consistency. I am not sure whether it should >>> be "idx" or "index". >>> >>> Candidate fix: >>> https://cr.openjdk.java.net/~shade/8241844/webrev.01/ >>> >>> Testing: hotspot_gc_shenandoah >> >> I'd prefer index, but if it's too much trouble to rename it, then leave >> it as idx. > > No bother until this is committed. Renamed to "index" like this: > https://cr.openjdk.java.net/~shade/8241844/webrev.01/ > > Better? It's: https://cr.openjdk.java.net/~shade/8241844/webrev.02/ Yes, this looks better to me. Thank you! Roman From rkennke at redhat.com Mon Mar 30 13:48:40 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 15:48:40 +0200 Subject: [14] RFR (S) 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 In-Reply-To: References: Message-ID: <6799610a-5463-c186-65c9-40a77c181679@redhat.com> The patch looks good to me. Thanks, Roman > Original RFE: > https://bugs.openjdk.java.net/browse/JDK-8240948 > https://hg.openjdk.java.net/jdk/jdk/rev/61f6c19d1a56 > > The context is a bit different in 14. > > 14u webrev: > https://cr.openjdk.java.net/~shade/8240948/webrev.14u.01/ > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Mon Mar 30 16:04:22 2020 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 30 Mar 2020 18:04:22 +0200 Subject: RFR: Pick up latest jdk/jdk to shenandoah/jdk Message-ID: We need a build-fix from jdk/jdk in shenandoah/jdk. I'd like to pick up everything to latest tip: http://cr.openjdk.java.net/~rkennke/upstream-jdk-15%2b16-2020-03-30/changesets.txt ok? Roman From shade at redhat.com Mon Mar 30 16:20:52 2020 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 30 Mar 2020 18:20:52 +0200 Subject: RFR: Pick up latest jdk/jdk to shenandoah/jdk In-Reply-To: References: Message-ID: <3793c298-73e1-cb62-13c8-bfd79b853b3f@redhat.com> On 3/30/20 6:04 PM, Roman Kennke wrote: > We need a build-fix from jdk/jdk in shenandoah/jdk. I'd like to pick up > everything to latest tip: > > http://cr.openjdk.java.net/~rkennke/upstream-jdk-15%2b16-2020-03-30/changesets.txt Yes, please. -- Thanks, -Aleksey From zgu at redhat.com Tue Mar 31 00:54:44 2020 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 30 Mar 2020 20:54:44 -0400 Subject: [14] RFR 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Message-ID: I would like to backport this patch to 14u, as it is a fatal bug. Original bug: https://bugs.openjdk.java.net/browse/JDK-8239926 Original webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/webrev.04/ 14u webrev: http://cr.openjdk.java.net/~zgu/JDK-8239926/14u/webrev.00/ Test: hotspot_gc_shenandoah tier1 with Shenandoah GC Thanks, -Zhengyu