From shade at redhat.com Mon Jul 1 08:29:41 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 1 Jul 2019 10:29:41 +0200 Subject: RFR(T) 8226957: Shenandoah: Remove obsoleted "ShenandoahStoreCheck" option In-Reply-To: References: Message-ID: <8bb9b0f1-ef2e-262b-e88f-c8c9cf4e752f@redhat.com> On 6/28/19 11:13 PM, Zhengyu Gu wrote: > The option is obsoleted. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8226957 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8226957/webrev.00/ All right, fine. It was used before for the cooperative checks in the generated code, that was removed long time ago. After that, we used to keep this flag to implement the aliased-heap verifier on top of it, but it does not seem to happen any time soon. So the flag can go. -- Thanks, -Aleksey From shade at redhat.com Tue Jul 2 08:29:08 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 Jul 2019 10:29:08 +0200 Subject: RFC/RFR: Pick up 11.0.4+10 to sh/jdk11 Message-ID: <1f5bdd7e-ffee-8971-26a1-741a0d86ad45@redhat.com> Final pull for July CPU. Changesets: http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.4%2b10/changesets.txt Webrev: http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.4%2b10/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug|release} -- Thanks, -Aleksey From rkennke at redhat.com Tue Jul 2 08:34:41 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Jul 2019 10:34:41 +0200 Subject: RFC/RFR: Pick up 11.0.4+10 to sh/jdk11 In-Reply-To: <1f5bdd7e-ffee-8971-26a1-741a0d86ad45@redhat.com> References: <1f5bdd7e-ffee-8971-26a1-741a0d86ad45@redhat.com> Message-ID: <79360bbb-c58f-21a7-2047-cf169474277d@redhat.com> Looks good to me. Roman > Final pull for July CPU. > > Changesets: > http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.4%2b10/changesets.txt > > Webrev: > http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.4%2b10/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug|release} > From shade at redhat.com Tue Jul 2 08:55:59 2019 From: shade at redhat.com (shade at redhat.com) Date: Tue, 02 Jul 2019 08:55:59 +0000 Subject: hg: shenandoah/jdk11: 5 new changesets Message-ID: <201907020856.x628u0CY004199@aojmv0008.oracle.com> Changeset: 542feedcfedd Author: clanger Date: 2019-07-01 10:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/542feedcfedd 8226880: Backport of JDK-8208698 (Improved ECC Implementation) should not bring parts of JDK-8205476 (KeyAgreement#generateSecret is not reset for ECDH based algorithm) Reviewed-by: andrew ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java Changeset: 3f5829d9d762 Author: naoto Date: 2019-06-28 08:48 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/3f5829d9d762 8226876: Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960 Reviewed-by: clanger ! src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java + test/jdk/sun/util/locale/provider/CalendarDataRegression.java Changeset: 24a28ba90be4 Author: goetz Date: 2019-07-01 11:28 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/24a28ba90be4 Added tag jdk-11.0.4+10 for changeset 3f5829d9d762 ! .hgtags Changeset: 584515aaf710 Author: shade Date: 2019-07-02 09:53 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/584515aaf710 Merge ! .hgtags Changeset: 13c9cd7b9eae Author: shade Date: 2019-07-02 09:53 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk11/rev/13c9cd7b9eae Added tag shenandoah-jdk-11.0.4+10 for changeset 584515aaf710 ! .hgtags From rkennke at redhat.com Tue Jul 2 09:32:25 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Jul 2019 11:32:25 +0200 Subject: RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode In-Reply-To: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> References: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> Message-ID: There was a small mistake in one of the tests. Updated webrev: http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.02/ Roman > Hi Aleksey, > > New webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.01/ > > I addressed all issues you mentioned. I introduced a new ShenandoahMode > and 3 subclasses for traversal, normal and passive. I also had to adjust > all tests which was sometimes a bit hairy. > > Sorry, I messed up to make an incremental webrev. Only full one here. > > Better now? > > Roman > > >> Brief look: >> >> *) I wonder if it makes sense to rework it more thoroughly: >> modes: {passive, normal, traversal} >> heuristics: {aggressive, compact, adaptive, static} >> >> ...so that modes select barriers, and heuristics only selects when to start the cycle. >> >> *) should_start_normal_gc() is now simply should_start_gc()? >> >> *) I guess this can be done in "default_cause", near "default_mode": >> >> 156 cause = mode == concurrent_traversal ? GCCause::_shenandoah_traversal_gc : >> GCCause::_shenandoah_concurrent_gc; >> >> *) Looks to me, there would be no message printed if we supply wrong mode? >> >> *) I don't think it is fair to call it scavenge. Description also implies "normal" is not >> concurrent? I'd say "normal (mark, then evac, then update)" and "traversal (mark+evac+update)". >> >> 75 experimental(ccstr, ShenandoahGCMode, "normal", \ >> 76 "The GC mode to use in Shenandoah GC. Possible values" \ >> 77 " *) normal - normal GC (mark-evac-update)" \ >> 78 " *) traversal - Traversal GC (concurent scavange)") \ >> >> *) TestWrongBarrierDisable.java: indenting, L58: >> >> 54 shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent); >> 55 shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent); >> 56 shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent); >> 57 shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent); >> 58 shouldFailAll("-XX:ShenandoahGCMode=traversal", traversal); >> 59 shouldPassAll("-XX:ShenandoahGCHeuristics=passive", concurrent); >> 60 shouldPassAll("-XX:ShenandoahGCHeuristics=passive", traversal); >> > From zgu at redhat.com Tue Jul 2 13:47:11 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 2 Jul 2019 09:47:11 -0400 Subject: RFR(T) 8227101: Shenandoah: Use ShenandoahSharedFlag for claimed flag in ShenandoahSerialRoot Message-ID: Please review this trivial patch, that uses ShenandoahSharedFlag for claimed flag in ShenandoahSerialRoot, to be consistent with ShenandoahWeakSerialRoot. Bug: https://bugs.openjdk.java.net/browse/JDK-8227101 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227101/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From shade at redhat.com Tue Jul 2 13:57:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 Jul 2019 15:57:46 +0200 Subject: RFR(T) 8227101: Shenandoah: Use ShenandoahSharedFlag for claimed flag in ShenandoahSerialRoot In-Reply-To: References: Message-ID: On 7/2/19 3:47 PM, Zhengyu Gu wrote: > Please review this trivial patch, that uses ShenandoahSharedFlag for claimed flag in > ShenandoahSerialRoot, to be consistent with ShenandoahWeakSerialRoot. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8227101 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227101/webrev.00/ Looks good. -- Thanks, -Aleksey From zgu at redhat.com Tue Jul 2 16:51:47 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 2 Jul 2019 12:51:47 -0400 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration Message-ID: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> This refactor is one of subtasks for concurrent nmethod unloading [1]. It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation for more complicated concurrent nmethod iteration. Borrowing what ZGC does, only records oops embedded in relocation stream to reduce memory footprint. Also, attaches ShenandoahNMethod to nmethod's gc_data, so that it avoids additional searching during re-register nmethod. Let's use shenandoah/jdk for concurrent nmethod unloading work, while we stabilize early concurrent root work in jdk/jdk. Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu [1] https://bugs.openjdk.java.net/browse/JDK-8227102 From zgu at redhat.com Tue Jul 2 17:56:10 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 2 Jul 2019 13:56:10 -0400 Subject: RFR 8227104: Shenandoah: Implementation of ShenandoahReentrantLock Message-ID: This is a prerequisite for concurrent nmethod unloading [1]. Currently, it has no users, but will be embedded into ShenandoahNMethod. I separate the two changes, in case we may want to backport ShenandoahNMethod changes. Bug: https://bugs.openjdk.java.net/browse/JDK-8227104 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227104/webrev.00/ Test: fastdebug and release builds. Thanks, -Zhengyu [1] https://bugs.openjdk.java.net/browse/JDK-8227102 From rkennke at redhat.com Tue Jul 2 17:59:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Jul 2019 19:59:39 +0200 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration In-Reply-To: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> References: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> Message-ID: <6efb7a96-4697-3b25-2ffd-d69f90ee6226@redhat.com> It looks good to me. Aleksey might want to look at this too. He's more familiar with this code (he's written most of it). Thanks, Roman > This refactor is one of subtasks for concurrent nmethod unloading [1]. > > It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation > for more complicated concurrent nmethod iteration. > > Borrowing what ZGC does, only records oops embedded in relocation stream > to reduce memory footprint. Also, attaches ShenandoahNMethod to > nmethod's gc_data, so that it avoids additional searching during > re-register nmethod. > > Let's use shenandoah/jdk for concurrent nmethod unloading work, while we > stabilize early concurrent root work in jdk/jdk. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu > > [1] https://bugs.openjdk.java.net/browse/JDK-8227102 From rkennke at redhat.com Tue Jul 2 18:11:14 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Jul 2019 20:11:14 +0200 Subject: RFR 8227104: Shenandoah: Implementation of ShenandoahReentrantLock In-Reply-To: References: Message-ID: <25ac5fc6-3596-76a5-8cbe-99d70b83209e@redhat.com> Why would we want to backport the ShenandoahReentrantLock if it has no uses? Or will we have uses that we intend to backport? Not quite sure here why we would want to push any code that's not currently used, and not push the code plus its usage instead. Roman > This is a prerequisite for concurrent nmethod unloading [1]. Currently, > it has no users, but will be embedded into ShenandoahNMethod. > > I separate the two changes, in case we may want to backport > ShenandoahNMethod changes. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8227104 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227104/webrev.00/ > > Test: > ? fastdebug and release builds. > > Thanks, > > -Zhengyu > > [1] https://bugs.openjdk.java.net/browse/JDK-8227102 From zgu at redhat.com Tue Jul 2 18:22:33 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 2 Jul 2019 14:22:33 -0400 Subject: RFR 8227104: Shenandoah: Implementation of ShenandoahReentrantLock In-Reply-To: <25ac5fc6-3596-76a5-8cbe-99d70b83209e@redhat.com> References: <25ac5fc6-3596-76a5-8cbe-99d70b83209e@redhat.com> Message-ID: On 7/2/19 2:11 PM, Roman Kennke wrote: > Why would we want to backport the ShenandoahReentrantLock if it has no > uses? We might want to backport ShenandoahNMethod stuff, not ShenandoahReentrantLock. Or will we have uses that we intend to backport? Not quite sure > here why we would want to push any code that's not currently used, and > not push the code plus its usage instead. That changeset can grow really big if we don't split it up. To make it work, it needs nmethod barrier, concurrent nmethod iteration, reentrant lock and etc. all in place. Which approach you prefer? Thanks, -Zhengyu > > Roman > > >> This is a prerequisite for concurrent nmethod unloading [1]. Currently, >> it has no users, but will be embedded into ShenandoahNMethod. >> >> I separate the two changes, in case we may want to backport >> ShenandoahNMethod changes. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8227104 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227104/webrev.00/ >> >> Test: >> ? fastdebug and release builds. >> >> Thanks, >> >> -Zhengyu >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8227102 > From rkennke at redhat.com Tue Jul 2 18:47:24 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 Jul 2019 20:47:24 +0200 Subject: RFR: Eliminate LoadAddr edge from LoadReferenceBarrier Message-ID: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> In the initial implementation of self-fixing LRB, I added an edge to ShenandoahLoadReferenceBarrierNode to carry the load-address. Roland pointed out that we could instead determine the load-address at LRB-expansion-time and simplify the code. That's what this patch does: http://cr.openjdk.java.net/~rkennke/sfx-loadaddr/webrev.00/ It should eliminate the possibility that this extra edge inhibits some optos (not sure if it actually solves any problems though). Testing: hotspot_gc_shenandoah ok Good to go to shenandoah/jdk? Side-notes: I've had some observations about Phis though: It seems we see the case fairly often that an input load gets split through phis, but the corresponding LRB is not. And then we sometimes get values on one path of the phi that would allow to optimize away the LRB, e.g. constants or allocations. Would it be worth to maybe also split the LRB through phis and enable to optimize them on paths that don't need them? Or even insert barriers late to begin with (like recently done in ZGC)? Roman From shade at redhat.com Tue Jul 2 18:53:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 Jul 2019 20:53:46 +0200 Subject: RFR: Eliminate LoadAddr edge from LoadReferenceBarrier In-Reply-To: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> References: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> Message-ID: On 7/2/19 8:47 PM, Roman Kennke wrote: > In the initial implementation of self-fixing LRB, I added an edge to > ShenandoahLoadReferenceBarrierNode to carry the load-address. Roland > pointed out that we could instead determine the load-address at > LRB-expansion-time and simplify the code. That's what this patch does: > > http://cr.openjdk.java.net/~rkennke/sfx-loadaddr/webrev.00/ Cute. Good to go to sh/jdk. -- Thanks, -Aleksey From rkennke at redhat.com Tue Jul 2 19:36:24 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Tue, 02 Jul 2019 19:36:24 +0000 Subject: hg: shenandoah/jdk: Eliminate LoadAddr edge from LoadReferenceBarrier Message-ID: <201907021936.x62JaO4N012265@aojmv0008.oracle.com> Changeset: 0b8d37a15d85 Author: rkennke Date: 2019-07-02 20:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/0b8d37a15d85 Eliminate LoadAddr edge from LoadReferenceBarrier ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp From rwestrel at redhat.com Wed Jul 3 06:58:31 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 03 Jul 2019 08:58:31 +0200 Subject: RFR: Eliminate LoadAddr edge from LoadReferenceBarrier In-Reply-To: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> References: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> Message-ID: <87h883a9k8.fsf@redhat.com> > I've had some observations about Phis though: It seems we see the case > fairly often that an input load gets split through phis, but the > corresponding LRB is not. And then we sometimes get values on one path > of the phi that would allow to optimize away the LRB, e.g. constants or > allocations. Would it be worth to maybe also split the LRB through phis > and enable to optimize them on paths that don't need them? Splitting LRBs through phi makes sense to me. Then the only LRBs that would be left would have a load as input, right? And figuring the load address would be straightforward. Roland. From rkennke at redhat.com Wed Jul 3 07:31:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 09:31:55 +0200 Subject: RFR: Eliminate LoadAddr edge from LoadReferenceBarrier In-Reply-To: <87h883a9k8.fsf@redhat.com> References: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> <87h883a9k8.fsf@redhat.com> Message-ID: <0a8c1e84-78bd-a3fe-b364-2d30bc0c93e7@redhat.com> >> I've had some observations about Phis though: It seems we see the case >> fairly often that an input load gets split through phis, but the >> corresponding LRB is not. And then we sometimes get values on one path >> of the phi that would allow to optimize away the LRB, e.g. constants or >> allocations. Would it be worth to maybe also split the LRB through phis >> and enable to optimize them on paths that don't need them? > > Splitting LRBs through phi makes sense to me. Then the only LRBs that > would be left would have a load as input, right? And figuring the > load address would be straightforward. Ok. I wonder if it makes sense to pursue that and the safepointing issue (which seems important), or go for late barrier insertion to begin with, which would solve both. I have no idea about the complexities of either path, and also if late insertion has any new problems of its own. I'll leave that to you ;-) Thanks, Roman From rwestrel at redhat.com Wed Jul 3 08:02:59 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 03 Jul 2019 10:02:59 +0200 Subject: RFR: Eliminate LoadAddr edge from LoadReferenceBarrier In-Reply-To: <0a8c1e84-78bd-a3fe-b364-2d30bc0c93e7@redhat.com> References: <3a21548a-12c5-572d-98f2-12260bf6fd46@redhat.com> <87h883a9k8.fsf@redhat.com> <0a8c1e84-78bd-a3fe-b364-2d30bc0c93e7@redhat.com> Message-ID: <874l43a6ks.fsf@redhat.com> > I wonder if it makes sense to pursue that and the safepointing issue > (which seems important), or go for late barrier insertion to begin with, > which would solve both. I have no idea about the complexities of either > path, and also if late insertion has any new problems of its own. I'll > leave that to you ;-) I'm unconvinced it's worthwhile to pursue late insertion. It seems solving the safepointing issue is simple enough. So I'm not sure what late insertion really buys us while it's quite possible it won't be straightforward. Roland. From shade at redhat.com Wed Jul 3 08:33:10 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 10:33:10 +0200 Subject: RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode In-Reply-To: References: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> Message-ID: On 7/2/19 11:32 AM, Roman Kennke wrote: > There was a small mistake in one of the tests. Updated webrev: > > http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.02/ *) Looks like the synopsis is incorrect. Should be e.g. "Make passive/normal/traversal modes explicit", or something. *) Please make sure it builds with --disable-precompiled-headers *) Changes like these are not exactly for making a separate mode? The condition seems superficial even without explicit mode: ShenandoahSATBBarrier should not be active with traversal? If so, might be worthwhile to split out, this would make current changeset a bit less denser. - if (ShenandoahSATBBarrier && !dest_uninitialized && !ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc()) { + if (ShenandoahSATBBarrier && !dest_uninitialized) { *) Rewrite this: GCMode default_mode = heap->is_traversal_mode() ? concurrent_traversal : concurrent_normal; GCCause::Cause default_cause = default_mode == concurrent_traversal ? GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; Into this: GCMode default_mode = heap->is_traversal_mode() ? concurrent_traversal : concurrent_normal; GCCause::Cause default_cause = heap->is_traversal_mode() ? GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; *) shenandoah_globals.hpp still mention "passive" is heuristics, not mode. Happens in both ShenandoahGCHeuristics and ShenandoahGCMode option descriptions. *) TestObjItrWithHeapDump.java, TestClassLoaderLeak.java: indenting is confusing. Suggestion: String[][][] modeHeuristics = new String[][][] { {{"normal"}, {"adaptive", "compact", "static", "aggressive"}}, {{"traversal"}, {"adaptive"}}, {{"passive"}, {"passive"}} }; ...by the way, shouldn't "traversal" mode have "traversal" heuristics here? I see shenandoahTraversalMode equate "adaptive" to ShenandoahTraversalHeuristics, which I believe is confusing... *) @run lines indenting is not correct in TestRefprocSanity.java -- Thanks, -Aleksey From shade at redhat.com Wed Jul 3 08:47:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 10:47:05 +0200 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration In-Reply-To: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> References: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> Message-ID: <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> On 7/2/19 6:51 PM, Zhengyu Gu wrote: > This refactor is one of subtasks for concurrent nmethod unloading [1]. > > It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation for more complicated > concurrent nmethod iteration. > > Borrowing what ZGC does, only records oops embedded in relocation stream to reduce memory footprint. > Also, attaches ShenandoahNMethod to nmethod's gc_data, so that it avoids additional searching during > re-register nmethod. > > Let's use shenandoah/jdk for concurrent nmethod unloading work, while we stabilize early concurrent > root work in jdk/jdk. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ I have several design concerns here: *) The ability to attach binary blob data to nmethod only exists since JDK 12 (JDK-8214056), which would break the backporting. Current code deliberately does its own thing, so that it works everywhere. *) If you use nmethod data, you need to implement CollectedHeap::flush_nmethod that would delete ShenandoahNMethod, otherwise this would leak memory. *) Scanning relocation stream only might be an interesting thing to do, but I think the performance improvements we would get from this does not justify the risks of avoiding "proper" oops_do, especially after code roots are scanned concurrently. Can you say what exactly do you need to enable "more complicated concurrent nmethod iteration"? -Aleksey From shade at redhat.com Wed Jul 3 09:31:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 11:31:05 +0200 Subject: RFR (S) 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC In-Reply-To: <4146efa7-8165-c294-f889-92724e8d1e8f@redhat.com> References: <4146efa7-8165-c294-f889-92724e8d1e8f@redhat.com> Message-ID: <8e2151f0-f6a3-f5e3-f12d-3b6cde629be8@redhat.com> On 6/12/19 1:10 PM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8224881 > > The failure is extremely hard to reproduce: I spent many hours trying, to no avail. It requires a > few unlikely things to happen at once. I managed to reproduce it a few times locally with the large > test, and the fix seems to help it. So, I would like to push the fix and see if it reproduces in the > upcoming months. > > Fix: > http://cr.openjdk.java.net/~shade/8224881/webrev.01/ Upon review, I realized this got into jdk/jdk after fork to jdk13: http://hg.openjdk.java.net/jdk/jdk/rev/2c47220ce9bb I would like to have it in jdk13 too. Okay to push to jdk/jdk13 too? -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 3 09:49:15 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 11:49:15 +0200 Subject: RFR (S) 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC In-Reply-To: <8e2151f0-f6a3-f5e3-f12d-3b6cde629be8@redhat.com> References: <4146efa7-8165-c294-f889-92724e8d1e8f@redhat.com> <8e2151f0-f6a3-f5e3-f12d-3b6cde629be8@redhat.com> Message-ID: <46c4b62a-3962-0cd9-b637-a090be18bfc5@redhat.com> >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8224881 >> >> The failure is extremely hard to reproduce: I spent many hours trying, to no avail. It requires a >> few unlikely things to happen at once. I managed to reproduce it a few times locally with the large >> test, and the fix seems to help it. So, I would like to push the fix and see if it reproduces in the >> upcoming months. >> >> Fix: >> http://cr.openjdk.java.net/~shade/8224881/webrev.01/ > > Upon review, I realized this got into jdk/jdk after fork to jdk13: > http://hg.openjdk.java.net/jdk/jdk/rev/2c47220ce9bb > > I would like to have it in jdk13 too. Okay to push to jdk/jdk13 too? Good to me. Roman From rkennke at redhat.com Wed Jul 3 11:40:59 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 13:40:59 +0200 Subject: RFR: Introduce ShenandoahSelfFixing flag Message-ID: I propose to add a flag ShenandoahSelfFixing that turns on/off self-fixing references via LRB. Defaulting to on because it doesn't seem to harm most programs that I have looked at, and seems to improve latency by helping avoid the LRB slow-paths. It'll be useful for differential performance testing and recovering throughput in the rare cases where it matters. It works by passing NULL instead of the load-addr in C2 generation. This fully restores performance characteristics of baseline (e.g. jdk/jdk) http://cr.openjdk.java.net/~rkennke/sfx-flag/webrev.00/ Testing: hotspot_gc_shenandoah Ok for sh/jdk ? Roman From zgu at redhat.com Wed Jul 3 13:00:18 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 3 Jul 2019 09:00:18 -0400 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration In-Reply-To: <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> References: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> Message-ID: <8d744951-741a-aa5a-3065-6aaa0f05eeed@redhat.com> On 7/3/19 4:47 AM, Aleksey Shipilev wrote: > On 7/2/19 6:51 PM, Zhengyu Gu wrote: >> This refactor is one of subtasks for concurrent nmethod unloading [1]. >> >> It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation for more complicated >> concurrent nmethod iteration. >> >> Borrowing what ZGC does, only records oops embedded in relocation stream to reduce memory footprint. >> Also, attaches ShenandoahNMethod to nmethod's gc_data, so that it avoids additional searching during >> re-register nmethod. >> >> Let's use shenandoah/jdk for concurrent nmethod unloading work, while we stabilize early concurrent >> root work in jdk/jdk. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ > > I have several design concerns here: > > *) The ability to attach binary blob data to nmethod only exists since JDK 12 (JDK-8214056), which > would break the backporting. Current code deliberately does its own thing, so that it works everywhere.Attaching ShenandoahNMethod to nmethod is needed for concurrent nmethod unloading. So, I guess there is no point to break down concurrent nmethod unloading changeset, seems JDK13 is the limit. So I would like to withdraw this RFR. > > *) If you use nmethod data, you need to implement CollectedHeap::flush_nmethod that would delete > ShenandoahNMethod, otherwise this would leak memory. Yes. It will be deleted in flush_nmethod(). Concurrently it is deleted in unregister_nmethod(). > > *) Scanning relocation stream only might be an interesting thing to do, but I think the performance > improvements we would get from this does not justify the risks of avoiding "proper" oops_do, > especially after code roots are scanned concurrently. I don't get this. Concurrent scanning and updating oops array, etc. will always be protected by reentrant lock. I am not sure what "risks of avoiding "proper" oops_do means. Most of generated methods (e.g. Lambda methods) only contain one embedded oop for keeping them alive, so creating oop array for them seems overkill. > > Can you say what exactly do you need to enable "more complicated concurrent nmethod iteration"? During unloading concurrent nmethod iteration, it can trigger nmethod unregistration by iterating threads, while sweep and compiler threads can register/unregister/flush nmethod concurrently. Thanks, -Zhengyu > > -Aleksey > From shade at redhat.com Wed Jul 3 14:16:38 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 16:16:38 +0200 Subject: RFR: Introduce ShenandoahSelfFixing flag In-Reply-To: References: Message-ID: <31e349c5-379b-9151-fd00-34ad9ec5326b@redhat.com> On 7/3/19 1:40 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/sfx-flag/webrev.00/ Looks good. I wonder if that check should be in ShenandoahBarrierC2Support::get_load_addr itself. -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 3 14:37:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 16:37:37 +0200 Subject: RFR: Introduce ShenandoahSelfFixing flag In-Reply-To: <31e349c5-379b-9151-fd00-34ad9ec5326b@redhat.com> References: <31e349c5-379b-9151-fd00-34ad9ec5326b@redhat.com> Message-ID: <48504b50-f81f-0ca1-f2c3-e4c13f7759c7@redhat.com> > On 7/3/19 1:40 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/sfx-flag/webrev.00/ > > Looks good. I wonder if that check should be in ShenandoahBarrierC2Support::get_load_addr itself. Yes, that was my initial thought too. But then it would uselessly create the visited set, and check the flag for each recursive call too. It doesn't hurt much, but this way seems cleaner. The block could be extracted to another method though...? Roman From shade at redhat.com Wed Jul 3 14:38:44 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 16:38:44 +0200 Subject: RFR: Introduce ShenandoahSelfFixing flag In-Reply-To: <48504b50-f81f-0ca1-f2c3-e4c13f7759c7@redhat.com> References: <31e349c5-379b-9151-fd00-34ad9ec5326b@redhat.com> <48504b50-f81f-0ca1-f2c3-e4c13f7759c7@redhat.com> Message-ID: <2a470f12-6cc7-20f9-9b3d-bf0d0ea72124@redhat.com> On 7/3/19 4:37 PM, Roman Kennke wrote: >> On 7/3/19 1:40 PM, Roman Kennke wrote: >>> http://cr.openjdk.java.net/~rkennke/sfx-flag/webrev.00/ >> >> Looks good. I wonder if that check should be in ShenandoahBarrierC2Support::get_load_addr itself. > > Yes, that was my initial thought too. But then it would uselessly create > the visited set, and check the flag for each recursive call too. It > doesn't hurt much, but this way seems cleaner. The block could be > extracted to another method though...? Whatever is simpler. We can leave it as is. -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 3 15:19:33 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 03 Jul 2019 15:19:33 +0000 Subject: hg: shenandoah/jdk: Introduce ShenandoahSelfFixing flag Message-ID: <201907031519.x63FJXe9001198@aojmv0008.oracle.com> Changeset: 6fa068615a94 Author: rkennke Date: 2019-07-03 17:19 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/6fa068615a94 Introduce ShenandoahSelfFixing flag ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp From rkennke at redhat.com Wed Jul 3 15:35:31 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 17:35:31 +0200 Subject: RFR: JDK-8227199: Shenandoah: Remove superfluous calls to can_do_traversal_gc() Message-ID: <7ea0429f-5b84-ef47-fc17-c53799c78dbe@redhat.com> We've got a few calls to can_do_traversal_gc() in assembler which are superfluous because ShenandoahSATBBarrier is already checked and covers the traversal case. Let's remove them. Bug: https://bugs.openjdk.java.net/browse/JDK-8227199 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8227199/webrev.00/ Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Wed Jul 3 15:39:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 Jul 2019 17:39:28 +0200 Subject: RFR: JDK-8227199: Shenandoah: Remove superfluous calls to can_do_traversal_gc() In-Reply-To: <7ea0429f-5b84-ef47-fc17-c53799c78dbe@redhat.com> References: <7ea0429f-5b84-ef47-fc17-c53799c78dbe@redhat.com> Message-ID: <45facff5-113c-7f59-4007-8cb6c61ee995@redhat.com> On 7/3/19 5:35 PM, Roman Kennke wrote: > We've got a few calls to can_do_traversal_gc() in assembler which are > superfluous because ShenandoahSATBBarrier is already checked and covers > the traversal case. Let's remove them. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8227199 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8227199/webrev.00/ OK. Thanks! -Aleksey From rkennke at redhat.com Wed Jul 3 16:16:34 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 Jul 2019 18:16:34 +0200 Subject: RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode In-Reply-To: References: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> Message-ID: Hi Aleksey, Thanks for reviewing! >> There was a small mistake in one of the tests. Updated webrev: >> >> http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.02/ > *) Looks like the synopsis is incorrect. Should be e.g. "Make passive/normal/traversal modes > explicit", or something. Changed it to: "Shenandoah: Make traversal and passive modes explicit" > *) Please make sure it builds with --disable-precompiled-headers Done. Required logging includes. > *) Changes like these are not exactly for making a separate mode? The condition seems superficial > even without explicit mode: ShenandoahSATBBarrier should not be active with traversal? If so, might > be worthwhile to split out, this would make current changeset a bit less denser. > > - if (ShenandoahSATBBarrier && !dest_uninitialized && > !ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc()) { > + if (ShenandoahSATBBarrier && !dest_uninitialized) { Split out and pushed under: https://bugs.openjdk.java.net/browse/JDK-8227199 > *) Rewrite this: > > GCMode default_mode = heap->is_traversal_mode() ? concurrent_traversal : concurrent_normal; > GCCause::Cause default_cause = default_mode == concurrent_traversal ? > GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; > > Into this: > > GCMode default_mode = heap->is_traversal_mode() ? > concurrent_traversal : concurrent_normal; > GCCause::Cause default_cause = heap->is_traversal_mode() ? > GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; Done. > *) shenandoah_globals.hpp still mention "passive" is heuristics, not mode. Happens in both > ShenandoahGCHeuristics and ShenandoahGCMode option descriptions. Fixed. > *) TestObjItrWithHeapDump.java, TestClassLoaderLeak.java: indenting is confusing. Suggestion: > > String[][][] modeHeuristics = new String[][][] { > {{"normal"}, {"adaptive", "compact", "static", "aggressive"}}, > {{"traversal"}, {"adaptive"}}, > {{"passive"}, {"passive"}} > }; Done. > ...by the way, shouldn't "traversal" mode have "traversal" heuristics here? I see > shenandoahTraversalMode equate "adaptive" to ShenandoahTraversalHeuristics, which I believe is > confusing... Well, the default traversal heuristics mimics the normal adaptive heuristics as much as possible, and it is also adaptive. IMO it makes sense to call it adaptive heuristics. I am about to also add an aggressive heuristic to traversal mode. I'd rather keep it. > *) @run lines indenting is not correct in TestRefprocSanity.java Fixed. Incremental: http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.03.diff/ Full: http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.03/ Good? Roman From shade at redhat.com Thu Jul 4 08:38:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Jul 2019 10:38:46 +0200 Subject: RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode In-Reply-To: References: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> Message-ID: <6f409488-82c3-fd0c-8872-afd36165e0a0@redhat.com> On 7/3/19 6:16 PM, Roman Kennke wrote: >> GCMode default_mode = heap->is_traversal_mode() ? >> concurrent_traversal : concurrent_normal; >> GCCause::Cause default_cause = heap->is_traversal_mode() ? >> GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; > > Done. Note heap->is_traversal_mode() in the second statement. There is no need to introduce superficial dependency between two statements by using default_mode in the second one. >> *) shenandoah_globals.hpp still mention "passive" is heuristics, not mode. Happens in both >> ShenandoahGCHeuristics and ShenandoahGCMode option descriptions. > > Fixed. Not accurate, because we would mostly run degen GC in this mode: 78 " *) passive - do not start concurrent GC, wait for Full GC; ") \ Let's say "passive - disable concurrent GC, do stop-the-world GC". >> ...by the way, shouldn't "traversal" mode have "traversal" heuristics here? I see >> shenandoahTraversalMode equate "adaptive" to ShenandoahTraversalHeuristics, which I believe is >> confusing... > > Well, the default traversal heuristics mimics the normal adaptive > heuristics as much as possible, and it is also adaptive. IMO it makes > sense to call it adaptive heuristics. I am about to also add an > aggressive heuristic to traversal mode. I'd rather keep it. Right, make sense. > Full: > http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.03/ Looks good, modulo changes above. -- Thanks, -Aleksey From rkennke at redhat.com Thu Jul 4 12:29:22 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 Jul 2019 14:29:22 +0200 Subject: RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode In-Reply-To: <6f409488-82c3-fd0c-8872-afd36165e0a0@redhat.com> References: <6d1681df-3ed9-4f25-08a4-5e2be80eb9c8@redhat.com> <6f409488-82c3-fd0c-8872-afd36165e0a0@redhat.com> Message-ID: Hi Aleksey, >>> GCMode default_mode = heap->is_traversal_mode() ? >>> concurrent_traversal : concurrent_normal; >>> GCCause::Cause default_cause = heap->is_traversal_mode() ? >>> GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc; >> >> Done. > > Note heap->is_traversal_mode() in the second statement. There is no need to introduce superficial > dependency between two statements by using default_mode in the second one. > >>> *) shenandoah_globals.hpp still mention "passive" is heuristics, not mode. Happens in both >>> ShenandoahGCHeuristics and ShenandoahGCMode option descriptions. >> >> Fixed. > > Not accurate, because we would mostly run degen GC in this mode: > 78 " *) passive - do not start concurrent GC, wait for Full GC; ") \ > > Let's say "passive - disable concurrent GC, do stop-the-world GC". > > >>> ...by the way, shouldn't "traversal" mode have "traversal" heuristics here? I see >>> shenandoahTraversalMode equate "adaptive" to ShenandoahTraversalHeuristics, which I believe is >>> confusing... >> >> Well, the default traversal heuristics mimics the normal adaptive >> heuristics as much as possible, and it is also adaptive. IMO it makes >> sense to call it adaptive heuristics. I am about to also add an >> aggressive heuristic to traversal mode. I'd rather keep it. > > Right, make sense. > >> Full: >> http://cr.openjdk.java.net/~rkennke/JDK-8226757/webrev.03/ > > Looks good, modulo changes above. Did the changes and pushed. Thanks! Roman From rkennke at redhat.com Thu Jul 4 18:37:02 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 Jul 2019 20:37:02 +0200 Subject: RFR: JDK-8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Message-ID: IN_NATIVE accesses in compiled code should go to runtime, in order to be able to check reachability of accessed objects, and possibly offer NULL for unreachable objects. Bug: https://bugs.openjdk.java.net/browse/JDK-8226695 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8226695/webrev.00/ Testing: hotspot_gc_dev Ok? Roman From rkennke at redhat.com Thu Jul 4 18:43:27 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 Jul 2019 20:43:27 +0200 Subject: RFR: JDK-8227039: Shenandoah: Aggressive heuristics for Traversal mode Message-ID: We have aggressive heuristic in normal/default mode which is great for testing by running GC continuosly and using large/maximum collection set. We should add similar heuristics for Traversal mode in order to ramp up testing of it. The traversal-aggressive heuristic mimics the normal-aggressive: it runs GCs back-to-back and selects any region with garbage into the cset. I added traversal-aggressive test configs whereever normal-aggressive test configs are present. Bug: https://bugs.openjdk.java.net/browse/JDK-8227039 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.00/ Testing: hotspot_gc_shenandoah Can I please get reviews? Thanks, Roman From shade at redhat.com Thu Jul 4 18:59:06 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 Jul 2019 20:59:06 +0200 Subject: RFR: JDK-8227039: Shenandoah: Aggressive heuristics for Traversal mode In-Reply-To: References: Message-ID: On 7/4/19 8:43 PM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.00/ *) Indenting at L52: 49 if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) { 50 return new ShenandoahTraversalHeuristics(); 51 } else if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) { 52 return new ShenandoahTraversalAggressiveHeuristics(); 53 } else { *) I'd say in test configuration the mode should come first, then heuristics. See for example: http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.00/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java.sdiff.html Otherwise looks fine. -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 5 08:59:33 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 10:59:33 +0200 Subject: RFR: JDK-8227039: Shenandoah: Aggressive heuristics for Traversal mode In-Reply-To: References: Message-ID: <755cf0e0-10df-201b-97b4-688fbe561a21@redhat.com> >> Webrev: >> http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.00/ > > *) Indenting at L52: > > 49 if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) { > 50 return new ShenandoahTraversalHeuristics(); > 51 } else if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) { > 52 return new ShenandoahTraversalAggressiveHeuristics(); > 53 } else { Good catch! Fixed! > *) I'd say in test configuration the mode should come first, then heuristics. See for example: > > http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.00/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java.sdiff.html Right! Fixed it there and all other instances that I could find. Incremental: http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.01/ Full: http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.01.full/ Testing: same as always ;-) Ok? Roman From shade at redhat.com Fri Jul 5 09:05:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 Jul 2019 11:05:28 +0200 Subject: RFR: JDK-8227039: Shenandoah: Aggressive heuristics for Traversal mode In-Reply-To: <755cf0e0-10df-201b-97b4-688fbe561a21@redhat.com> References: <755cf0e0-10df-201b-97b4-688fbe561a21@redhat.com> Message-ID: <22b90f86-9507-febd-7e0c-7dfe752d230d@redhat.com> On 7/5/19 10:59 AM, Roman Kennke wrote: > Incremental: > http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.01/ > Full: > http://cr.openjdk.java.net/~rkennke/JDK-8227039/webrev.01.full/ Looks good to me. -- Thanks, -Aleksey From shade at redhat.com Fri Jul 5 11:33:01 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 Jul 2019 13:33:01 +0200 Subject: SFX and address cloning problem Message-ID: Hi, Chasing the performance regressions with SFX, I was looking at the generated code for the simplest test case from gc-bench: http://icedtea.classpath.org/hg/gc-bench/file/369cf7ad42af/src/main/java/org/openjdk/gcbench/runtime/reads/Plain.java#l103 Runs with current sh/jdk like this: $ java -jar target/benchmarks.jar reads.Plain.test_Object -f 1 --jvmArgs "-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+UseShenandoahGC -XX:+ShenandoahSelfFixing -Xmx1g -XX:-UseCompressedOops" -prof perfasm:printMargin=20 Generated code is: [Verified Entry Point] ......................... prolog .............................. 3.11% 0x00007fa8dbb28630: mov %eax,-0x14000(%rsp) 4.40% 0x00007fa8dbb28637: push %rbp 0.92% 0x00007fa8dbb28638: sub $0x10,%rsp .................... first read .............................. 4.08% 0x00007fa8dbb2863c: add $0x10,%rsi ; %rsi = addr 1.92% 0x00007fa8dbb28640: mov (%rsi),%r11 ; %r11 = oop 1.03% 0x00007fa8dbb28643: movabs $0x7fa8740ae000,%r12 1.97% 0x00007fa8dbb2864d: testb $0x1,0x20(%r15) 2.56% ? 0x00007fa8dbb28652: jne 0x00007fa8dbb2867c .................. second read .............................. 1.74% ?? 0x00007fa8dbb28654: test %r11,%r11 ; null-check ?? 0x00007fa8dbb28657: je 0x00007fa8dbb286cf 1.26% ?? 0x00007fa8dbb28659: add $0x30,%r11 ; %r11 = addr 2.29% ?? 0x00007fa8dbb2865d: mov (%r11),%rsi ; %rsi = oop 3.74% ?? 0x00007fa8dbb28660: testb $0x1,0x20(%r15) 1.10% ?? 0x00007fa8dbb28665: jne 0x00007fa8dbb286a4 ....................... sink .............................. 1.05% ?? 0x00007fa8dbb28667: callq 0x00007fa8dbb28300 ..................... epilog .............................. 2.59% ?? 0x00007fa8dbb2866c: add $0x10,%rsp 2.15% ?? 0x00007fa8dbb28670: pop %rbp 1.86% ?? 0x00007fa8dbb28671: mov 0x108(%r15),%r10 2.95% ?? 0x00007fa8dbb28678: test %eax,(%r10) 1.12% ?? 0x00007fa8dbb2867b: retq ...................... LRB .................................. ?? 0x00007fa8dbb2867c: mov %r11,%r10 ? 0x00007fa8dbb2867f: shr $0x13,%r10 ? 0x00007fa8dbb28683: cmpb $0x0,(%r12,%r10,1) ? 0x00007fa8dbb28688: je 0x00007fa8dbb28654 0x00007fa8dbb2868a: test %r11,%r11 0x00007fa8dbb2868d: je 0x00007fa8dbb286cf 0x00007fa8dbb2868f: mov %r11,%rdi 0x00007fa8dbb28692: movabs $0x7fa8f1d92d70,%r10 0x00007fa8dbb2869c: callq *%r10 The absence of implicit null check in both reads, and separate address calculation is intriguing. Without SFX, address calculation would be folded into complex memory operand, and implicit NPE would be there. I suspected that attaching the LRB input to the AddP in address calculation broke the matching rules. So, I tried to clone it: diff -r 6fa068615a94 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Wed Jul 03 17:19:16 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Fri Jul 05 11:51:13 2019 +0200 @@ -1530,6 +1530,12 @@ } else { addr = phase->igvn().zerocon(T_OBJECT); } + if (addr->Opcode() == Op_AddP) { + addr = addr->clone(); + addr->set_req(0, ctrl); // Critical? Bad generated code without it... + phase->register_new_node(addr, ctrl); + } + call_lrb_stub(ctrl, fwd, addr, result_mem, raw_mem, phase); region->init_req(_evac_path, ctrl); val_phi->init_req(_evac_path, fwd); And both the generated code in simplest example *and* performance drop with SFX on SPECjvm is gone! Yay! This is the generated code with AddP clone: [Verified Entry Point] ......................... prolog .............................. 0.71% 0x00007f3f57b263b0: mov %eax,-0x14000(%rsp) 4.94% 0x00007f3f57b263b7: push %rbp 1.02% 0x00007f3f57b263b8: sub $0x10,%rsp .................... first read .............................. 1.75% 0x00007f3f57b263bc: mov 0x10(%rsi),%r11 ; !!!! 2.18% 0x00007f3f57b263c0: movabs $0x7f3ef0181000,%r12 0.77% 0x00007f3f57b263ca: testb $0x1,0x20(%r15) 0.27% ? 0x00007f3f57b263cf: jne 0x00007f3f57b263f4 .................. second read .............................. 1.86% ?? 0x00007f3f57b263d1: mov 0x30(%r11),%r8 ; !!!! 2.91% ?? 0x00007f3f57b263d5: testb $0x1,0x20(%r15) 0.71% ?? 0x00007f3f57b263da: jne 0x00007f3f57b26420 ......................... sink .............................. 0.53% ?? 0x00007f3f57b263dc: mov %r8,%rsi 0.95% ?? 0x00007f3f57b263df: callq 0x00007f3f4ff9e880 ....................... epilog .............................. 0.64% ?? 0x00007f3f57b263e4: add $0x10,%rsp 1.65% ?? 0x00007f3f57b263e8: pop %rbp 3.33% ?? 0x00007f3f57b263e9: mov 0x108(%r15),%r10 0.40% ?? 0x00007f3f57b263f0: test %eax,(%r10) 7.24% ?? 0x00007f3f57b263f3: retq ......................... LRB .............................. ?? 0x00007f3f57b263f4: mov %r11,%r10 ? 0x00007f3f57b263f7: shr $0x13,%r10 ? 0x00007f3f57b263fb: cmpb $0x0,(%r12,%r10,1) ? 0x00007f3f57b26400: je 0x00007f3f57b263d1 0x00007f3f57b26402: test %r11,%r11 0x00007f3f57b26405: je 0x00007f3f57b2644f 0x00007f3f57b26407: add $0x10,%rsi ; compute addr here 0x00007f3f57b2640b: mov %r11,%rdi 0x00007f3f57b2640e: movabs $0x7f3f6ddced70,%r10 0x00007f3f57b26418: callq *%r10 So this *almost* works, except it crashes some tests: $ CONF=linux-x86_64-server-fastdebug make images test TEST=gc/shenandoah/options/TestSelectiveBarrierFlags.java ... # Internal Error (/home/shade/trunks/shenandoah-jdk/src/hotspot/share/opto/matcher.cpp:1870), pid=28418, tid=28430 # assert(kid == __null || s->_leaf->in(0) == __null) failed: internal operands have no control So, what would be the proper way to clone the AddP here? -- Thanks, -Aleksey From rwestrel at redhat.com Fri Jul 5 12:04:43 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 05 Jul 2019 14:04:43 +0200 Subject: SFX and address cloning problem In-Reply-To: References: Message-ID: <875zog8z6s.fsf@redhat.com> > So, I tried to clone it: > > diff -r 6fa068615a94 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Wed Jul 03 17:19:16 2019 +0200 > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Fri Jul 05 11:51:13 2019 +0200 > @@ -1530,6 +1530,12 @@ > } else { > addr = phase->igvn().zerocon(T_OBJECT); > } > + if (addr->Opcode() == Op_AddP) { > + addr = addr->clone(); > + addr->set_req(0, ctrl); // Critical? Bad generated code without it... > + phase->register_new_node(addr, ctrl); > + } > + > call_lrb_stub(ctrl, fwd, addr, result_mem, raw_mem, phase); > region->init_req(_evac_path, ctrl); > val_phi->init_req(_evac_path, fwd); > I don't think setting the control on the the AddPNode can be made to work. There are several solutin to this: One is to not push the cloned AddP on the IGVN worklist: call phase->igvn()._worklist.yank(addr) after register_new_node(). That one is not 100% robust to work as the node could be transformed later as a side effect of something else. Clone the addr and change the base input so it's a CheckCastPPNode of the previous base input to the current type of the base input but with carry_dependency set. Set the control of the CheckCastPPNode. Do the cloning at graph final reshaping time. There's nothing that should common identical nodes then. Do the cloning as part of matching by changing Matcher::clone_address_expressions(). Roland. From rkennke at redhat.com Fri Jul 5 13:28:30 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 15:28:30 +0200 Subject: SFX and address cloning problem In-Reply-To: <875zog8z6s.fsf@redhat.com> References: <875zog8z6s.fsf@redhat.com> Message-ID: >> diff -r 6fa068615a94 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp >> --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Wed Jul 03 17:19:16 2019 +0200 >> +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Fri Jul 05 11:51:13 2019 +0200 >> @@ -1530,6 +1530,12 @@ >> } else { >> addr = phase->igvn().zerocon(T_OBJECT); >> } >> + if (addr->Opcode() == Op_AddP) { >> + addr = addr->clone(); >> + addr->set_req(0, ctrl); // Critical? Bad generated code without it... >> + phase->register_new_node(addr, ctrl); >> + } >> + >> call_lrb_stub(ctrl, fwd, addr, result_mem, raw_mem, phase); >> region->init_req(_evac_path, ctrl); >> val_phi->init_req(_evac_path, fwd); >> > > I don't think setting the control on the the AddPNode can be made to > work. There are several solutin to this: > > One is to not push the cloned AddP on the IGVN worklist: call > phase->igvn()._worklist.yank(addr) after register_new_node(). That one > is not 100% robust to work as the node could be transformed later as a > side effect of something else. > > Clone the addr and change the base input so it's a CheckCastPPNode of > the previous base input to the current type of the base input but with > carry_dependency set. Set the control of the CheckCastPPNode. This version sounds most feasible (if it works). Do I also need to treat the address input of the cloned AddP the same way? Roman > Do the cloning at graph final reshaping time. There's nothing that > should common identical nodes then. > > Do the cloning as part of matching by changing > Matcher::clone_address_expressions(). > > Roland. > From rwestrel at redhat.com Fri Jul 5 14:18:34 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 05 Jul 2019 16:18:34 +0200 Subject: SFX and address cloning problem In-Reply-To: References: <875zog8z6s.fsf@redhat.com> Message-ID: <8736jk8szp.fsf@redhat.com> > This version sounds most feasible (if it works). Do I also need to treat > the address input of the cloned AddP the same way? For field accesses you have: (AddP base base offset) i.e. address == base and you should replace base by the CheckCastPP for both edges or, for an array access, I think you can have: (AddP base (AddP base base offset1) offset2) You could clone both AddP and replace the 3 bases. Or maybe it's sufficient to clone the last one and replace the base only. Roland. From rkennke at redhat.com Fri Jul 5 14:31:44 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 16:31:44 +0200 Subject: SFX and address cloning problem In-Reply-To: <8736jk8szp.fsf@redhat.com> References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> Message-ID: <4b42865e-fc47-413f-face-c3545daae904@redhat.com> The below seems to work. Roland: does that look sane? Aleksey: can you check asm? http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.00/ Roman Am 05.07.19 um 16:18 schrieb Roland Westrelin: > >> This version sounds most feasible (if it works). Do I also need to treat >> the address input of the cloned AddP the same way? > > For field accesses you have: > > (AddP base base offset) > > i.e. address == base and you should replace base by the CheckCastPP for > both edges or, for an array access, I think you can have: > > (AddP base (AddP base base offset1) offset2) > > You could clone both AddP and replace the 3 bases. Or maybe it's > sufficient to clone the last one and replace the base only. > > Roland. > From rwestrel at redhat.com Fri Jul 5 14:35:03 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 05 Jul 2019 16:35:03 +0200 Subject: SFX and address cloning problem In-Reply-To: <4b42865e-fc47-413f-face-c3545daae904@redhat.com> References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> <4b42865e-fc47-413f-face-c3545daae904@redhat.com> Message-ID: <87zhls7dns.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.00/ I don't think you should CheckCastPP the address. Roland. From rkennke at redhat.com Fri Jul 5 14:37:46 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 16:37:46 +0200 Subject: SFX and address cloning problem In-Reply-To: <87zhls7dns.fsf@redhat.com> References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> <4b42865e-fc47-413f-face-c3545daae904@redhat.com> <87zhls7dns.fsf@redhat.com> Message-ID: <2f39c82d-c6d2-4b29-841b-1e09ab1f94c0@redhat.com> >> http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.00/ > > I don't think you should CheckCastPP the address. But it asserts somewhere in compile.cpp if I don't. Roman From rwestrel at redhat.com Fri Jul 5 14:39:30 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 05 Jul 2019 16:39:30 +0200 Subject: SFX and address cloning problem In-Reply-To: <2f39c82d-c6d2-4b29-841b-1e09ab1f94c0@redhat.com> References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> <4b42865e-fc47-413f-face-c3545daae904@redhat.com> <87zhls7dns.fsf@redhat.com> <2f39c82d-c6d2-4b29-841b-1e09ab1f94c0@redhat.com> Message-ID: <87wogw7dgd.fsf@redhat.com> > But it asserts somewhere in compile.cpp if I don't. Then you need to take it acount that there are 2 code patterns here depending on whether it's a field access or an array access. See other email. Roland. From rkennke at redhat.com Fri Jul 5 15:25:24 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 17:25:24 +0200 Subject: SFX and address cloning problem In-Reply-To: <87wogw7dgd.fsf@redhat.com> References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> <4b42865e-fc47-413f-face-c3545daae904@redhat.com> <87zhls7dns.fsf@redhat.com> <2f39c82d-c6d2-4b29-841b-1e09ab1f94c0@redhat.com> <87wogw7dgd.fsf@redhat.com> Message-ID: Ok, this here treats arrays and fields accesses differently like you suggested. This appears to work. I got a curious assert in jniHandles.cpp but that looked not related. I'll have an eye on that and see if it happens again. http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.01/ What do you think? Roman >> But it asserts somewhere in compile.cpp if I don't. > > Then you need to take it acount that there are 2 code patterns here > depending on whether it's a field access or an array access. See other > email. > > Roland. > From rwestrel at redhat.com Fri Jul 5 15:47:18 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 05 Jul 2019 17:47:18 +0200 Subject: SFX and address cloning problem In-Reply-To: References: <875zog8z6s.fsf@redhat.com> <8736jk8szp.fsf@redhat.com> <4b42865e-fc47-413f-face-c3545daae904@redhat.com> <87zhls7dns.fsf@redhat.com> <2f39c82d-c6d2-4b29-841b-1e09ab1f94c0@redhat.com> <87wogw7dgd.fsf@redhat.com> Message-ID: <87tvc07abd.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.01/ Good. Roland. From shade at redhat.com Fri Jul 5 18:40:59 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 Jul 2019 20:40:59 +0200 Subject: RFR (L) 8227327: Shenandoah: Faster and more parallel tests Message-ID: <8c020ff2-c06e-9f02-7718-cb5a3bcb699d@redhat.com> Current hotspot_gc_shenandoah suite runs in fastdebug like this: real 31m31.172s user 287m50.380s sys 5m28.277s This amounts to 9.1x parallelism on 16-thread machine. Clearly, something big is on the critical path. Profiling shows the critical path is largely dominated by GCBasherWithShenandoah, which takes 26 minutes to run through all configurations. Other huge tests also run for a long time. We can improve this by splitting @run into several @test groups -- this would execute @test-s in parallel, reducing the impact on critical path. The convenient way to split is by mode: passive, normal, traversal. Also, we can remove some the useless configurations from the tests. This becomes apparent once we reformat @run sections to be more digestible and following the same format. Webrev: https://cr.openjdk.java.net/~shade/8227327/webrev.01/ Patched version runs like this: real 17m53.136s user 247m50.750s sys 5m33.051s So, it yields ~13.7x parallelism on 16-thread machine, and does less work. Testing: hotspot_gc_shenandoah (d'uh) -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 5 20:37:14 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 Jul 2019 22:37:14 +0200 Subject: RFR (L) 8227327: Shenandoah: Faster and more parallel tests In-Reply-To: <8c020ff2-c06e-9f02-7718-cb5a3bcb699d@redhat.com> References: <8c020ff2-c06e-9f02-7718-cb5a3bcb699d@redhat.com> Message-ID: <46374c15-8a09-f449-46b8-697c420940b8@redhat.com> Very nice! Patch looks good! Roman > Current hotspot_gc_shenandoah suite runs in fastdebug like this: > > real 31m31.172s > user 287m50.380s > sys 5m28.277s > > This amounts to 9.1x parallelism on 16-thread machine. Clearly, something big is on the critical > path. Profiling shows the critical path is largely dominated by GCBasherWithShenandoah, which takes > 26 minutes to run through all configurations. Other huge tests also run for a long time. > > We can improve this by splitting @run into several @test groups -- this would execute @test-s in > parallel, reducing the impact on critical path. The convenient way to split is by mode: passive, > normal, traversal. > > Also, we can remove some the useless configurations from the tests. This becomes apparent once we > reformat @run sections to be more digestible and following the same format. > > Webrev: > https://cr.openjdk.java.net/~shade/8227327/webrev.01/ > > Patched version runs like this: > > real 17m53.136s > user 247m50.750s > sys 5m33.051s > > So, it yields ~13.7x parallelism on 16-thread machine, and does less work. > > Testing: hotspot_gc_shenandoah (d'uh) > From rkennke at redhat.com Sat Jul 6 10:56:46 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 6 Jul 2019 12:56:46 +0200 Subject: RFR: Handle Op_Parm in get_load_addr() Message-ID: One test hit a Parm in get_load_addr(). Let's handle it. BTW: This (and others like Con, Calls, allocs) shouldn't be necessary when we'd split LRBs through phis, they would get optimized out, and we should get LRBs only where we really want them: after loads. http://cr.openjdk.java.net/~rkennke/sfx-parm/webrev.00/ Testing: hotspot_gc_shenandoah Ok? Roman From rkennke at redhat.com Sat Jul 6 11:07:30 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 6 Jul 2019 13:07:30 +0200 Subject: RFR: Clone address before LRB runtime calls, fixes implicit null-checking Message-ID: Current LRB expansion w/ SFX breaks implicit null-checking. It's caused by sharing of the load-address. The fix is to clone the address for use in the LRB runtime-call. http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.02/ Testing: hotspot_gc_shenandoah Ok? Roman From gnu.andrew at redhat.com Mon Jul 8 01:47:17 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Mon, 8 Jul 2019 02:47:17 +0100 Subject: [RFR] [8u] 8u222-b08 Upstream Sync Message-ID: <3ea90b68-363c-507e-993e-353f81cc3ee7@redhat.com> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/root/merge.changeset Changes in aarch64-shenandoah-jdk8u222-b08: - S8031145: Re-examine closed i18n tests to see it they can be moved to the jdk repository. - S8040211: Update LSR datafile for BCP 47 - S8177472: Remove hard-coded IANA Subtag Registry map in LocaleEquivalentMap.java - S8181594: Efficient and constant-time modular arithmetic - S8182999: SunEC throws ProviderException on invalid curves - S8187946: Support ISO 4217 Amendments 163 and 164 - S8191404: Upgrading JDK with latest available LSR data from IANA. - S8193552: ISO 4217 amendment 165 - S8195478: sun/text/resources/LocaleDataTest.java fails with java.lang.Exception - S8201317: X25519/X448 code improvements - S8202026: ISO 4217 amendment 166 - S8203228: Branch-free output conversion for X25519 and X448 - S8203872: Upgrading JDK with latest available LSR data from IANA. - S8204269: ISO 4217 amendment 167 - S8208648: ECC Field Arithmetic Enhancements - S8208698: Improved ECC Implementation - S8208746: ISO 4217 Amendment #168 update - S8209775: ISO 4217 Amendment #169 update - S8210153: localized currency symbol of VES - S8213294: Upgrade IANA LSR data - S8214935: Upgrade IANA LSR data - S8219781: Localized names for Japanese era Reiwa in COMPAT provider Main issues of note: These are all JDK changes, so no real merge with the Shenandoah+AArch64 HotSpot code to speak of. diffstat for root b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for corba b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for jaxp b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for jaxws b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for langtools b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for nashorn b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) diffstat for jdk a/src/share/classes/sun/util/locale/LocaleEquivalentMaps.java | 214 b/.hgtags | 2 b/make/Tools.gmk | 3 b/make/data/lsrdata/language-subtag-registry.txt | 1237 ++++ b/make/gensrc/GensrcLocaleDataMetaInfo.gmk | 12 b/make/mapfiles/libsunec/mapfile-vers | 3 b/make/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java | 245 b/src/share/classes/java/util/CurrencyData.properties | 24 b/src/share/classes/sun/security/ec/ECDHKeyAgreement.java | 164 b/src/share/classes/sun/security/ec/ECDSAOperations.java | 202 b/src/share/classes/sun/security/ec/ECDSASignature.java | 122 b/src/share/classes/sun/security/ec/ECKeyPairGenerator.java | 170 b/src/share/classes/sun/security/ec/ECOperations.java | 499 + b/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java | 70 b/src/share/classes/sun/security/ec/point/AffinePoint.java | 76 b/src/share/classes/sun/security/ec/point/ImmutablePoint.java | 32 b/src/share/classes/sun/security/ec/point/MutablePoint.java | 37 b/src/share/classes/sun/security/ec/point/Point.java | 45 b/src/share/classes/sun/security/ec/point/ProjectivePoint.java | 160 b/src/share/classes/sun/security/util/ArrayUtil.java | 51 b/src/share/classes/sun/security/util/ECUtil.java | 2 b/src/share/classes/sun/security/util/math/ImmutableIntegerModuloP.java | 34 b/src/share/classes/sun/security/util/math/IntegerFieldModuloP.java | 115 b/src/share/classes/sun/security/util/math/IntegerModuloP.java | 205 b/src/share/classes/sun/security/util/math/MutableIntegerModuloP.java | 162 b/src/share/classes/sun/security/util/math/SmallValue.java | 38 b/src/share/classes/sun/security/util/math/intpoly/FieldGen.jsh | 851 +++ b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java | 767 +++ b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java | 209 b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial25519.java | 215 b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial448.java | 251 + b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP256.java | 339 + b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP384.java | 431 + b/src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP521.java | 417 + b/src/share/classes/sun/security/util/math/intpoly/P256OrderField.java | 673 ++ b/src/share/classes/sun/security/util/math/intpoly/P384OrderField.java | 881 +++ b/src/share/classes/sun/security/util/math/intpoly/P521OrderField.java | 1377 +++++ b/src/share/classes/sun/security/util/math/intpoly/header.txt | 28 b/src/share/classes/sun/text/resources/ar/FormatData_ar.java | 2 b/src/share/classes/sun/text/resources/ar/JavaTimeSupplementary_ar.java | 2 b/src/share/classes/sun/text/resources/hi/JavaTimeSupplementary_hi_IN.java | 2 b/src/share/classes/sun/text/resources/ko/FormatData_ko.java | 1 b/src/share/classes/sun/text/resources/ko/JavaTimeSupplementary_ko.java | 2 b/src/share/classes/sun/text/resources/ru/JavaTimeSupplementary_ru.java | 2 b/src/share/classes/sun/text/resources/sr/JavaTimeSupplementary_sr.java | 2 b/src/share/classes/sun/text/resources/th/FormatData_th.java | 2 b/src/share/classes/sun/text/resources/th/JavaTimeSupplementary_th.java | 2 b/src/share/classes/sun/text/resources/zh/FormatData_zh.java | 1 b/src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh.java | 2 b/src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh_TW.java | 2 b/src/share/classes/sun/util/resources/CurrencyNames.properties | 12 b/src/share/classes/sun/util/resources/es/CurrencyNames_es_VE.properties | 4 b/src/share/native/sun/security/ec/ECC_JNI.cpp | 44 b/test/TEST.groups | 5 b/test/java/awt/ComponentOrientation/BasicTest.java | 151 b/test/java/awt/ComponentOrientation/BorderTest.java | 117 b/test/java/awt/ComponentOrientation/FlowTest.java | 150 b/test/java/awt/ComponentOrientation/TestBundle.java | 46 b/test/java/awt/ComponentOrientation/TestBundle1.java | 49 b/test/java/awt/ComponentOrientation/TestBundle1_ar.java | 49 b/test/java/awt/ComponentOrientation/TestBundle_es.java | 46 b/test/java/awt/ComponentOrientation/TestBundle_iw.java | 48 b/test/java/awt/ComponentOrientation/WindowTest.java | 155 b/test/java/text/AttributedCharacterIterator/Attribute/ReadResolve.java | 88 b/test/java/text/AttributedString/AttributedStringTest.java | 258 + b/test/java/text/AttributedString/TestAttributedStringCtor.java | 55 b/test/java/text/AttributedString/getRunStartLimitTest.java | 116 b/test/java/text/BreakIterator/BreakIteratorTest.java | 1438 +++++ b/test/java/text/BreakIterator/Bug4533872.java | 261 + b/test/java/text/BreakIterator/Bug4740757.java | 76 b/test/java/text/BreakIterator/Bug4912404.java | 41 b/test/java/text/BreakIterator/Bug4932583.java | 41 b/test/java/text/BreakIterator/Bug6513074.java | 122 b/test/java/text/BreakIterator/NewVSOld_th_TH.java | 86 b/test/java/text/BreakIterator/broken_th_TH.txt | 13 b/test/java/text/BreakIterator/test_th_TH.txt | 1 b/test/java/text/CharacterIterator/CharacterIteratorTest.java | 286 + b/test/java/text/Collator/APITest.java | 318 + b/test/java/text/Collator/Bug6271411.java | 194 b/test/java/text/Collator/CollationKeyTest.java | 41 b/test/java/text/Collator/CollationKeyTestImpl.java | 243 b/test/java/text/Collator/CollatorTest.java | 141 b/test/java/text/Collator/CurrencyCollate.java | 86 b/test/java/text/Collator/DanishTest.java | 215 b/test/java/text/Collator/DummyTest.java | 421 + b/test/java/text/Collator/EnglishTest.java | 226 b/test/java/text/Collator/FinnishTest.java | 98 b/test/java/text/Collator/FrenchTest.java | 100 b/test/java/text/Collator/G7Test.java | 294 + b/test/java/text/Collator/GermanTest.java | 111 b/test/java/text/Collator/IteratorTest.java | 291 + b/test/java/text/Collator/JapaneseTest.java | 324 + b/test/java/text/Collator/KoreanTest.java | 142 b/test/java/text/Collator/MonkeyTest.java | 149 b/test/java/text/Collator/Regression.java | 940 +++ b/test/java/text/Collator/SpanishTest.java | 106 b/test/java/text/Collator/SurrogatesTest.java | 117 b/test/java/text/Collator/Test4401726.java | 98 b/test/java/text/Collator/ThaiTest.java | 156 b/test/java/text/Collator/TurkishTest.java | 118 b/test/java/text/Collator/VietnameseTest.java | 364 + b/test/java/text/Format/ChoiceFormat/Bug4185732.ser.txt | 44 b/test/java/text/Format/ChoiceFormat/Bug4185732Test.java | 117 b/test/java/text/Format/ChoiceFormat/Bug4387255.java | 69 b/test/java/text/Format/DateFormat/Bug4322313.java | 364 + b/test/java/text/Format/DateFormat/Bug4407042.java | 132 b/test/java/text/Format/DateFormat/Bug4736959.java | 53 b/test/java/text/Format/DateFormat/Bug4845901.java | 64 b/test/java/text/Format/DateFormat/Bug6251817.java | 45 b/test/java/text/Format/DateFormat/Bug6335238.java | 163 b/test/java/text/Format/DateFormat/Bug6530336.java | 108 b/test/java/text/Format/DateFormat/DateFormatRegression.java | 1098 ++++ b/test/java/text/Format/DateFormat/DateFormatRoundTripTest.java | 727 ++ b/test/java/text/Format/DateFormat/DateFormatSymbolsSerializationTest.java | 121 b/test/java/text/Format/DateFormat/DateFormatTest.java | 1207 ++++ b/test/java/text/Format/DateFormat/IntlTestDateFormat.java | 273 + b/test/java/text/Format/DateFormat/IntlTestDateFormatAPI.java | 218 b/test/java/text/Format/DateFormat/IntlTestDateFormatSymbols.java | 206 b/test/java/text/Format/DateFormat/IntlTestSimpleDateFormatAPI.java | 188 b/test/java/text/Format/DateFormat/NonGregorianFormatTest.java | 216 b/test/java/text/Format/DateFormat/SDFserialized.ser.txt | 173 b/test/java/text/Format/DateFormat/TimeZoneNameTest.java | 152 b/test/java/text/Format/DateFormat/bug4097450.java | 71 b/test/java/text/Format/DateFormat/bug4099975.java | 41 b/test/java/text/Format/DateFormat/bug4117335.java | 83 b/test/java/text/Format/DateFormat/bug4358730.java | 84 b/test/java/text/Format/DateFormat/bug6271375.java | 61 b/test/java/text/Format/DateFormat/bug6317072.java | 81 b/test/java/text/Format/DateFormat/bug6412896.java | 50 b/test/java/text/Format/MessageFormat/Bug4185816.ser.txt | 58 b/test/java/text/Format/MessageFormat/Bug4185816Corrupt.ser.txt | 58 b/test/java/text/Format/MessageFormat/Bug4185816Test.java | 135 b/test/java/text/Format/MessageFormat/Bug6481179.java | 64 b/test/java/text/Format/MessageFormat/LargeMessageFormat.java | 121 b/test/java/text/Format/MessageFormat/MessageFormatsByArgumentIndex.java | 115 b/test/java/text/Format/MessageFormat/MessageRegression.java | 644 ++ b/test/java/text/Format/MessageFormat/MessageTest.java | 102 b/test/java/text/Format/MessageFormat/bug4492719.java | 79 b/test/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java | 134 b/test/java/text/Format/NumberFormat/BigDecimalFormat.java | 1044 ++++ b/test/java/text/Format/NumberFormat/BigDecimalParse.java | 709 ++ b/test/java/text/Format/NumberFormat/Bug4208135.java | 127 b/test/java/text/Format/NumberFormat/Bug4833877.java | 464 + b/test/java/text/Format/NumberFormat/Bug4838107.java | 248 b/test/java/text/Format/NumberFormat/Bug4944439.java | 111 b/test/java/text/Format/NumberFormat/Bug4990596.java | 59 b/test/java/text/Format/NumberFormat/Bug6278616.java | 69 b/test/java/text/Format/NumberFormat/CurrencyFormat.java | 141 b/test/java/text/Format/NumberFormat/CurrencySymbols.properties | 134 b/test/java/text/Format/NumberFormat/DFSDeserialization142.java | 56 b/test/java/text/Format/NumberFormat/DFSExponential.java | 87 b/test/java/text/Format/NumberFormat/DFSSerialization.java | 151 b/test/java/text/Format/NumberFormat/DFSSerialization142.java | 54 b/test/java/text/Format/NumberFormat/DecimalFormat.114.txt | 54 b/test/java/text/Format/NumberFormat/DecimalFormatSymbols.114.txt | 39 b/test/java/text/Format/NumberFormat/DecimalFormatSymbols.142.txt | 42 b/test/java/text/Format/NumberFormat/IntlTestDecimalFormatAPI.java | 255 + b/test/java/text/Format/NumberFormat/IntlTestDecimalFormatSymbols.java | 139 b/test/java/text/Format/NumberFormat/IntlTestNumberFormatAPI.java | 220 b/test/java/text/Format/NumberFormat/NumberFormat4185761a.ser.txt | 57 b/test/java/text/Format/NumberFormat/NumberFormat4185761b.ser.txt | 57 b/test/java/text/Format/NumberFormat/NumberFormatRounding.java | 130 b/test/java/text/Format/NumberFormat/NumberRegression.java | 1824 +++++++ b/test/java/text/Format/NumberFormat/NumberRoundTrip.java | 234 b/test/java/text/Format/NumberFormat/NumberTest.java | 411 + b/test/java/text/Format/NumberFormat/PositionTest.java | 221 b/test/java/text/Format/NumberFormat/SerializationLoadTest.java | 84 b/test/java/text/Format/NumberFormat/SerializationSaveTest.java | 79 b/test/java/text/Format/NumberFormat/TestgetPatternSeparator_ja.java | 44 b/test/java/text/Format/common/Bug4769840.java | 82 b/test/java/text/Format/common/Bug6215962.java | 161 b/test/java/text/Format/common/ChoiceFormat.ser.txt | 37 b/test/java/text/Format/common/DateFormat.Field.ser.txt | 32 b/test/java/text/Format/common/FormatIteratorTest.java | 440 + b/test/java/text/Format/common/MessageFormat.Field.ser.txt | 32 b/test/java/text/Format/common/NumberFormat.Field.ser.txt | 31 b/test/java/text/Format/common/PParser.java | 274 + b/test/java/text/Format/common/dateFormat.props | 333 + b/test/java/text/Format/common/decimalFormat.props | 1280 +++++ b/test/java/text/Format/common/messageFormat.props | 520 ++ b/test/java/text/testlib/HexDumpReader.java | 115 b/test/java/text/testlib/IntlTest.java | 266 + b/test/java/util/Calendar/BuddhistCalendarTest.java | 243 b/test/java/util/Calendar/Bug4302966.java | 42 b/test/java/util/Calendar/Bug4766302.java | 51 b/test/java/util/Calendar/Bug4851640.java | 59 b/test/java/util/Calendar/Bug4958050.java | 255 + b/test/java/util/Calendar/Bug5078053.java | 100 b/test/java/util/Calendar/Bug6178071.java | 50 b/test/java/util/Calendar/Bug6234795.java | 97 b/test/java/util/Calendar/Bug6448234.java | 58 b/test/java/util/Calendar/CalendarLimitTest.java | 202 b/test/java/util/Calendar/CalendarRegression.java | 2496 ++++++++++ b/test/java/util/Calendar/CalendarTest.java | 1102 ++++ b/test/java/util/Calendar/FieldStateTest.java | 216 b/test/java/util/Calendar/GregorianCutoverTest.java | 324 + b/test/java/util/Calendar/JapanEraNameCompatTest.java | 144 b/test/java/util/Calendar/JulianTest.java | 52 b/test/java/util/Calendar/Koyomi.java | 289 + b/test/java/util/Calendar/Limit.java | 64 b/test/java/util/Calendar/NonLenientTest.java | 221 b/test/java/util/Calendar/ResolutionTest.java | 111 b/test/java/util/Calendar/RollDayOfWeekTest.java | 137 b/test/java/util/Calendar/StampOverflow.java | 80 b/test/java/util/Calendar/ZoneOffsets.java | 231 b/test/java/util/Calendar/bug4028518.java | 56 b/test/java/util/Calendar/bug4100311.java | 47 b/test/java/util/Calendar/bug4243802.java | 93 b/test/java/util/Calendar/bug4316678.java | 69 b/test/java/util/Calendar/bug4372743.java | 133 b/test/java/util/Calendar/bug4401223.java | 91 b/test/java/util/Calendar/bug4409072.java | 683 ++ b/test/java/util/Calendar/bug4514831.java | 95 b/test/java/util/Currency/ValidateISO4217.java | 11 b/test/java/util/Currency/tablea1.txt | 16 b/test/java/util/Date/Bug4955000.java | 144 b/test/java/util/Date/DateGregorianCalendarTest.java | 235 b/test/java/util/Date/DateRegression.java | 241 b/test/java/util/Date/DateTest.java | 236 b/test/java/util/Date/TZ.java | 58 b/test/java/util/Date/TimestampTest.java | 134 b/test/java/util/Locale/Bug8040211.java | 363 + b/test/java/util/TimeZone/Bug4322313.java | 228 b/test/java/util/TimeZone/Bug5097350.java | 63 b/test/java/util/TimeZone/DefaultTimeZoneTest.html | 74 b/test/java/util/TimeZone/DefaultTimeZoneTest.java | 108 b/test/java/util/TimeZone/HongKong.java | 64 b/test/java/util/TimeZone/IDTest.java | 121 b/test/java/util/TimeZone/TimeZoneBoundaryTest.java | 491 + b/test/java/util/TimeZone/TimeZoneRegression.java | 995 +++ b/test/java/util/TimeZone/TimeZoneTest.java | 737 ++ b/test/java/util/TimeZone/TransitionTest.java | 287 + b/test/java/util/TimeZone/UTCAliasTest.java | 52 b/test/java/util/TimeZone/bug4096952.java | 67 b/test/sun/security/ec/InvalidCurve.java | 61 b/test/sun/security/util/math/BigIntegerModuloP.java | 294 + b/test/sun/security/util/math/TestIntegerModuloP.java | 393 + b/test/sun/text/IntHashtable/Bug4170614Test.java | 191 b/test/sun/text/IntHashtable/Bug4170614Test.sh | 81 b/test/sun/text/IntHashtable/Bug4705389.java | 43 b/test/sun/text/resources/LocaleData | 13 b/test/sun/text/resources/LocaleDataTest.java | 4 242 files changed, 51294 insertions(+), 504 deletions(-) diffstat for hotspot b/.hgtags | 2 ++ 1 file changed, 2 insertions(+) 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 https://keybase.io/gnu_andrew From rwestrel at redhat.com Mon Jul 8 07:28:56 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 08 Jul 2019 09:28:56 +0200 Subject: RFR: Handle Op_Parm in get_load_addr() In-Reply-To: References: Message-ID: <87r2716l3b.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/sfx-parm/webrev.00/ Ok. Roland. From rwestrel at redhat.com Mon Jul 8 07:29:53 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 08 Jul 2019 09:29:53 +0200 Subject: RFR: Clone address before LRB runtime calls, fixes implicit null-checking In-Reply-To: References: Message-ID: <87o9256l1q.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/sfx-fix-addr/webrev.02/ Ok. Roland. From rkennke at redhat.com Mon Jul 8 10:28:17 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 08 Jul 2019 10:28:17 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201907081028.x68ASHOr008795@aojmv0008.oracle.com> Changeset: d97f9fba9f0f Author: rkennke Date: 2019-07-06 12:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/d97f9fba9f0f Handle Op_Parm in get_load_addr() ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: dca50b1dc8cd Author: rkennke Date: 2019-07-06 12:59 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk/rev/dca50b1dc8cd Clone address before LRB runtime calls, fixes implicit null-checking ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From bartlomiej.styczynski at softwareplant.com Mon Jul 8 11:29:41 2019 From: bartlomiej.styczynski at softwareplant.com (=?UTF-8?Q?Bart=C5=82omiej_Styczy=C5=84ski?=) Date: Mon, 8 Jul 2019 13:29:41 +0200 Subject: Shenandoah JVM crash problem Message-ID: Hi, Bartek from SoftwarePlant here. We were recently very excited to try out the Shenandoah GC (we're currently using G1), however, during a particularly memory-intensive operation the JVM crashed. It happened every time we attempted this and never happened when using G1. We were using Amazon Linux 3.0.1 at the moment of this happening. I am also attaching the logs. As such, unfortunately we had to postpone the introduction of Shenandoah for fears of its stability. Is this something you would be able to help us with? Thank you in advance and kind regards, -- *Bart?omiej Styczy?ski *Java Developer bartlomiej.styczynski at softwareplant.com From rkennke at redhat.com Mon Jul 8 11:37:14 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 8 Jul 2019 13:37:14 +0200 Subject: Shenandoah JVM crash problem In-Reply-To: References: Message-ID: <838a142b-2a92-6abd-e498-cef94176232b@redhat.com> Hello Bart?omiej, Unfortunately, the logs didn't make it through to the mailing list. Could you upload them somewhere and send a link instead? Also, which version of the JVM are you using? I.e. where is it from, and what does 'java -version' say? Thanks, Roman > Hi, > Bartek from SoftwarePlant here. We were recently very excited to try out > the Shenandoah GC (we're currently using G1), however, during a > particularly memory-intensive operation the JVM crashed. It happened every > time we attempted this and never happened when using G1. > > We were using Amazon Linux 3.0.1 at the moment of this happening. I am also > attaching the logs. > > As such, unfortunately we had to postpone the introduction of Shenandoah > for fears of its stability. Is this something you would be able to help us > with? > > Thank you in advance and kind regards, > From shade at redhat.com Mon Jul 8 16:08:12 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 Jul 2019 18:08:12 +0200 Subject: [aarch64-port-dev ] [RFR] [8u] 8u222-b08 Upstream Sync In-Reply-To: <3ea90b68-363c-507e-993e-353f81cc3ee7@redhat.com> References: <3ea90b68-363c-507e-993e-353f81cc3ee7@redhat.com> Message-ID: <0eed757b-c200-51b5-5fd7-08e74a8d3d73@redhat.com> On 7/8/19 3:47 AM, Andrew John Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxws/merge.changeset Trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jdk/merge.changeset Looking at webrev and this changeset. It is a bit odd the files like src/share/classes/sun/security/ec/ECKeyPairGenerator.java, src/share/classes/sun/security/util/ECUtil.java, src/share/classes/sun/security/util/Debug.java do not have recorded metadata for them in webrev. Were the changes to them committed/qrefreshed after generating the webrev? If so, looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/hotspot/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/root/merge.changeset Trivially good. -Aleksey From chengjingwei1 at huawei.com Tue Jul 9 08:49:25 2019 From: chengjingwei1 at huawei.com (chengjingwei (A)) Date: Tue, 9 Jul 2019 08:49:25 +0000 Subject: Redundant guard conditions caused guarantee failure Message-ID: Hotspot would crash when running tomcat with the following parameters: -XX:+MonitorInUseLists -XX:MonitorBound=16384 The crash message was: # Internal Error (synchronizer.cpp:1464), pid=78479, tid=0x00007f965a82b700 # guarantee(obj->mark() == markOopDesc::encode(mid)) failed: invariant This bug can be reproduced with a simplified testcase, by running javac command: $ javac -J-XX:+MonitorInUseLists ByteAdd.java where ByteAdd.java is as follows: ``` public class ByteAdd { public byte add(byte a, byte b) { return (byte) (a + (byte) b); } public static void main(String args[]) throws Exception { byte aa = (byte) 128; byte bb = (byte) 127; byte result = (byte) 255; ByteAdd obj = new ByteAdd(); if (Math.abs(obj.add(aa, bb) - result) <= 0) System.out.println("PASSED"); else throw new Exception("The caculated result is incorrect!"); } } ``` My colleague(wangyadong4 at huawei.com) investigated into it and found that it was caused by redundant guard conditions in Thread::oops_do, and made the following patch: --- a/hotspot/src/share/vm/runtime/thread.cpp +++ b/hotspot/src/share/vm/runtime/thread.cpp @@ -871,12 +871,9 @@ void Thread::oops_do(OopClosure* f, CLDClosure* cld_f, CodeBlobClosure* cf) { // Do oop for ThreadShadow f->do_oop((oop*)&_pending_exception); handle_area()->oops_do(f); -#if INCLUDE_ALL_GCS - // TODO: Either need better abstractions or have all GCs use this. - if (UseShenandoahGC && ShenandoahFastSyncRoots && MonitorInUseLists) { + if (MonitorInUseLists) { ObjectSynchronizer::thread_local_used_oops_do(this, f); } -#endif } The cause of the crash is that MonitorInUseLists would affect the behaviour of monitor list scanning. When this switch is turned on, the scanning of global used monitor list and thread-local ones are separated. The code of ObjectSynchronizer::oops_do, listed below, indicates that it only scans global monitors with MonitorInUseLists turned on, so thread-local ones should be scanned in Thread::oops_do no matter what GC algorithm is used. ``` void ObjectSynchronizer::oops_do(OopClosure* f) { if (MonitorInUseLists) { // When using thread local monitor lists, we only scan the // global used list here (for moribund threads), and // the thread-local monitors in Thread::oops_do(). global_used_oops_do(f); } else { global_oops_do(f); } } ``` This bug affects only jdk8u-shenandoah port because MonitorInUseLists is deprecated in JDK10. From keith.stoneberger at outlook.com Tue Jul 9 20:01:49 2019 From: keith.stoneberger at outlook.com (Keith Stoneberger) Date: Tue, 9 Jul 2019 20:01:49 +0000 Subject: Shenandoah Message-ID: <460F4E60-EFDA-4B76-B23F-FF3945FA4FEA@outlook.com> Just curios?. How did you guys come up with the name Shenandoah GC? Keith Stoneberger keith.stoneberger at outlook.com From rkennke at redhat.com Tue Jul 9 21:57:59 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 9 Jul 2019 23:57:59 +0200 Subject: Shenandoah In-Reply-To: <460F4E60-EFDA-4B76-B23F-FF3945FA4FEA@outlook.com> References: <460F4E60-EFDA-4B76-B23F-FF3945FA4FEA@outlook.com> Message-ID: Hi Keith, > Just curios?. How did you guys come up with the name Shenandoah GC? The story that I heard from Christine goes something like this. - I've got this idea to make a pauseless GC. How shall I name it? Uhm, maybe 'pauseless GC' -> PGC - This is a little bit boring and possibly confusing with something like 'parallel GC' too so... - PGC turns out to be the airport code of Petersburg/West Virginia - which is somewhere close to the Shenandoah valley I am not 100% sure this is correct. Roman From rkennke at redhat.com Tue Jul 9 22:02:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 Jul 2019 00:02:39 +0200 Subject: Shenandoah In-Reply-To: References: <460F4E60-EFDA-4B76-B23F-FF3945FA4FEA@outlook.com> Message-ID: <48dd6260-96ba-c23c-11ea-fe04ba616bf9@redhat.com> > Hi Keith, > >> Just curios?. How did you guys come up with the name Shenandoah GC? > > The story that I heard from Christine goes something like this. > > - I've got this idea to make a pauseless GC. How shall I name it? Uhm, > maybe 'pauseless GC' -> PGC > - This is a little bit boring and possibly confusing with something like > 'parallel GC' too so... > - PGC turns out to be the airport code of Petersburg/West Virginia > - which is somewhere close to the Shenandoah valley > > I am not 100% sure this is correct. > What I always found notable is that when you google 'Shenandoah garbage collection' you would actually find information about garbage collection in Shenandoah county. Alternatively, there are at least two golf clubs in Shenandoah county that also show up on 'Shenandoah GC' searches :-) Roman From aph at redhat.com Wed Jul 10 09:16:42 2019 From: aph at redhat.com (Andrew Haley) Date: Wed, 10 Jul 2019 10:16:42 +0100 Subject: Shenandoah In-Reply-To: References: <460F4E60-EFDA-4B76-B23F-FF3945FA4FEA@outlook.com> Message-ID: <75b909af-1fb5-c224-9fcb-149de0f91a40@redhat.com> On 7/9/19 10:57 PM, Roman Kennke wrote: > I am not 100% sure this is correct. AFAIK it is. Shame, I always thought it was because of the lovely song. :-) -- 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 rkennke at redhat.com Wed Jul 10 18:14:19 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 Jul 2019 20:14:19 +0200 Subject: RFR: JDK-8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier In-Reply-To: References: Message-ID: Ping? Roman > IN_NATIVE accesses in compiled code should go to runtime, in order to be > able to check reachability of accessed objects, and possibly offer NULL > for unreachable objects. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8226695 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8226695/webrev.00/ > > Testing: hotspot_gc_dev > > Ok? > > Roman > From chengjingwei1 at huawei.com Thu Jul 11 02:46:23 2019 From: chengjingwei1 at huawei.com (chengjingwei (A)) Date: Thu, 11 Jul 2019 02:46:23 +0000 Subject: Redundant guard conditions caused guarantee failure Message-ID: Someone would like to have a look at this? It's probably a bug and may have impact on applications. From shade at redhat.com Thu Jul 11 06:54:36 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 Jul 2019 08:54:36 +0200 Subject: [aarch64-port-dev ] Redundant guard conditions caused guarantee failure In-Reply-To: References: Message-ID: On 7/9/19 10:49 AM, chengjingwei (A) wrote: > Hotspot would crash when running tomcat with the following parameters: > -XX:+MonitorInUseLists -XX:MonitorBound=16384 Thanks, I believe Roman Kennke is looking into this. -- -Aleksey From rwestrel at redhat.com Thu Jul 11 07:51:37 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Thu, 11 Jul 2019 09:51:37 +0200 Subject: RFR: JDK-8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier In-Reply-To: References: Message-ID: <877e8p57qu.fsf@redhat.com> >> http://cr.openjdk.java.net/~rkennke/JDK-8226695/webrev.00/ Looks good to me. Roland. From rkennke at redhat.com Thu Jul 11 07:53:45 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 Jul 2019 09:53:45 +0200 Subject: Redundant guard conditions caused guarantee failure In-Reply-To: References: Message-ID: Hi there, > Someone would like to have a look at this? It's probably a bug and may have impact on applications. I am looking into it. Your proposed fix looks correct. However, we do have a number of deviations in our version of that code (synchronizer.cpp, thread.cpp), compared to vanilla jdk8u code. I'm looking into reverting all of it to upstream version, in order to minimize the risk of such breakages. Thanks, Roman From zgu at redhat.com Thu Jul 11 13:43:45 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 11 Jul 2019 09:43:45 -0400 Subject: RFR 8225483: Shenandoah: Enhance native access barrier In-Reply-To: References: <9d9f5bb2-eff2-e117-d1a4-49339a2cd124@redhat.com> <8a2d332d-6005-64ed-9fbc-7acf388f95b4@redhat.com> <5605fa8e-4e19-5a7a-04cd-e480fd35fa5f@redhat.com> <606DB543-B668-4530-BD8F-5B26BC9AFFE3@redhat.com> <9ccaef06-f6b1-7e8c-8f7f-f23063354290@redhat.com> <13F7044D-4E98-4959-9F2E-8D7ED2D453EA@redhat.com> Message-ID: <9fd9acf2-446e-0f0f-bccf-e1a21ee88c0b@redhat.com> On 6/12/19 4:32 AM, Aleksey Shipilev wrote: > On 6/11/19 5:51 PM, Roman Kennke wrote: >> Am 11. Juni 2019 16:25:21 MESZ schrieb Zhengyu Gu : >> Updated: http://cr.openjdk.java.net/~zgu/JDK-8225483/webrev.02/ >> Okay now? > > I still do not like ASSERT around the declaration/definition. What prevents us from making that > method available in both release/debug? That would certainly simplify debugging: we would execute > the same code in both configurations. Rebased on Roman's JDK-8226695 fix and made SHBS::oop_store_not_in_heap() available for both configurations, as suggested by Aleksey. http://cr.openjdk.java.net/~zgu/JDK-8225483/webrev.03/ Reran hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu > > -Aleksey > From rkennke at redhat.com Thu Jul 11 20:52:06 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 Jul 2019 22:52:06 +0200 Subject: RFR: Revert Shenandoah/JDK8-only changes relating to MonitorInUseLists Message-ID: We have a bunch of modifications in synchronizer.cpp and thread.cpp relating to how ObjectSynchronizer roots get processed: - There is ParallelObjectSynchronizerIterator, which can iterate synchronizer roots using more than one thread - We code that allows to process thread-local monitors via Threads::oops_do() when running with -XX:+MonitorInUseLists The latter changes have recently been reported to be broken: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-July/010113.html Overall, it seems rather risky, and doesn't actually gain that much, and +MonitorInUseLists is not on by default either. I first wanted to revert both the above changes, but after some consideration I only reverted the 2nd one. The first change can be fully moved into gc_implementation/shenandoah, the only part of it that remains in synchronizer.hpp is a friend declaration to ShenandoahSynchronizerIterator. This seems risk-free, and avoids regressing pause-times. http://cr.openjdk.java.net/~rkennke/shjdk8-revert-syncstuff/webrev.00/ Testing: hotspot_gc_shenandoah, checked specjbb latency Can I please get a review? Thanks, Roman From rkennke at redhat.com Thu Jul 11 20:52:57 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 Jul 2019 22:52:57 +0200 Subject: Redundant guard conditions caused guarantee failure In-Reply-To: References: Message-ID: <99fb267c-1730-e1eb-dac3-962ca710b402@redhat.com> > Someone would like to have a look at this? It's probably a bug and may have impact on applications. See: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-July/010124.html Thanks, Roman From shade at redhat.com Fri Jul 12 08:23:16 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 Jul 2019 10:23:16 +0200 Subject: RFR: Revert Shenandoah/JDK8-only changes relating to MonitorInUseLists In-Reply-To: References: Message-ID: On 7/11/19 10:52 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/shjdk8-revert-syncstuff/webrev.00/ The reversal and iterator move looks fine. Minor stylistic nit, remove new lines here: ---- class ShenandoahSynchronizerIterator VALUE_OBJ_CLASS_SPEC { private: ObjectMonitor* volatile _cur; ObjectMonitor* claim(); public: ---- ...so it becomes: ---- class ShenandoahSynchronizerIterator VALUE_OBJ_CLASS_SPEC { private: ObjectMonitor* volatile _cur; ObjectMonitor* claim(); public: ---- Please make sure it builds with --disable-precompiled-headers. -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 12 08:44:35 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Fri, 12 Jul 2019 08:44:35 +0000 Subject: hg: shenandoah/jdk8/hotspot: Revert Shenandoah/JDK8-only changes relating to MonitorInUseLists Message-ID: <201907120844.x6C8iZ58006882@aojmv0008.oracle.com> Changeset: b764cc642f13 Author: rkennke Date: 2019-07-12 10:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b764cc642f13 Revert Shenandoah/JDK8-only changes relating to MonitorInUseLists ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From rkennke at redhat.com Fri Jul 12 12:26:18 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 12 Jul 2019 14:26:18 +0200 Subject: Merge jdk-14+5 into shenandoah/jdk Message-ID: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> As $SUBJECT says. No conflicts, tests (hotspot_gc_shenandoah) all good. List of changes: http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-12/changes.txt Ok? Roman From zgu at redhat.com Fri Jul 12 12:30:40 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 12 Jul 2019 08:30:40 -0400 Subject: Merge jdk-14+5 into shenandoah/jdk In-Reply-To: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> References: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> Message-ID: <73371f83-7adf-2e8a-c44e-93d0b9880bc3@redhat.com> Okay. -Zhengyu On 7/12/19 8:26 AM, Roman Kennke wrote: > As $SUBJECT says. No conflicts, tests (hotspot_gc_shenandoah) all good. > > List of changes: > http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-12/changes.txt > > > Ok? > > Roman > From shade at redhat.com Fri Jul 12 13:00:25 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 Jul 2019 15:00:25 +0200 Subject: Merge jdk-14+5 into shenandoah/jdk In-Reply-To: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> References: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> Message-ID: <2e3b50e2-bbe8-3637-dc14-5239d6453bb5@redhat.com> On 7/12/19 2:26 PM, Roman Kennke wrote: > As $SUBJECT says. No conflicts, tests (hotspot_gc_shenandoah) all good. > > List of changes: > http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-12/changes.txt Looks good. -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 12 13:03:10 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 12 Jul 2019 15:03:10 +0200 Subject: Merge jdk-14+5 into shenandoah/jdk In-Reply-To: <2e3b50e2-bbe8-3637-dc14-5239d6453bb5@redhat.com> References: <279d58db-e635-59ed-9e82-4889fcb06be0@redhat.com> <2e3b50e2-bbe8-3637-dc14-5239d6453bb5@redhat.com> Message-ID: I noticed that jdk/jdk nightlies are having problems with recent in_native barrier stuff. I'm gonna fix that first, and then cherry-pick the fix right on top of the merge. Roman > On 7/12/19 2:26 PM, Roman Kennke wrote: >> As $SUBJECT says. No conflicts, tests (hotspot_gc_shenandoah) all good. >> >> List of changes: >> http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-12/changes.txt > > Looks good. > From rkennke at redhat.com Fri Jul 12 14:15:54 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 12 Jul 2019 16:15:54 +0200 Subject: RFR: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers Message-ID: We get test failures in CTW tests because Shenandoah C2 verifier doesn't recognize the new IN_NATIVE barriers. Bug: https://bugs.openjdk.java.net/browse/JDK-8227637 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8227637/webrev.00/ Testing: hotspot_gc_shenandoah, ctw-tests Can I please get a review? (Aside: all this makes me think if this should be a special case of the regular LRB instead, and become subject to the usual optos, etc. I need to think this through. Let's fix the nightlies first.) Roman From zgu at redhat.com Fri Jul 12 17:21:38 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 12 Jul 2019 13:21:38 -0400 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load Message-ID: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> Please review this patch that handles IN_NATIVE load in ShenandoahBarrierSetAssembler::load_at(). Bug: https://bugs.openjdk.java.net/browse/JDK-8227635 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x64 and arrach64. Thanks, -Zhengyu From shade at redhat.com Sat Jul 13 09:59:21 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 13 Jul 2019 11:59:21 +0200 Subject: [8] RFR: Missing include precompiled.hpp in shenandoahSynchronizerIterator.cpp Message-ID: Windows build failure with sh/jdk8: C:\cygwin64\home\windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahSynchronizerIterator.cpp(28) : warning C4627: '#include "runtime/objectMonitor.inline.hpp"': skipped when looking for precompiled header use Add directive to 'precompiled.hpp' or rebuild precompiled header C:\cygwin64\home\windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahSynchronizerIterator.cpp(78) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "precompiled.hpp"' to your source? Fix: diff -r b764cc642f13 src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp Fri Jul 12 10:43:53 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp Sat Jul 13 11:57:45 2019 +0200 @@ -22,4 +22,6 @@ */ +#include "precompiled.hpp" + #include "gc_implementation/shenandoah/shenandoahSynchronizerIterator.hpp" #include "runtime/atomic.hpp" Testing: Linux, Windows builds; tier1_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Sun Jul 14 11:15:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 14 Jul 2019 13:15:39 +0200 Subject: [8] RFR: Missing include precompiled.hpp in shenandoahSynchronizerIterator.cpp In-Reply-To: References: Message-ID: <367989c8-6415-694a-1876-1cfb14796b5c@redhat.com> Oops. Yes, of course! Thanks! Roman > Windows build failure with sh/jdk8: > > C:\cygwin64\home\windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahSynchronizerIterator.cpp(28) > : warning C4627: '#include "runtime/objectMonitor.inline.hpp"': skipped when looking for precompiled > header use > Add directive to 'precompiled.hpp' or rebuild precompiled header > C:\cygwin64\home\windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahSynchronizerIterator.cpp(78) > : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to > add '#include "precompiled.hpp"' to your source? > > Fix: > > diff -r b764cc642f13 src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp Fri Jul 12 > 10:43:53 2019 +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp Sat Jul 13 > 11:57:45 2019 +0200 > @@ -22,4 +22,6 @@ > */ > > +#include "precompiled.hpp" > + > #include "gc_implementation/shenandoah/shenandoahSynchronizerIterator.hpp" > #include "runtime/atomic.hpp" > > > Testing: Linux, Windows builds; tier1_gc_shenandoah > From shade at redhat.com Sun Jul 14 18:09:12 2019 From: shade at redhat.com (shade at redhat.com) Date: Sun, 14 Jul 2019 18:09:12 +0000 Subject: hg: shenandoah/jdk8/hotspot: Missing include precompiled.hpp in shenandoahSynchronizerIterator.cpp Message-ID: <201907141809.x6EI9CpA010835@aojmv0008.oracle.com> Changeset: 31768b359df3 Author: shade Date: 2019-07-14 20:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/31768b359df3 Missing include precompiled.hpp in shenandoahSynchronizerIterator.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSynchronizerIterator.cpp From rwestrel at redhat.com Mon Jul 15 07:15:29 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 15 Jul 2019 09:15:29 +0200 Subject: RFR: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers In-Reply-To: References: Message-ID: <87y30z4vla.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/JDK-8227637/webrev.00/ Good. Roland. From rwestrel at redhat.com Mon Jul 15 07:17:49 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 15 Jul 2019 09:17:49 +0200 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load In-Reply-To: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> References: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> Message-ID: <87v9w34vhe.fsf@redhat.com> > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.00/index.html Do you really need to save vector registers? Isn't this called from the interpreter only? Roland. From rkennke at redhat.com Mon Jul 15 10:14:38 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 12:14:38 +0200 Subject: RFR: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers In-Reply-To: <87y30z4vla.fsf@redhat.com> References: <87y30z4vla.fsf@redhat.com> Message-ID: <5bd64262-81ce-75cd-98cb-fe005d4ccb99@redhat.com> Hi Roland, Thank you! What do you think about making the IN_NATIVE barrier a special-case of the general LRB? I would think that adding a flag to the LRBNode, and calling to a different runtime entry when expanding the LRB should do the trick. It would probably require some extra care to not accidentally coalesce normal LRB with native-LRB. Are there other complications that I should be aware of when I follow that route? One optimization that comes to mind that is currently inhibited by the IN_NATIVE barrier is replacing mirror->Klass*->mirror or Klass*->mirror->Klas* load-chains by the simple variants. I have a patch that implements is_gc_barrier() and step_over_gc_barrier() which solves this for the current call to runtime, but it seems rather crude, and dealing with IN_NATIVE just like normal LRB seems to cover all possible scenarios of failing optimizations better. What do you think? Roman >> http://cr.openjdk.java.net/~rkennke/JDK-8227637/webrev.00/ > > Good. > > Roland. > From shade at redhat.com Mon Jul 15 11:22:40 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 13:22:40 +0200 Subject: RFR: Handle CMove{N,P} in get_load_addr Message-ID: CTW tests fail in sh/jdk with CMoveP node unhandled in get_load_addr. Fix: diff -r cac71967fe41 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Jul 15 12:06:21 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Jul 15 12:32:47 2019 +0200 @@ -1780,10 +1780,21 @@ case Op_ShenandoahCompareAndExchangeP: case Op_ShenandoahCompareAndExchangeN: // Those instructions would just have stored a different // value into the field. No use to attempt to fix it at this point. return phase->igvn().zerocon(T_OBJECT); + case Op_CMoveP: + case Op_CMoveN: { + Node* t = get_load_addr(phase, visited, in->in(CMoveNode::IfTrue)); + Node* f = get_load_addr(phase, visited, in->in(CMoveNode::IfFalse)); + // Handle unambigous cases: single address reported on both branches. + if (t != NULL && f == NULL) return t; + if (t == NULL && f != NULL) return f; + if (t != NULL && t == f) return t; + // Ambiguity. + return phase->igvn().zerocon(T_OBJECT); + } case Op_Phi: { Node* addr = NULL; for (uint i = 1; i < in->req(); i++) { Node* addr1 = get_load_addr(phase, visited, in->in(i)); if (addr == NULL) { @@ -1806,12 +1817,11 @@ case Op_ConP: case Op_Parm: return phase->igvn().zerocon(T_OBJECT); default: #ifdef ASSERT - in->dump(); - ShouldNotReachHere(); + fatal("Unknown node in get_load_addr: %s", NodeClassNames[in->Opcode()]); #endif return phase->igvn().zerocon(T_OBJECT); Testing: CTW tests, hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 15 11:23:56 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 13:23:56 +0200 Subject: RFR: Handle CMove{N,P} in get_load_addr In-Reply-To: References: Message-ID: Looks good, thank you! Roman > CTW tests fail in sh/jdk with CMoveP node unhandled in get_load_addr. > > Fix: > > diff -r cac71967fe41 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Jul 15 12:06:21 2019 +0200 > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Mon Jul 15 12:32:47 2019 +0200 > @@ -1780,10 +1780,21 @@ > case Op_ShenandoahCompareAndExchangeP: > case Op_ShenandoahCompareAndExchangeN: > // Those instructions would just have stored a different > // value into the field. No use to attempt to fix it at this point. > return phase->igvn().zerocon(T_OBJECT); > + case Op_CMoveP: > + case Op_CMoveN: { > + Node* t = get_load_addr(phase, visited, in->in(CMoveNode::IfTrue)); > + Node* f = get_load_addr(phase, visited, in->in(CMoveNode::IfFalse)); > + // Handle unambigous cases: single address reported on both branches. > + if (t != NULL && f == NULL) return t; > + if (t == NULL && f != NULL) return f; > + if (t != NULL && t == f) return t; > + // Ambiguity. > + return phase->igvn().zerocon(T_OBJECT); > + } > case Op_Phi: { > Node* addr = NULL; > for (uint i = 1; i < in->req(); i++) { > Node* addr1 = get_load_addr(phase, visited, in->in(i)); > if (addr == NULL) { > @@ -1806,12 +1817,11 @@ > case Op_ConP: > case Op_Parm: > return phase->igvn().zerocon(T_OBJECT); > default: > #ifdef ASSERT > - in->dump(); > - ShouldNotReachHere(); > + fatal("Unknown node in get_load_addr: %s", NodeClassNames[in->Opcode()]); > #endif > return phase->igvn().zerocon(T_OBJECT); > > > Testing: CTW tests, hotspot_gc_shenandoah > From shade at redhat.com Mon Jul 15 11:30:31 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 13:30:31 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly Message-ID: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> CTW tests fail with sh/jdk with the assert here: 1545 assert(addr2->Opcode() == Op_AddP, "expected"); I believe we should instead check for the shape of the graph explicitly here: http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ Testing: CTW tests, hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Jul 15 12:33:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 14:33:05 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> Message-ID: <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> On 7/15/19 1:30 PM, Aleksey Shipilev wrote: > CTW tests fail with sh/jdk with the assert here: > 1545 assert(addr2->Opcode() == Op_AddP, "expected"); > > I believe we should instead check for the shape of the graph explicitly here: > http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ This also apparently fixes a lot of x86_32 CTW tests. -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 15 12:35:18 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 14:35:18 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> Message-ID: <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> >> CTW tests fail with sh/jdk with the assert here: >> 1545 assert(addr2->Opcode() == Op_AddP, "expected"); >> >> I believe we should instead check for the shape of the graph explicitly here: >> http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ > > This also apparently fixes a lot of x86_32 CTW tests. It looks ok to me. I assume the failure case is rare enough that we can accept the register mess-up there? Roman From shade at redhat.com Mon Jul 15 12:37:21 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 14:37:21 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> Message-ID: <1e7c78d7-6959-822c-ff99-088615f4be9f@redhat.com> On 7/15/19 2:35 PM, Roman Kennke wrote: >>> CTW tests fail with sh/jdk with the assert here: >>> 1545 assert(addr2->Opcode() == Op_AddP, "expected"); >>> >>> I believe we should instead check for the shape of the graph explicitly here: >>> http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ >> >> This also apparently fixes a lot of x86_32 CTW tests. > > It looks ok to me. > I assume the failure case is rare enough that we can accept the register > mess-up there? Where is the register mess-up? I see there is a dangling CheckCastPP, but that node would be dead in that corner case. -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 15 12:40:13 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 14:40:13 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: <1e7c78d7-6959-822c-ff99-088615f4be9f@redhat.com> References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> <1e7c78d7-6959-822c-ff99-088615f4be9f@redhat.com> Message-ID: >>>> CTW tests fail with sh/jdk with the assert here: >>>> 1545 assert(addr2->Opcode() == Op_AddP, "expected"); >>>> >>>> I believe we should instead check for the shape of the graph explicitly here: >>>> http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ >>> >>> This also apparently fixes a lot of x86_32 CTW tests. >> >> It looks ok to me. >> I assume the failure case is rare enough that we can accept the register >> mess-up there? > > Where is the register mess-up? I see there is a dangling CheckCastPP, but that node would be dead in > that corner case. Doesn't it mean we can't match the whole shape and would end up not cloning the thingy, which leads to the null-check becoming explicit or something? Either way, I guess it must be rare. Roman From shade at redhat.com Mon Jul 15 12:44:44 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 14:44:44 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> <1e7c78d7-6959-822c-ff99-088615f4be9f@redhat.com> Message-ID: On 7/15/19 2:40 PM, Roman Kennke wrote: >>>>> CTW tests fail with sh/jdk with the assert here: >>>>> 1545 assert(addr2->Opcode() == Op_AddP, "expected"); >>>>> >>>>> I believe we should instead check for the shape of the graph explicitly here: >>>>> http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ >>>> >>>> This also apparently fixes a lot of x86_32 CTW tests. >>> >>> It looks ok to me. >>> I assume the failure case is rare enough that we can accept the register >>> mess-up there? >> >> Where is the register mess-up? I see there is a dangling CheckCastPP, but that node would be dead in >> that corner case. > > Doesn't it mean we can't match the whole shape and would end up not > cloning the thingy, which leads to the null-check becoming explicit or > something? Either way, I guess it must be rare. Ah yes, that. True, we would miss some opportunities. We can look deeper into that, after we unbreak the tests. -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 15 12:48:13 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 14:48:13 +0200 Subject: RFR: SFX AddP cloning should check for dependent AddP explicitly In-Reply-To: References: <07776802-e1a3-a41e-5173-fa89bcb1d31b@redhat.com> <0cdae3c6-d4e2-a0c4-f57b-02b6df7c7d6c@redhat.com> <906d8152-a97b-335a-c07c-14869129cd72@redhat.com> <1e7c78d7-6959-822c-ff99-088615f4be9f@redhat.com> Message-ID: <881ae70a-4173-8582-500f-f0ae17e66655@redhat.com> >>>>>> CTW tests fail with sh/jdk with the assert here: >>>>>> 1545 assert(addr2->Opcode() == Op_AddP, "expected"); >>>>>> >>>>>> I believe we should instead check for the shape of the graph explicitly here: >>>>>> http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/ >>>>> >>>>> This also apparently fixes a lot of x86_32 CTW tests. >>>> >>>> It looks ok to me. >>>> I assume the failure case is rare enough that we can accept the register >>>> mess-up there? >>> >>> Where is the register mess-up? I see there is a dangling CheckCastPP, but that node would be dead in >>> that corner case. >> >> Doesn't it mean we can't match the whole shape and would end up not >> cloning the thingy, which leads to the null-check becoming explicit or >> something? Either way, I guess it must be rare. > > Ah yes, that. True, we would miss some opportunities. We can look deeper into that, after we unbreak > the tests. Sure. Please do it! Thanks, Roman From shade at redhat.com Mon Jul 15 12:50:02 2019 From: shade at redhat.com (shade at redhat.com) Date: Mon, 15 Jul 2019 12:50:02 +0000 Subject: hg: shenandoah/jdk: 2 new changesets Message-ID: <201907151250.x6FCo2Jw010221@aojmv0008.oracle.com> Changeset: acdb2cb1e7ee Author: shade Date: 2019-07-15 13:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/acdb2cb1e7ee SFX AddP cloning should check for dependent AddP explicitly ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: aece8ca36434 Author: shade Date: 2019-07-15 13:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/aece8ca36434 Handle CMove{N,P} in get_load_addr ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From rkennke at redhat.com Mon Jul 15 13:12:48 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 15:12:48 +0200 Subject: RFR 8225483: Shenandoah: Enhance native access barrier In-Reply-To: <9fd9acf2-446e-0f0f-bccf-e1a21ee88c0b@redhat.com> References: <9d9f5bb2-eff2-e117-d1a4-49339a2cd124@redhat.com> <8a2d332d-6005-64ed-9fbc-7acf388f95b4@redhat.com> <5605fa8e-4e19-5a7a-04cd-e480fd35fa5f@redhat.com> <606DB543-B668-4530-BD8F-5B26BC9AFFE3@redhat.com> <9ccaef06-f6b1-7e8c-8f7f-f23063354290@redhat.com> <13F7044D-4E98-4959-9F2E-8D7ED2D453EA@redhat.com> <9fd9acf2-446e-0f0f-bccf-e1a21ee88c0b@redhat.com> Message-ID: <07c2912f-849f-b99f-7df2-05f9a16a2dc7@redhat.com> >>> Am 11. Juni 2019 16:25:21 MESZ schrieb Zhengyu Gu : >>> ???? Updated: http://cr.openjdk.java.net/~zgu/JDK-8225483/webrev.02/ >>> ???? Okay now? >> >> I still do not like ASSERT around the declaration/definition. What >> prevents us from making that >> method available in both release/debug? That would certainly simplify >> debugging: we would execute >> the same code in both configurations. > > Rebased on Roman's JDK-8226695 fix and made > SHBS::oop_store_not_in_heap() available for both configurations, as > suggested by Aleksey. > > http://cr.openjdk.java.net/~zgu/JDK-8225483/webrev.03/ > > Reran hotspot_gc_shenandoah (fastdebug and release) > Looks good to me. Thanks, Roman From rkennke at redhat.com Mon Jul 15 13:13:42 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 15:13:42 +0200 Subject: RFR: 8227676: Shenandoah: More consistent naming of LRB entry points Message-ID: <1cd8b8aa-c8c4-e296-9855-683b874025a0@redhat.com> Current naming of LRB runtime entry points is a bit weird. We have: - load_reference_barrier_JRT (where _JRT doesn't serve any purpose) - oop_load_from_native_barrier (which is really like LRB except loading from native memory) I propose to rename to: - load_reference_barrier - load_reference_barrier_native Options Bug: https://bugs.openjdk.java.net/browse/JDK-8227676 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8227676/webrev.00/ Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Mon Jul 15 13:15:53 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 15:15:53 +0200 Subject: RFR: 8227676: Shenandoah: More consistent naming of LRB entry points In-Reply-To: <1cd8b8aa-c8c4-e296-9855-683b874025a0@redhat.com> References: <1cd8b8aa-c8c4-e296-9855-683b874025a0@redhat.com> Message-ID: <08da80b6-6c2d-ccbf-9da4-cbbcd3a1ae9e@redhat.com> On 7/15/19 3:13 PM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8227676/webrev.00/ Looks good. -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 15 13:25:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 15:25:39 +0200 Subject: RFR: 8227677: Shenandoah: C2: Make in-native LRB special case of normal LRB Message-ID: <3f9ac9c7-c8c3-582c-0825-d774a79c51ad@redhat.com> Currently, IN_NATIVE LRB generates a runtime call during parsing in C2. This may break optimizations. It is known to break the mirror->Klass*->mirror / Klass*->mirror->Klass* optimizations, and possibly some others too (e.g. wholesale elimination of the barrier on new/constant objects). It seems better to emit the normal LoadReferenceBarrier, with a special property 'native' instead, and only generate different runtime-call-addresses. The patch reverts the other C2 parts that I pushed for IN_NATIVE support. Bug: https://bugs.openjdk.java.net/browse/JDK-8227677 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.00/ Testing: hotspot_gc_shenandoah, ctw-tests Ok? Roman From zgu at redhat.com Mon Jul 15 15:42:55 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 15 Jul 2019 11:42:55 -0400 Subject: Cherry pick native barrier related changes to shenandoah/jdk Message-ID: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> I would like cherry pick native barrier related changes to shenandoah/jdk. Cherry-pick: 8226823: Adjust BarrierSetC2 for C2 runtime calls Cherry-pick: 8226822: GC interface for C1 runtime calls Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Cherry-pick: 8225483: Shenandoah: Enhance native access barrier Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.00/ Test: in progress. Thanks, -Zhengyu From gnu.andrew at redhat.com Mon Jul 15 16:06:41 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Mon, 15 Jul 2019 17:06:41 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u222-b08 Upstream Sync In-Reply-To: <0eed757b-c200-51b5-5fd7-08e74a8d3d73@redhat.com> References: <3ea90b68-363c-507e-993e-353f81cc3ee7@redhat.com> <0eed757b-c200-51b5-5fd7-08e74a8d3d73@redhat.com> Message-ID: On 08/07/2019 17:08, Aleksey Shipilev wrote: > On 7/8/19 3:47 AM, Andrew John Hughes wrote: >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/corba/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxp/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxws/merge.changeset > > Trivially good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jdk/merge.changeset > > Looking at webrev and this changeset. It is a bit odd the files like > src/share/classes/sun/security/ec/ECKeyPairGenerator.java, > src/share/classes/sun/security/util/ECUtil.java, src/share/classes/sun/security/util/Debug.java do > not have recorded metadata for them in webrev. Were the changes to them committed/qrefreshed after > generating the webrev? > > If so, looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/hotspot/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/langtools/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/nashorn/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/root/merge.changeset > > Trivially good. > > -Aleksey > No. It looks finally locally: $ hg log -R ../shenandoah.8/jdk -r aarch64-shenandoah-jdk8u222-b07:aarch64-shenandoah-jdk8u222-b08 ../shenandoah.8/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java changeset: 14335:8226f355c61c user: andrew date: Mon Jun 17 16:46:10 2019 +0100 summary: 8182999: SunEC throws ProviderException on invalid curves changeset: 14338:9b5707865a97 user: andrew date: Fri Jun 28 22:57:58 2019 +0100 summary: 8208698: Improved ECC Implementation I have no idea what webrev is doing. -- 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 https://keybase.io/gnu_andrew From rkennke at redhat.com Mon Jul 15 16:29:42 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 15 Jul 2019 16:29:42 +0000 Subject: hg: shenandoah/jdk: 138 new changesets Message-ID: <201907151629.x6FGTuqI029489@aojmv0008.oracle.com> Changeset: 1887e16a5657 Author: dcubed Date: 2019-06-24 22:38 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1887e16a5657 8226699: [BACKOUT] JDK-8221734 Deoptimize with handshakes Reviewed-by: dholmes, rehn, dlong ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zNMethod.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jvmtiEventController.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/biasedLocking.cpp ! src/hotspot/share/runtime/biasedLocking.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/deoptimization.hpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmOperations.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/services/dtraceAttacher.cpp - test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationAllTest.java Changeset: 80abfee2afaf Author: aefimov Date: 2019-06-25 16:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/80abfee2afaf 8226730: Missing `@` in code tags Reviewed-by: bpb Contributed-by: Patrick Concannon ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/URLStreamHandler.java Changeset: c9590e526d19 Author: ccheung Date: 2019-06-25 09:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c9590e526d19 8226462: [TESTBUG] runtime/appcds/sharedStrings/SysDictCrash.java failed with Cannot dump shared archive Summary: Add a CDS log statement in arguments.cpp. The test catches RuntimeException duing dumping and checks if the log statement is in the stdout. Reviewed-by: iklam, dholmes ! src/hotspot/share/runtime/arguments.cpp ! test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java Changeset: bdaec4628ea9 Author: vromero Date: 2019-06-25 18:21 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bdaec4628ea9 8226709: MethodTypeDesc::resolveConstantDesc needs access check per the specification Reviewed-by: mchung, mcimadamore ! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java + test/jdk/java/lang/constant/access_test/pkg1/MethodTypeDescriptorAccessTest.java + test/jdk/java/lang/constant/access_test/pkg2/NonPublicClass.java + test/jdk/java/lang/constant/access_test/pkg2/PublicClass.java Changeset: 688f985f29c3 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/688f985f29c3 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! src/java.smartcardio/unix/legal/pcsclite.md + src/java.smartcardio/unix/native/libj2pcsc/MUSCLE/COPYING Changeset: b7f68ddec66f Author: smonteith Date: 2019-06-25 10:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b7f68ddec66f 8226515: AArch64: float point register corruption in ZBarrierSetAssembler::load_at Reviewed-by: aph ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp Changeset: 0bf9477626ef Author: bobv Date: 2019-06-26 11:25 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0bf9477626ef 8224764: Create jtreg test for JDK-8222252 Reviewed-by: tschatzl + test/hotspot/jtreg/gc/arguments/TestMaxRAMFlags.java Changeset: 1761df20fa12 Author: jwilhelm Date: 2019-06-26 22:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1761df20fa12 Merge ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/runtime/arguments.cpp Changeset: 0ad04195be0c Author: igerasim Date: 2019-06-26 17:06 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0ad04195be0c 8224716: Javadoc of Int/Long/DoubleSummaryStatistics should mention possible overflow of count Reviewed-by: bpb ! src/java.base/share/classes/java/util/DoubleSummaryStatistics.java ! src/java.base/share/classes/java/util/IntSummaryStatistics.java ! src/java.base/share/classes/java/util/LongSummaryStatistics.java Changeset: a6e2d06391d6 Author: jwilhelm Date: 2019-06-27 03:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a6e2d06391d6 Added tag jdk-14+3 for changeset e64383344f14 ! .hgtags Changeset: d58442b8abc1 Author: jwilhelm Date: 2019-06-27 03:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d58442b8abc1 8225497: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MetadataBuilder.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/EconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Equivalence.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/MapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/Pair.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicMap.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableEconomicSet.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/UnmodifiableMapCursor.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.collections/src/jdk/internal/vm/compiler/collections/package-info.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.libgraal/src/jdk/internal/vm/compiler/libgraal/LibGraal.java + src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.libgraal/src/jdk/internal/vm/compiler/libgraal/LibGraalScope.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.libgraal/src/jdk/internal/vm/compiler/libgraal/OptionsEncoder.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/ComparableWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/LocationIdentity.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/Pointer.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/PointerBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/SignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/UnsignedWord.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordBase.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/WordFactory.java ! src/jdk.internal.vm.compiler/share/classes/jdk.internal.vm.compiler.word/src/jdk/internal/vm/compiler/word/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/BlackholeDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ControlFlowAnchorDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/IterationDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/OpaqueDirectiveTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.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/AMD64AsmOptions.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/src/org/graalvm/compiler/asm/Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Buffer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Label.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.code/src/org/graalvm/compiler/code/DataSection.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64BitFieldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeMatchRules.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/LIRKind.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/SpeculativeExecutionAttacksMitigations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/FloatStamp.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/CanonicalizedConversionTest.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/CompareCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest3.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest10.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest13.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest14.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest15.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest16.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ConditionalEliminationTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CopyOfVirtualizationTest.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/CustomizedBytecodePatternTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FloatingReadTest.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/GraphEncoderTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardedIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/HashCodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IfCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ImplicitNullCheckTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IntegerDivPowerOf2Test.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/IntegerEqualsCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LockEliminationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LoopFullUnrollTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/LoopUnswitchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/MergeCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NodePropertiesTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/PushNodesThroughPiTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/PushThroughIfTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReadAfterCheckCastTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ReassociateAndCanonicalTest.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/ScalarTypeSystemTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SchedulingTest2.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StampCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StraighteningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/TypeSystemTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnsafeReadEliminationTest.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/UnusedArray.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyBailoutUsage.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyBufferUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyCallerSensitiveMethods.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyDebugUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyFoldableMethods.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyGetOptionsUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyGraphAddUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyInstanceOfUsage.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/VerifyUnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyUpdateUsages.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyUsageWithEquals.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyVirtualizableUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/CompiledMethodTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/deopt/SynchronizedMethodDeoptimizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PoorMansEATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/NestedLoopEffectsPhaseComplexityTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilationWrapper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalCompilerOptions.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/GraalServiceThread.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/LIRCompilerBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/LIRGenerationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyLowTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/EconomyMidTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/GraphChangeMonitoringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/HighTier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/LowTier.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/DebugOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/TTY.java ! 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/Node.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/AArch64HotSpotJumpToExceptionHandlerInCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64ArrayIndexOfStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotJumpToExceptionHandlerInCallerOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.jdk9.test/src/org/graalvm/compiler/hotspot/jdk9/test/MathDoubleFMATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.jdk9.test/src/org/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.jdk9.test/src/org/graalvm/compiler/hotspot/jdk9/test/StringUTF16ToBytesGetCharsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.lir.test/src/org/graalvm/compiler/hotspot/lir/test/MitigateExceedingMaxOopMapStackOffsetTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/BoxDeoptimizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CRC32CSubstitutionsTest.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/ConstantPoolSubstitutionsTests.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/DeferredBarrierAdditionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotInvokeDynamicPluginTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HsErrLogTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/LoadJavaMirrorWithKlassTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ObjectHashCodeInliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestIntrinsicCompiles.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierVerificationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationTask.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilerConfigurationFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntime.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalServices.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotTTYStreamProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/JVMCIVersionCheck.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/debug/BenchmarkCounters.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ArrayRangePostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ArrayRangePreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1BarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1PostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1PreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ReferentFieldReadBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/ArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/BarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/CardTableBarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/ObjectWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/SerialArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/SerialWriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/AddressLoweringHotSpotSuitesProvider.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/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/HotSpotUnsafeSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/AllocaNode.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/MonitorCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/VMErrorNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/WriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/LoadConstantIndirectlyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/aot/ResolveConstantStubCall.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/AheadOfTimeVerificationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/LoadJavaMirrorWithKlassPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/OnStackReplacementPhase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierAdditionPhase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierVerificationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase.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/HotSpotSerialWriteBarrierSnippets.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/Log.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/SHA2Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/SHA5Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/SHASubstitutions.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/OutOfBoundsExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/SnippetStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/StubUtil.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/FrameStateBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/UnaryMath.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/NestedLoop_EA.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/optimize/TrichotomyFloats.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64BitFieldOp.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/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/src/org/graalvm/compiler/lir/BailoutAndRestartBackendException.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/LocationMarkerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMapBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMapBuilderImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/VirtualStackSlotRange.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/stackslotalloc/SimpleStackSlotAllocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/ContextlessLoopPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopFullUnrollPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPartialUnrollPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPeelingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopPhase.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/LoopEx.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/ConditionalEliminationBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/IfNodeCanonicalizationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/LoopPhiCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ReinterpretNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignedDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/ControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ArrayRangeWrite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/IntegerSwitchNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/ArrayRangeWriteBarrier.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/G1ArrayRangePostWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1ArrayRangePreWriteBarrier.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/gc/G1PostWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1PreWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1ReferentFieldReadBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/ObjectWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/SerialWriteBarrier.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/WriteBarrier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MethodCallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatableAccessNode.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/address/IndexAddressNode.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/DelegatingReplacements.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/Replacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/Option.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionStability.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionsParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/CanonicalizerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConditionalEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FixReadsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IncrementalCanonicalizerPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/IterativeConditionalEliminationPhase.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/NodeCounterPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/PropagateDeoptimizeProbabilityPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/UseTrappingNullChecksPhase.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/InliningUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/InliningData.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/EconomicSetNodeEventListener.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/util/TracingNodeEventListener.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/PhaseSuite.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/tiers/HighTierContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/LowTierContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/MidTierContext.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/PhaseContext.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.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOf.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/ArraysSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DeoptimizeOnExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DerivedOopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/FoldTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/InvokerSignatureMismatchTest.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/ReplacementsParseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/RootMethodSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringCompareToTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringCompressInflateTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringSubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/ClassfileBytecodeProviderTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/RedefineIntrinsicTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/CachingPEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ConstantBindingParameterPlugin.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/Log.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/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/gc/G1WriteBarrierSnippets.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/gc/SerialWriteBarrierSnippets.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/gc/WriteBarrierSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/DirectStoreNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MacroNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/BufferUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/JavaVersionUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/ExportingClassLoader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/GraalTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/SubprocessUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/GraphEffectList.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.graphio/src/org/graalvm/graphio/GraphOutput.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/GraphProtocol.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/package-info.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.util.test/src/org/graalvm/util/test/CollectionSizeTest.java Changeset: 3e31a8beaae4 Author: tschatzl Date: 2019-06-27 11:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3e31a8beaae4 8213108: Improve work distribution during remembered set scan Summary: Before scanning the heap for roots into the collection set, merge them into a single remembered set (card table) and do work distribution based on location like other collectors do. Reviewed-by: kbarrett, lkorinth ! src/hotspot/share/gc/g1/g1Analytics.cpp ! src/hotspot/share/gc/g1/g1Analytics.hpp ! src/hotspot/share/gc/g1/g1CardTable.cpp ! src/hotspot/share/gc/g1/g1CardTable.hpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1CollectionSet.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeterogeneousHeapPolicy.cpp ! src/hotspot/share/gc/g1/g1HeterogeneousHeapPolicy.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp + src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp ! src/hotspot/share/gc/g1/sparsePRT.cpp ! src/hotspot/share/gc/g1/sparsePRT.hpp ! src/hotspot/share/gc/shared/cardTable.hpp ! src/hotspot/share/gc/shared/workerDataArray.hpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 91b38bfb9079 Author: aoqi Date: 2019-06-27 18:00 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91b38bfb9079 8226871: invalid use of incomplete type class MacroAssembler when building minimal after JDK-8191278 Reviewed-by: shade ! src/hotspot/share/runtime/stubRoutines.cpp Changeset: 61e03d5d6bcb Author: dfuchs Date: 2019-06-27 16:12 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/61e03d5d6bcb 8226825: Replace wildcard address with loopback or local host in tests - part 19 Summary: Replace use of wildcard by the loopback address, or possibly the local host address, wherever possible, to improve test stability. Reviewed-by: chegar, bpb Contributed-by: julia.boes at oracle.com ! test/jdk/java/net/Socket/SetSoLinger.java ! test/jdk/sun/net/www/protocol/http/AsyncDisconnect.java ! test/jdk/sun/net/www/protocol/http/B6641309.java ! test/jdk/sun/net/www/protocol/http/B6660405.java ! test/jdk/sun/net/www/protocol/http/B6890349.java ! test/jdk/sun/net/www/protocol/http/Modified.java Changeset: be05771cdfdf Author: coleenp Date: 2019-06-27 11:40 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/be05771cdfdf 8225437: JvmtiExport::gc_epilogue is unnecessary Summary: Remove jvmtiExport::gc_epilogue after full GCs Reviewed-by: dholmes, sspitsyn, dlong ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/parallel/psMarkSweep.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiImpl.hpp Changeset: 03468b206457 Author: rehn Date: 2019-06-26 18:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/03468b206457 8225702: Safepoint counter can't be used for safepoint detection Reviewed-by: dcubed, dholmes ! src/hotspot/share/ci/ciMethodData.cpp ! src/hotspot/share/code/dependencyContext.hpp ! src/hotspot/share/runtime/biasedLocking.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepoint.hpp ! src/hotspot/share/runtime/vmThread.cpp Changeset: 4c52949a3487 Author: jwilhelm Date: 2019-06-27 03:13 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4c52949a3487 Added tag jdk-13+27 for changeset b7f68ddec66f ! .hgtags Changeset: f3b62797e2d0 Author: rschmelter Date: 2019-06-27 00:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f3b62797e2d0 8226608: Hide the onjcmd option from the help output Reviewed-by: sspitsyn, clanger ! src/hotspot/share/services/diagnosticCommand.cpp ! src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c Changeset: f6d6fd388315 Author: prr Date: 2019-06-27 12:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f6d6fd388315 8226783: GTK is not being returned as the System L&F on Gnome Reviewed-by: serb, psadhukhan ! src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java + test/jdk/javax/swing/LookAndFeel/SystemLookAndFeel/SystemLookAndFeelTest.java Changeset: 73f1c84ca264 Author: jwilhelm Date: 2019-06-27 22:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/73f1c84ca264 Merge ! .hgtags Changeset: c59f36ed7b52 Author: thartmann Date: 2019-06-28 09:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c59f36ed7b52 8226879: Memory leak in Type::hashcons Summary: Call delete on xdual type. Reviewed-by: kvn ! src/hotspot/share/opto/type.cpp Changeset: 33bb8c970770 Author: michaelm Date: 2019-06-28 11:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/33bb8c970770 8222968: ByteArrayPublisher is not thread-safe resulting in broken re-use of HttpRequests Reviewed-by: chegar, dfuchs ! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java + test/jdk/java/net/httpclient/ByteArrayPublishers.java Changeset: f9a2f93a0c87 Author: dpochepk Date: 2019-06-28 17:10 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f9a2f93a0c87 8223173: Implement fast class initialization checks on AARCH64 Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_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/templateTable_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.hpp Changeset: b2cbe2f674f0 Author: dfuchs Date: 2019-06-28 15:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b2cbe2f674f0 8226514: Replace wildcard address with loopback or local host in tests - part 14 Summary: Improve test stabilty by getting rid of the wildcard address whenever possible. Reviewed-by: chegar, vtewari ! test/jdk/java/net/HttpCookie/IllegalCookieNameTest.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTestServer.java ! test/jdk/sun/net/ftp/FtpURLConnectionLeak.java ! test/jdk/sun/net/www/http/HttpClient/RetryPost.java ! test/jdk/sun/net/www/protocol/http/B5017051.java ! test/jdk/sun/net/www/protocol/http/B6296310.java ! test/jdk/sun/net/www/protocol/http/B6299712.java ! test/jdk/sun/net/www/protocol/http/NoNTLM.java ! test/jdk/sun/net/www/protocol/http/UserAgent.java ! test/jdk/sun/net/www/protocol/http/ZoneId.java ! test/jdk/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java Changeset: 52ef2c940423 Author: aoqi Date: 2019-06-28 18:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/52ef2c940423 8226878: zero crashes after JDK-8191278 Reviewed-by: shade, jcm ! src/hotspot/cpu/zero/stubGenerator_zero.cpp Changeset: b279ae9843b8 Author: ccheung Date: 2019-06-28 09:49 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b279ae9843b8 8211723: AppCDS: referring to a jar file in any way other than exactly how it was done during dumping doesn't work Summary: Replaced os::file_name_strncmp() with os::same_files(). Reviewed-by: iklam, jiangli ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/solaris/os_solaris.inline.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/os_windows.inline.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/sharedPathsMiscInfo.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/appcds/AppCDSOptions.java ! test/hotspot/jtreg/runtime/appcds/AppendClasspath.java ! test/hotspot/jtreg/runtime/appcds/BootClassPathMismatch.java ! test/hotspot/jtreg/runtime/appcds/PrintSharedArchiveAndExit.java + test/hotspot/jtreg/runtime/appcds/RelativePath.java ! test/hotspot/jtreg/runtime/appcds/TestCommon.java ! test/hotspot/jtreg/runtime/appcds/dynamicArchive/DynamicArchiveTestBase.java + test/hotspot/jtreg/runtime/appcds/dynamicArchive/RelativePath.java Changeset: c9093341cfe2 Author: bpb Date: 2019-06-28 13:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c9093341cfe2 8226706: (se) Reduce the number of outer loop iterations on Windows in java/nio/channels/Selector/RacyDeregister.java Reviewed-by: alanb ! test/jdk/java/nio/channels/Selector/RacyDeregister.java Changeset: 1de28d191f9c Author: darcy Date: 2019-06-28 18:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1de28d191f9c 8226809: Circular reference in printed stack trace is not correctly indented & ambiguous Reviewed-by: bpb ! src/java.base/share/classes/java/lang/Throwable.java Changeset: ed7851b2d5e4 Author: jjiang Date: 2019-06-28 05:29 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed7851b2d5e4 8224650: Add tests to support X25519 and X448 in TLS Reviewed-by: xuelei ! test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java + test/jdk/sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java Changeset: bad3754349aa Author: jlahoda Date: 2019-06-27 10:39 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bad3754349aa 8226510: No compilation error when switch expression has no result expressions Summary: Ensure a compile-time error is produced when there are no result expressions in an switch expression. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/langtools/tools/javac/diags/examples/BreakOutsideSwitchExpression.java ! test/langtools/tools/javac/diags/examples/ContinueOutsideSwitchExpression.java ! test/langtools/tools/javac/diags/examples/ReturnOutsideSwitchExpression.java ! test/langtools/tools/javac/diags/examples/RuleCompletesNormally.java ! test/langtools/tools/javac/diags/examples/SwitchExpressionCompletesNormally.java + test/langtools/tools/javac/diags/examples/SwitchExpressionNoResultExpressions.java ! test/langtools/tools/javac/switchexpr/EmptySwitch.java ! test/langtools/tools/javac/switchexpr/EmptySwitch.out ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.out ! test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.out ! test/langtools/tools/javac/switchexpr/WrongBreakTest.out Changeset: 33766821f738 Author: naoto Date: 2019-06-28 08:48 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/33766821f738 8226876: Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960 Reviewed-by: clanger ! src/java.base/share/classes/sun/util/locale/provider/CalendarDataUtility.java + test/jdk/sun/util/locale/provider/CalendarDataRegression.java Changeset: 6aa047de311b Author: valeriep Date: 2019-06-28 19:36 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6aa047de311b 8226651: Setting the mgfHash in CK_RSA_PKCS_PSS_PARAMS has no effect Summary: Fixed to get the MGF digest algorithm from MGF1ParameterSpec Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java ! test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java ! test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java ! test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java Changeset: c868b89c7dd9 Author: clanger Date: 2019-06-28 20:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c868b89c7dd9 8226869: Test java/util/Locale/LocaleProvidersRun.java should enable assertions Reviewed-by: naoto ! test/jdk/java/util/Locale/LocaleProvidersRun.java Changeset: 6546a2ae6773 Author: dlong Date: 2019-06-28 16:50 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6546a2ae6773 8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly Reviewed-by: kvn, dlong Contributed-by: Doug Simon ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Changeset: e6331cf74840 Author: sspitsyn Date: 2019-06-28 16:06 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6331cf74840 8226917: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails on jvmti->InterruptThread (JVMTI_ERROR_THREAD_NOT_ALIVE) Summary: Fix one more sync issue in the test Reviewed-by: dcubed, gadams, amenkov ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC04/tc04t001/tc04t001.cpp Changeset: 5ce081828739 Author: jwilhelm Date: 2019-06-29 05:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5ce081828739 Merge ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Changeset: df1925d3d409 Author: aoqi Date: 2019-07-01 12:50 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/df1925d3d409 8226967: Minimal VM: FALSE was not declared in this scope Reviewed-by: dholmes ! src/hotspot/share/memory/filemap.hpp Changeset: 8313c42345d5 Author: neliasso Date: 2019-07-01 10:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8313c42345d5 8226287: Make process_users_of_allocation handle gc barriers Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/macro.cpp Changeset: 4309fedaf7dc Author: redestad Date: 2019-07-01 12:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4309fedaf7dc 8225344: Avoid VM_EnableBiasedLocking VM operation during bootstrap if BiasedLockingStartupDelay is 0 Reviewed-by: dcubed, shade, dholmes ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/runtime/biasedLocking.cpp Changeset: 4077a625a01f Author: zgu Date: 2019-07-01 08:24 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4077a625a01f 8226957: Shenandoah: Remove obsoleted ShenandoahStoreCheck option Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java Changeset: 734e58d8477b Author: poonam Date: 2019-07-01 18:24 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/734e58d8477b 8215523: jstat reports incorrect values for OU for CMS GC Reviewed-by: tschatzl, sgehwolf ! src/hotspot/share/gc/cms/cmsHeap.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp ! src/hotspot/share/gc/cms/gSpaceCounters.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp Changeset: d4de822dc421 Author: iveresov Date: 2019-06-28 21:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d4de822dc421 8226778: [JVMCI] Handle unpacking properly in Deoptimiziation::get_cached_box() Summary: Properly decode StackValue on big-endian machines Reviewed-by: kvn ! src/hotspot/share/runtime/deoptimization.cpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Changeset: 700ef5241888 Author: neliasso Date: 2019-07-01 10:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/700ef5241888 8226287: Make process_users_of_allocation handle gc barriers Reviewed-by: kvn, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/macro.cpp Changeset: e1a876085988 Author: sspitsyn Date: 2019-07-01 11:40 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e1a876085988 8226603: accessibility issues in specs/jvmti.html Summary: Fix accessability issues in the JVMTI spec Reviewed-by: dholmes, amenkov ! src/hotspot/share/prims/jvmti.xsl Changeset: 448d63614b6b Author: mikael Date: 2019-07-01 17:08 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/448d63614b6b Merge ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp Changeset: e846a51e8966 Author: stuefe Date: 2019-07-02 10:25 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e846a51e8966 8227035: JVM::printFlags fails in native OOM situations Reviewed-by: goetz, gziemski ! src/hotspot/share/runtime/flags/jvmFlag.cpp Changeset: 8a153a932d0f Author: stuefe Date: 2019-07-02 10:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8a153a932d0f 8227041: runtime/memory/RunUnitTestsConcurrently.java has a memory leak Reviewed-by: stefank, coleenp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 3ae57bbf9585 Author: prappo Date: 2019-07-02 13:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3ae57bbf9585 8226602: Test convenience reactive primitives from java.net.http with RS TCK Reviewed-by: chegar, dfuchs + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersFromPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersNoBody.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersOfByteArray.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersOfByteArrays.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersOfFile.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersOfInputStream.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodyPublishersOfSubByteArray.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersBuffering.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersDiscarding.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersFromLineSubscriber.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersFromSubscriber.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersMapping.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfByteArray.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfByteArrayConsumer.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfFile.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfInputStream.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfLines.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfPublisher1.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfPublisherPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersOfString.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/BodySubscribersReplacing.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/S.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/SPublisherOfStream.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/STest.java + test/jdk/java/net/httpclient/reactivestreams-tck-tests/TckDriver.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/FlowAdapters.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/Processor.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/Publisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/Subscriber.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/Subscription.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/AsyncIterablePublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/AsyncSubscriber.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/InfiniteIncrementNumberPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/NumberIterablePublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/RangePublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/example/unicast/SyncSubscriber.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/IdentityProcessorVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/PublisherVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/SubscriberBlackboxVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/SubscriberWhiteboxVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/TestEnvironment.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/WithHelperPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/FlowPublisherVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/FlowSubscriberBlackboxVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/FlowSubscriberWhiteboxVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/IdentityFlowProcessorVerification.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/Function.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/HelperPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/InfiniteHelperPublisher.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/NonFatal.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/Optional.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/PublisherVerificationRules.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/SubscriberBlackboxVerificationRules.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/SubscriberBufferOverflowException.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/SubscriberWhiteboxVerificationRules.java + test/jdk/java/net/httpclient/reactivestreams-tck/org/reactivestreams/tck/flow/support/TestException.java Changeset: c7a7728eeddc Author: zgu Date: 2019-07-02 10:21 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c7a7728eeddc 8227101: Shenandoah: Use ShenandoahSharedFlag for claimed flag in ShenandoahSerialRoot Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 1ba68bf27e27 Author: bpb Date: 2019-07-02 08:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1ba68bf27e27 8224480: (fc) java/nio/channels/FileChannel/MapTest.java fails intermittently Reviewed-by: lancea, alanb ! test/jdk/java/nio/channels/FileChannel/MapTest.java Changeset: 80853c6c9136 Author: jpai Date: 2019-07-02 11:07 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/80853c6c9136 8226976: SessionTimeOutTests uses == operator for String value check Summary: Use String.equals() instead of == operator Reviewed-by: xuelei ! test/jdk/javax/net/ssl/SSLSession/SessionTimeOutTests.java Changeset: 599a7a7b6f77 Author: aph Date: 2019-07-02 16:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/599a7a7b6f77 8226525: HotSpot compile-time error for x86-32 Reviewed-by: shade ! src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp Changeset: f1216302bdef Author: aph Date: 2019-07-02 16:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f1216302bdef Merge Changeset: 9bd13d6dea77 Author: hseigel Date: 2019-07-02 13:20 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9bd13d6dea77 8226956: Add invocation tests for Graal and C1 Summary: Add new tests for these JIT's Reviewed-by: lfoltan, coleenp + test/hotspot/jtreg/runtime/InvocationTests/invocationC1Tests.java + test/hotspot/jtreg/runtime/InvocationTests/invocationGraalTests.java ! test/hotspot/jtreg/runtime/InvocationTests/invokeinterface/Checker.java ! test/hotspot/jtreg/runtime/InvocationTests/invokespecial/Checker.java ! test/hotspot/jtreg/runtime/InvocationTests/invokevirtual/Checker.java ! test/hotspot/jtreg/runtime/InvocationTests/shared/AbstractGenerator.java ! test/hotspot/jtreg/runtime/InvocationTests/shared/AccessCheck.java Changeset: b9171be3cf2a Author: stefank Date: 2019-07-02 12:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b9171be3cf2a 8225770: ZGC: C2: Generates on_weak instead of on_strong barriers Reviewed-by: neliasso, eosterlund ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 46579c68f7f4 Author: stefank Date: 2019-07-02 12:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/46579c68f7f4 8227083: ZGC: C2: Generates on_weak barrier for WeakCompareAndSwap Reviewed-by: neliasso, eosterlund ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 9a5e9537fe1a Author: stefank Date: 2019-07-02 12:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9a5e9537fe1a 8227085: ZGC: Add on_weak load barrier verification Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zBarrierSet.inline.hpp Changeset: 19d0b382f086 Author: mbaesken Date: 2019-07-02 13:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/19d0b382f086 8226238: Improve error output and fix elf issues in os::dll_load Reviewed-by: clanger, mdoerr ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp Changeset: 657924d1e2ba Author: poonam Date: 2019-07-03 14:33 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/657924d1e2ba 8227178: Backout of 8215523 Reviewed-by: tschatzl ! src/hotspot/share/gc/cms/cmsHeap.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp ! src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp ! src/hotspot/share/gc/cms/gSpaceCounters.hpp ! src/hotspot/share/gc/shared/generation.cpp ! src/hotspot/share/gc/shared/generation.hpp Changeset: 5c8eb7381088 Author: mbaesken Date: 2019-06-28 13:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5c8eb7381088 8226943: compile error in libfollowref003.cpp with XCode 10.2 on macosx Reviewed-by: sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp Changeset: 38c73e24fa7b Author: phedlin Date: 2019-06-25 11:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/38c73e24fa7b 8225475: Node budget asserts on x86_32/64 Summary: Make the (ad-hoc) loop cloning size estimate more pessimistic. Reviewed-by: shade ! src/hotspot/share/opto/loopnode.cpp Changeset: cb0131439e9d Author: rschmelter Date: 2019-05-24 04:18 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cb0131439e9d 8224673: Adjust permission for delayed starting of debugging Summary: Changed permission from monitor to control Reviewed-by: sspitsyn, clanger ! src/hotspot/share/services/diagnosticCommand.hpp Changeset: 4c0a7916d3cd Author: jlahoda Date: 2019-07-02 09:14 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4c0a7916d3cd 8226522: No compilation error reported when yield is used in incorrect context Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.out ! test/langtools/tools/javac/switchexpr/WrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 2f464d628942 Author: eosterlund Date: 2019-07-02 11:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2f464d628942 8219687: G1 asserts nmethod should not be unloaded during parallel code cache unloading Reviewed-by: tschatzl, kvn ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/shared/gcBehaviours.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp Changeset: d56b192c73e9 Author: eosterlund Date: 2019-07-02 11:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d56b192c73e9 8225642: ZGC: Crash due to bad oops being spilled to stack in load barriers Reviewed-by: neliasso, pliden Contributed-by: erik.osterlund at oracle.com, stuart.monteith at linaro.org ! src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! src/hotspot/cpu/x86/gc/z/z_x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/vectornode.cpp Changeset: 7df7c1f71ccf Author: mgronlun Date: 2019-07-02 14:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7df7c1f71ccf 8225706: JFR RootResolver resets CLD claims with no restore Reviewed-by: zgu, egahlin ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp Changeset: 51b28beb53fd Author: mgronlun Date: 2019-07-02 17:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/51b28beb53fd 8227011: Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory Reviewed-by: egahlin, rwestberg ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp Changeset: a3778b378ce8 Author: amenkov Date: 2019-07-02 12:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a3778b378ce8 8225679: reference to http://java.sun.com/products/JavaManagement/download.html Reviewed-by: sspitsyn ! src/java.management/share/classes/javax/management/remote/package.html Changeset: d725c6c93133 Author: iignatyev Date: 2019-07-02 13:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d725c6c93133 8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-aot.txt Changeset: 34c6447cced4 Author: sspitsyn Date: 2019-07-02 14:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/34c6447cced4 8226596: Accessibility errors in jdwp-protocol.html Summary: Fix accessability issues in the JDWP spec Reviewed-by: amenkov, dholmes ! make/jdk/src/classes/build/tools/jdwpgen/AbstractCommandNode.java ! make/jdk/src/classes/build/tools/jdwpgen/AbstractNamedNode.java ! make/jdk/src/classes/build/tools/jdwpgen/CommandSetNode.java ! make/jdk/src/classes/build/tools/jdwpgen/ConstantSetNode.java ! make/jdk/src/classes/build/tools/jdwpgen/RootNode.java Changeset: 8e3a0ebf3497 Author: kbarrett Date: 2019-07-02 18:24 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8e3a0ebf3497 8226366: Excessive ServiceThread wakeups for OopStorage cleanup Summary: Drive wakes via safepoint cleanups with interval minimums. Reviewed-by: coleenp, tschatzl ! src/hotspot/share/gc/shared/oopStorage.cpp ! src/hotspot/share/gc/shared/oopStorage.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepoint.hpp ! src/hotspot/share/runtime/serviceThread.cpp Changeset: 1e95931e7d8f Author: weijun Date: 2019-07-03 11:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1e95931e7d8f 8226719: Kerberos login to Windows 2000 failed with "Inappropriate type of checksum in message" Reviewed-by: xuelei ! src/java.security.jgss/share/classes/sun/security/krb5/Checksum.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbKdcRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/CksumType.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/RsaMd5CksumType.java Changeset: 49102ba8cf14 Author: mgronlun Date: 2019-07-03 11:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/49102ba8cf14 8214542: JFR: Old Object Sample event slow on a deep heap in debug builds Reviewed-by: egahlin, rwestberg ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp ! src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp + src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp + src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp + src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp + src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp ! src/hotspot/share/jfr/leakprofiler/startOperation.hpp ! src/hotspot/share/jfr/leakprofiler/stopOperation.hpp + src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp ! src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp ! src/hotspot/share/jfr/support/jfrFlush.hpp ! src/hotspot/share/jfr/support/jfrThreadLocal.cpp ! src/hotspot/share/jfr/support/jfrThreadLocal.hpp ! src/hotspot/share/runtime/vmOperations.hpp Changeset: 618ad1237e73 Author: shade Date: 2019-06-13 19:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/618ad1237e73 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: e709712a8188 Author: mikael Date: 2019-07-03 07:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e709712a8188 Merge ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java Changeset: 0246f81c1dcd Author: rkennke Date: 2019-07-03 17:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0246f81c1dcd 8227199: Shenandoah: Remove superfluous calls to can_do_traversal_gc() Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: 25165403c62e Author: joehw Date: 2019-07-03 16:30 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/25165403c62e 8223291: Whitespace is added to CDATA tags when using OutputKeys.INDENT to format XML Reviewed-by: dfuchs, lancea ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/xmltest1.out ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/xmltest2.out ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/xmltest8.out ! test/jaxp/javax/xml/jaxp/unittest/transform/OutputPropertiesTest.java Changeset: 4d193e40e7af Author: tonyp Date: 2019-07-03 15:46 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4d193e40e7af 8223575: add subspace transitions to gc+metaspace=info log lines Reviewed-by: stuefe, tschatzl ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.hpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp ! src/hotspot/share/gc/parallel/psMarkSweep.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/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp + src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.cpp + src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: 3805144cc60a Author: mikael Date: 2019-07-03 14:18 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3805144cc60a Added tag jdk-14+4 for changeset 19d0b382f086 ! .hgtags Changeset: 8c19519114e7 Author: bpb Date: 2019-07-03 14:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c19519114e7 8227080: (fs) Files.newInputStream(...).skip(n) is slow Reviewed-by: sbordet, rriggs, fweimer ! src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java ! test/jdk/java/nio/file/Files/Misc.java Changeset: 4ce8e03602e1 Author: dnsimon Date: 2019-07-03 11:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4ce8e03602e1 8226566: [JVMCI] java.* classes are no longer necessarily resolved by the boot class loader Reviewed-by: kvn, dlong ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Changeset: 7276ccf6c29b Author: mikael Date: 2019-07-03 14:11 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7276ccf6c29b Added tag jdk-13+28 for changeset 1e95931e7d8f ! .hgtags Changeset: b8a986731870 Author: mikael Date: 2019-07-03 15:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b8a986731870 Merge ! .hgtags ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java Changeset: 12cb0fb3b425 Author: darcy Date: 2019-07-03 16:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/12cb0fb3b425 8227202: clarify Class.isEnum() doc Reviewed-by: bpb ! src/java.base/share/classes/java/lang/Class.java Changeset: 82fae48799e4 Author: thartmann Date: 2019-07-04 09:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/82fae48799e4 8227173: Minor cleanup of unused code in compile.hpp Summary: Removed unused code. Reviewed-by: kvn ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/type.hpp Changeset: ef032c55234c Author: mbaesken Date: 2019-07-03 13:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef032c55234c 8227171: provide function names in native stack trace on aix with xlc16 Reviewed-by: stuefe ! make/autoconf/flags-cflags.m4 Changeset: 51ad5ced897a Author: stuefe Date: 2019-07-04 11:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/51ad5ced897a 8227252: [aix] Disable jdk/java/lang/reflect/exeCallerAccessTest Reviewed-by: goetz ! test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java Changeset: 014c8cd323af Author: stuefe Date: 2019-07-01 16:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/014c8cd323af 8227032: MetaspaceUtils::print_report crashes when called before initialization Reviewed-by: tschatzl, goetz ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp Changeset: 4644b3155fce Author: rkennke Date: 2019-07-04 14:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4644b3155fce 8226757: Shenandoah: Make traversal and passive modes explicit Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp ! src/hotspot/share/gc/shenandoah/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/shenandoahMode.hpp + src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp + src/hotspot/share/gc/shenandoah/shenandoahNormalMode.hpp + src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.cpp + src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp + src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp + src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java ! test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java Changeset: 761fb4ec7ccf Author: redestad Date: 2019-07-04 15:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/761fb4ec7ccf 8224657: [TESTBUG] java/util/Locale/SoftKeys.java should be ignored but run Reviewed-by: alanb ! test/jdk/java/util/Locale/SoftKeys.java Changeset: 852dcb52bace Author: jlahoda Date: 2019-07-04 16:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/852dcb52bace 8227010: Error recovery after local variable redeclaration can be improved Summary: Entering duplicate local variables into the current scope so that the new variable is used instead of the previous variable. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java + test/langtools/tools/javac/recovery/LocalVarHiding.java + test/langtools/tools/javac/recovery/LocalVarHiding.out Changeset: 05dac93510c0 Author: rkennke Date: 2019-07-04 17:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/05dac93510c0 8226822: GC interface for C1 runtime calls Reviewed-by: neliasso, roland ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp Changeset: 9523b841b470 Author: rkennke Date: 2019-07-04 17:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9523b841b470 8226823: Adjust BarrierSetC2 for C2 runtime calls Reviewed-by: neliasso, roland ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/escape.hpp Changeset: fd1a4c4b7616 Author: kbarrett Date: 2019-07-04 13:26 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fd1a4c4b7616 8226793: Replace OopStorage dup_name with os::strdup Summary: Use os::strdup and os::free. Reviewed-by: tschatzl ! src/hotspot/share/gc/shared/oopStorage.cpp Changeset: 963924f1c891 Author: rkennke Date: 2019-07-04 20:29 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/963924f1c891 8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp Reviewed-by: dlong, stuefe, mdoerr ! src/hotspot/share/compiler/disassembler.cpp Changeset: 66a748c4f3ff Author: rkennke Date: 2019-07-05 11:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/66a748c4f3ff 8227039: Shenandoah: Aggressive heuristics for Traversal mode Reviewed-by: shade + src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalAggressiveHeuristics.cpp + src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalAggressiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java ! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java Changeset: cf5a438b3c41 Author: vlivanov Date: 2019-07-05 12:55 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf5a438b3c41 8226409: Enable argument profiling for sun.misc.Unsafe.put*/get* Reviewed-by: kvn ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/oops/methodData.cpp Changeset: d01b345865d7 Author: redestad Date: 2019-07-05 13:40 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d01b345865d7 8225239: Refactor NetworkInterface lookups Reviewed-by: michaelm, dfuchs, chegar ! src/java.base/share/classes/java/net/Inet6AddressImpl.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c ! src/java.base/windows/native/libnet/NetworkInterface.c ! src/java.base/windows/native/libnet/NetworkInterface_winXP.c ! test/jdk/java/net/NetworkInterface/NetworkInterfaceRetrievalTests.java + test/micro/org/openjdk/bench/java/net/NetworkInterfaceLookup.java Changeset: a128ba0b5f94 Author: amenkov Date: 2019-07-05 10:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a128ba0b5f94 8227124: "could not open pipe" error does not report error details Reviewed-by: sspitsyn, cjplummer ! src/hotspot/os/windows/attachListener_windows.cpp Changeset: 091ea1a285dc Author: weijun Date: 2019-07-04 07:25 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/091ea1a285dc 8227061: KDC.java test behaves incorrectly when AS-REQ contains a PAData not PA-ENC-TS-ENC Reviewed-by: mullan ! test/jdk/sun/security/krb5/auto/KDC.java Changeset: e6c430d4d217 Author: weijun Date: 2019-07-04 07:25 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6c430d4d217 8226963: More clarification on possible sequencing error in GSSContext::unwrap Reviewed-by: mullan ! src/java.security.jgss/share/classes/org/ietf/jgss/GSSContext.java Changeset: 3dcc40f328ea Author: dholmes Date: 2019-07-03 23:34 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3dcc40f328ea 8227055: Minor edits to launcher help text Reviewed-by: mchung ! src/java.base/share/classes/sun/launcher/resources/launcher.properties Changeset: cba615623d09 Author: stefank Date: 2019-07-02 12:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cba615623d09 8225770: ZGC: C2: Generates on_weak instead of on_strong barriers Reviewed-by: neliasso, eosterlund ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 73395f9cad54 Author: stefank Date: 2019-07-02 12:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/73395f9cad54 8227083: ZGC: C2: Generates on_weak barrier for WeakCompareAndSwap Reviewed-by: neliasso, eosterlund ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 3868dde58ebb Author: stefank Date: 2019-06-10 13:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3868dde58ebb 8227175: ZGC: ZHeapIterator visits potentially dead objects Reviewed-by: zgu, eosterlund ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zHeapIterator.hpp ! src/hotspot/share/gc/z/zMark.cpp - src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zOopClosures.hpp ! src/hotspot/share/gc/z/zOopClosures.inline.hpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/gc/z/zRootsIterator.hpp + src/hotspot/share/gc/z/zVerify.cpp + src/hotspot/share/gc/z/zVerify.hpp ! src/hotspot/share/gc/z/z_globals.hpp ! src/hotspot/share/memory/iterator.hpp ! src/hotspot/share/memory/iterator.inline.hpp ! src/hotspot/share/runtime/vmOperations.hpp Changeset: a30c86af2eb7 Author: jcm Date: 2019-07-05 00:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a30c86af2eb7 8226627: assert(t->singleton()) failed: must be a constant Summary: Implemented constant folding for MaxFD, MinFD. Reviewed-by: thartmann, bsrbnd, pli ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/type.cpp Changeset: 91050b1e0fe8 Author: mikael Date: 2019-07-05 11:01 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91050b1e0fe8 Merge ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp - src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/type.cpp Changeset: 78a2b1bb15cf Author: shade Date: 2019-07-05 23:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/78a2b1bb15cf 8227327: Shenandoah: Faster and more parallel tests Reviewed-by: rkennke ! test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java Changeset: 5919b273def6 Author: tschatzl Date: 2019-07-08 09:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5919b273def6 8224741: Optimize the scan area during the Scan Heap Roots phase Summary: When scanning card blocks, remember the last address already scanned. Continue scanning from this address. Reviewed-by: kbarrett, lkorinth ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/g1/heapRegion.inline.hpp Changeset: 47af68c44e02 Author: dcubed Date: 2019-07-08 11:38 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/47af68c44e02 8227117: normal interpreter table is not restored after single stepping with TLH Reviewed-by: sspitsyn, eosterlund, dholmes, coleenp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/prims/jvmtiEventController.cpp Changeset: 377e49b3014c Author: dcubed Date: 2019-07-08 12:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/377e49b3014c Merge Changeset: 47fdb5b0fa41 Author: kbarrett Date: 2019-07-08 17:24 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/47fdb5b0fa41 8217170: gc/arguments/TestUseCompressedOopsErgo.java timed out Summary: Disable ZapUnusedHeapArea and VerifyBeforeExit for gc/arguments tests. Reviewed-by: tschatzl, tonyp + test/hotspot/jtreg/gc/arguments/GCArguments.java ! test/hotspot/jtreg/gc/arguments/TestAggressiveHeap.java ! test/hotspot/jtreg/gc/arguments/TestArrayAllocatorMallocLimit.java ! test/hotspot/jtreg/gc/arguments/TestCompressedClassFlags.java ! test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestG1ConcMarkStepDurationMillis.java ! test/hotspot/jtreg/gc/arguments/TestG1ConcRefinementThreads.java ! test/hotspot/jtreg/gc/arguments/TestG1HeapRegionSize.java ! test/hotspot/jtreg/gc/arguments/TestG1PercentageOptions.java ! test/hotspot/jtreg/gc/arguments/TestHeapFreeRatio.java ! test/hotspot/jtreg/gc/arguments/TestInitialTenuringThreshold.java ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestMaxNewSize.java ! test/hotspot/jtreg/gc/arguments/TestMaxRAMFlags.java ! test/hotspot/jtreg/gc/arguments/TestMinAndInitialSurvivorRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeThreadIncrease.java ! test/hotspot/jtreg/gc/arguments/TestObjectTenuringFlags.java ! test/hotspot/jtreg/gc/arguments/TestParallelGCThreads.java ! test/hotspot/jtreg/gc/arguments/TestParallelRefProc.java ! test/hotspot/jtreg/gc/arguments/TestSelectDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestTargetSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestUnrecognizedVMOptionsHandling.java ! test/hotspot/jtreg/gc/arguments/TestUseCompressedOopsErgoTools.java ! test/hotspot/jtreg/gc/arguments/TestUseNUMAInterleaving.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java Changeset: 2ecbc4b12f79 Author: ecaspole Date: 2019-07-08 17:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2ecbc4b12f79 8225626: JMH Test Support for JDK-8222074 Summary: Micros for new SuperWord optimizations Reviewed-by: vlivanov, ecaspole Contributed-by: shravya.rukmannagari at intel.com + test/micro/org/openjdk/bench/vm/compiler/TypeVectorOperations.java Changeset: e28b69b3dc96 Author: ecaspole Date: 2019-07-08 18:30 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e28b69b3dc96 Merge Changeset: a55b46a208d1 Author: weijun Date: 2019-07-06 08:11 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a55b46a208d1 8227305: Krb5Util::getTicketFromSubjectAndTgs is useless Reviewed-by: xuelei ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java Changeset: 040cb8bf265e Author: avu Date: 2019-07-07 10:52 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/040cb8bf265e 8226654: Some swing gtk regression tests fail with "java.lang.InternalError: Unable to load native GTK librarie Reviewed-by: prr, psadhukhan ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c Changeset: 3af213fe4704 Author: kvn Date: 2019-07-07 18:10 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3af213fe4704 8225064: [Graal] Application SEGV in G1ParScanThreadState::copy_to_survivor_space(G1HeapRegionAttr, oopDesc*, markOopDesc*)+0x48 Summary: switch off ReduceInitialCardMarks optimization in Graal in JDK 13 (full fix is in JDK 14) Reviewed-by: thartmann, never ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java Changeset: 62e0af50f8d5 Author: yzheng Date: 2019-07-07 18:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/62e0af50f8d5 8224254: compiler/graalunit/HotspotJdk9Test.java is timing out intermittently Reviewed-by: kvn, thartmann ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.jdk9.test/src/org/graalvm/compiler/hotspot/jdk9/test/MathDoubleFMATest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.jdk9.test/src/org/graalvm/compiler/hotspot/jdk9/test/MathFloatFMATest.java ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 3eae7f0e21d6 Author: never Date: 2019-07-07 18:27 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3eae7f0e21d6 8221514: [Graal] java/lang/String/CompactString/ tests fail with "GraalError: failed guarantee: no FrameState at DeoptimizingNode" in Graal -Xcomp mode Summary: Put FrameState directly on final StateSplit in intrinsics. Reviewed-by: thartmann, kvn, dnsimon, gdub ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java Changeset: 978b2201984c Author: mdoerr Date: 2019-07-08 10:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/978b2201984c 8226302: Test failures on IBM platforms (power and s/390) after JDK-8223837 Summary: Adjust heap size values for 32M heap aligment (page size 64k) Reviewed-by: goetz, rschmelter, tschatzl ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java ! test/hotspot/jtreg/gc/arguments/TestSoftMaxHeapSizeFlag.java Changeset: 3595fb8794c5 Author: jcm Date: 2019-07-08 04:01 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3595fb8794c5 8221577: [Graal] Implement basic type consistency checks for Low level MH intrinsics Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CustomizedBytecodePatternTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/InvokerSignatureMismatchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: eb1fbe4d61b2 Author: dcubed Date: 2019-07-08 12:16 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eb1fbe4d61b2 Merge Changeset: ea3b1a8fd4bb Author: mikael Date: 2019-07-08 16:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ea3b1a8fd4bb Merge ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CustomizedBytecodePatternTest.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.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java ! test/hotspot/jtreg/gc/arguments/TestMaxHeapSizeTools.java Changeset: 0b470386f5f7 Author: jlahoda Date: 2019-07-09 09:20 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0b470386f5f7 8223443: Calling Trees.getScope early changes names of local/anonymous classes Summary: Ensure Trees.getScope does not affect the rest of the compilation. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java + test/langtools/tools/javac/api/TestGetScopeBinaryNames.java + test/langtools/tools/javac/api/TestGetScopeErrors.java Changeset: c589ba4b823c Author: mbaesken Date: 2019-07-08 13:29 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c589ba4b823c 8227389: Remove unsupported xlc16 compile options on aix Reviewed-by: clanger, mdoerr ! make/autoconf/flags-cflags.m4 Changeset: cb90a20eb99a Author: jiangli Date: 2019-07-09 10:27 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cb90a20eb99a 8225035: Thread stack size issue caused by large TLS size Summary: Adjust thread stack size for static TLS on Linux when AdjustStackSizeForTLS is enabled. Reviewed-by: dholmes, fweimer, stuefe, rriggs, martin Contributed-by: jeremymanson at google.com, fweimer at redhat.com, jianglizhou at google.com ! make/test/JtregNativeHotspot.gmk ! src/hotspot/os/linux/globals_linux.hpp ! src/hotspot/os/linux/os_linux.cpp + test/hotspot/jtreg/runtime/TLS/T.java + test/hotspot/jtreg/runtime/TLS/exestack-tls.c + test/hotspot/jtreg/runtime/TLS/testtls.sh Changeset: f7e8dbb77156 Author: pchilanomate Date: 2019-07-09 14:38 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f7e8dbb77156 8191890: Biased locking still uses the inferior stop the world safepoint for revocation Summary: Revocations are now executed with thread local handshakes instead of safepoints Reviewed-by: dcubed, coleenp, dholmes, rehn, mgronlun ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/runtime/biasedLocking.cpp ! src/hotspot/share/runtime/biasedLocking.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMOps.java ! test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java Changeset: 91faea277c86 Author: jbhateja Date: 2019-07-09 15:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91faea277c86 8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java failed XMM register should be 0-15 Reviewed-by: thartmann, vlivanov, ctornqvi, bsrbnd ! src/hotspot/cpu/x86/x86_64.ad Changeset: 9c1885fb2a42 Author: naoto Date: 2019-07-09 08:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9c1885fb2a42 8227127: Era designator not displayed correctly using the COMPAT provider Reviewed-by: rriggs ! src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh_TW.java ! test/jdk/sun/text/resources/LocaleData ! test/jdk/sun/text/resources/LocaleDataTest.java Changeset: 7a0d1616851e Author: eosterlund Date: 2019-07-09 16:39 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a0d1616851e 8227277: HeapInspection::find_instances_at_safepoint walks dead objects Reviewed-by: dholmes, kbarrett, tschatzl, coleenp ! src/hotspot/share/memory/heapInspection.cpp Changeset: 29e522153769 Author: eosterlund Date: 2019-07-09 16:39 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/29e522153769 8224531: SEGV while collecting Klass statistics Reviewed-by: coleenp, kbarrett, tschatzl ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/oops/klass.cpp Changeset: 10f1928a33b5 Author: dlong Date: 2019-07-09 13:46 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/10f1928a33b5 8227237: [Graal] org.graalvm.compiler.api.directives.test.ProbabilityDirectiveTest fails with -Xcomp Reviewed-by: kvn ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java Changeset: 1831d28d34bb Author: never Date: 2019-07-09 14:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1831d28d34bb 8227034: Graal crash with gcbasher Summary: Adjust Graal's registers declaration for String intrinisics. Reviewed-by: dlong, dnsimon, kvn ! 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 Changeset: d6600ddb85fb Author: jbhateja Date: 2019-07-09 15:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6600ddb85fb 8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java failed XMM register should be 0-15 Reviewed-by: thartmann, vlivanov, ctornqvi, bsrbnd ! src/hotspot/cpu/x86/x86_64.ad Changeset: 9d7c2d9f822c Author: mikael Date: 2019-07-09 16:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9d7c2d9f822c Merge ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java Changeset: 0f1e29c77e50 Author: rpatil Date: 2019-07-10 05:12 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0f1e29c77e50 8224560: (tz) Upgrade time-zone data to tzdata2019a 8225580: tzdata2018i integration causes test failures on jdk-13 Reviewed-by: andrew, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/zone.tab ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/java.base/share/classes/sun/util/resources/TimeZoneNames.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java ! test/jdk/sun/util/calendar/zi/TestZoneInfo310.java ! test/jdk/sun/util/calendar/zi/tzdata/VERSION ! test/jdk/sun/util/calendar/zi/tzdata/africa ! test/jdk/sun/util/calendar/zi/tzdata/asia ! test/jdk/sun/util/calendar/zi/tzdata/australasia ! test/jdk/sun/util/calendar/zi/tzdata/backward ! test/jdk/sun/util/calendar/zi/tzdata/etcetera ! test/jdk/sun/util/calendar/zi/tzdata/europe ! test/jdk/sun/util/calendar/zi/tzdata/iso3166.tab ! test/jdk/sun/util/calendar/zi/tzdata/leapseconds ! test/jdk/sun/util/calendar/zi/tzdata/northamerica ! test/jdk/sun/util/calendar/zi/tzdata/zone.tab Changeset: 96c22149c817 Author: rkennke Date: 2019-07-12 13:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/96c22149c817 Merge ! .hgtags ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! 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/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! 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/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp - src/hotspot/share/gc/z/zOopClosures.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp ! src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/vmOperations.hpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VMOps.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardedIntrinsicTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/WriteBarrierVerificationTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ArrayRangePostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ArrayRangePreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1BarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1PostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1PreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/g1/G1ReferentFieldReadBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/ArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/BarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/CardTableBarrierSet.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/ObjectWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/SerialArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/gc/shared/SerialWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/WriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierAdditionPhase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/WriteBarrierVerificationPhase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/WriteBarrierSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/PhaseContext.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/Log.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/DirectStoreNode.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/arguments/TestDisableDefaultGC.java ! test/hotspot/jtreg/gc/arguments/TestMaxMinHeapFreeRatioFlags.java ! test/hotspot/jtreg/gc/arguments/TestNewRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestNewSizeFlags.java ! test/hotspot/jtreg/gc/arguments/TestSurvivorRatioFlag.java ! test/hotspot/jtreg/gc/arguments/TestVerifyBeforeAndAfterGCFlags.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java ! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java ! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java ! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java ! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java ! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java ! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java ! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java ! test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java ! test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java ! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java ! test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java ! test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java ! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gclocker/TestGCLockerWithShenandoah.java ! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java ! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/contention/TC04/tc04t001/tc04t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp Changeset: 50090a930aa2 Author: rkennke Date: 2019-07-15 18:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/50090a930aa2 Merge From rkennke at redhat.com Mon Jul 15 16:37:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 18:37:55 +0200 Subject: RFR: Cherry-pick: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers Message-ID: <0240eb30-eb59-cef6-e1ba-12b17712ddce@redhat.com> Current sh/jdk is broken b/c Shenandoah's C2 verifier does't recognize the native barriers. Let's cherry-pick the fix to sh/jdk: http://cr.openjdk.java.net/~rkennke/JDK-8227637/webrev.00/ Testing: hotspot_gc_shenandoah, ctw-tests From rkennke at redhat.com Mon Jul 15 16:40:45 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 18:40:45 +0200 Subject: Cherry pick native barrier related changes to shenandoah/jdk In-Reply-To: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> References: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> Message-ID: I just pushed my last-week's merge which includes the first two of your cherry-picks and you may want to wait for my 8227637 cherry-pick too, so that we can finally have an unbroken sh/jdk. Roman > I would like cherry pick native barrier related changes to shenandoah/jdk. > > Cherry-pick: 8226823: Adjust BarrierSetC2 for C2 runtime calls > Cherry-pick: 8226822: GC interface for C1 runtime calls > Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier > Cherry-pick: 8225483: Shenandoah: Enhance native access barrier > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.00/ > > Test: > ? in progress. > > Thanks, > > -Zhengyu From zgu at redhat.com Mon Jul 15 16:41:31 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 15 Jul 2019 12:41:31 -0400 Subject: Cherry pick native barrier related changes to shenandoah/jdk In-Reply-To: References: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> Message-ID: <4251046e-8e62-49d4-95b4-5ea7b4bca935@redhat.com> On 7/15/19 12:40 PM, Roman Kennke wrote: > I just pushed my last-week's merge which includes the first two of your > cherry-picks and you may want to wait for my 8227637 cherry-pick too, so > that we can finally have an unbroken sh/jdk. Sure. -Zhengyu > > Roman > > >> I would like cherry pick native barrier related changes to shenandoah/jdk. >> >> Cherry-pick: 8226823: Adjust BarrierSetC2 for C2 runtime calls >> Cherry-pick: 8226822: GC interface for C1 runtime calls >> Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier >> Cherry-pick: 8225483: Shenandoah: Enhance native access barrier >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.00/ >> >> Test: >> ? in progress. >> >> Thanks, >> >> -Zhengyu > From zgu at redhat.com Mon Jul 15 16:47:29 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 15 Jul 2019 12:47:29 -0400 Subject: RFR: Cherry-pick: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers In-Reply-To: <0240eb30-eb59-cef6-e1ba-12b17712ddce@redhat.com> References: <0240eb30-eb59-cef6-e1ba-12b17712ddce@redhat.com> Message-ID: <561e9055-1da6-4da9-9aac-9c5bc7f7f562@redhat.com> Okay. Thanks, -Zhengyu On 7/15/19 12:37 PM, Roman Kennke wrote: > Current sh/jdk is broken b/c Shenandoah's C2 verifier does't recognize > the native barriers. Let's cherry-pick the fix to sh/jdk: > > http://cr.openjdk.java.net/~rkennke/JDK-8227637/webrev.00/ > > Testing: hotspot_gc_shenandoah, ctw-tests > From rkennke at redhat.com Mon Jul 15 16:48:22 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 15 Jul 2019 16:48:22 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers Message-ID: <201907151648.x6FGmNoh009404@aojmv0008.oracle.com> Changeset: 5d7914206774 Author: rkennke Date: 2019-07-15 12:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5d7914206774 Cherry-pick: 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers Reviewed-by: roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From zgu at redhat.com Mon Jul 15 17:57:09 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 15 Jul 2019 13:57:09 -0400 Subject: Cherry pick native barrier related changes to shenandoah/jdk In-Reply-To: References: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> Message-ID: <9eb643fd-f412-7a1b-4ce0-0198bdc0aa47@redhat.com> On 7/15/19 12:40 PM, Roman Kennke wrote: > I just pushed my last-week's merge which includes the first two of your > cherry-picks and you may want to wait for my 8227637 cherry-pick too, so > that we can finally have an unbroken sh/jdk. Okay, the list down to 2 items: Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Cherry-pick: 8225483: Shenandoah: Enhance native access barrier Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.01/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu > > Roman > > >> I would like cherry pick native barrier related changes to shenandoah/jdk. >> >> Cherry-pick: 8226823: Adjust BarrierSetC2 for C2 runtime calls >> Cherry-pick: 8226822: GC interface for C1 runtime calls >> Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier >> Cherry-pick: 8225483: Shenandoah: Enhance native access barrier >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.00/ >> >> Test: >> ? in progress. >> >> Thanks, >> >> -Zhengyu > From rkennke at redhat.com Mon Jul 15 17:59:31 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 19:59:31 +0200 Subject: Cherry pick native barrier related changes to shenandoah/jdk In-Reply-To: <9eb643fd-f412-7a1b-4ce0-0198bdc0aa47@redhat.com> References: <6aaabc3e-9c54-c8f7-e86d-8a4cf9a0fdd1@redhat.com> <9eb643fd-f412-7a1b-4ce0-0198bdc0aa47@redhat.com> Message-ID: >> I just pushed my last-week's merge which includes the first two of your >> cherry-picks and you may want to wait for my 8227637 cherry-pick too, so >> that we can finally have an unbroken sh/jdk. > > Okay, the list down to 2 items: > > Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier > Cherry-pick: 8225483: Shenandoah: Enhance native access barrier > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/native_barriers/webrev.01/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) Ok. Thanks! Roman From zgu at redhat.com Mon Jul 15 18:32:51 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 15 Jul 2019 18:32:51 +0000 Subject: hg: shenandoah/jdk: Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Message-ID: <201907151832.x6FIWpOn012962@aojmv0008.oracle.com> Changeset: c15199741b03 Author: rkennke Date: 2019-07-04 17:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c15199741b03 Cherry-pick: 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Reviewed-by: roland ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp From zgu at redhat.com Mon Jul 15 18:44:50 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 15 Jul 2019 14:44:50 -0400 Subject: RFR: Backout Cherry Pick: native barriers changeset Message-ID: Sorry, I made mistake by folded the two changeset into one. I would like backout it out, and repush the cherry picks. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/backout_native_barriers/webrev.00/ Thanks, -Zhengyu From rkennke at redhat.com Mon Jul 15 18:48:20 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 Jul 2019 20:48:20 +0200 Subject: RFR: Backout Cherry Pick: native barriers changeset In-Reply-To: References: Message-ID: Hmm, does it really matter? Next merge we will get the single changesets anyway. As long as the combined cherry-pick changeset is identical to the single changesets it seems less of a problem to just keep it as it is now. Roman Am 15. Juli 2019 20:44:50 MESZ schrieb Zhengyu Gu : >Sorry, I made mistake by folded the two changeset into one. I would >like >backout it out, and repush the cherry picks. > >Webrev: >http://cr.openjdk.java.net/~zgu/shenandoah/backout_native_barriers/webrev.00/ > >Thanks, > >-Zhengyu -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From shade at redhat.com Mon Jul 15 18:51:36 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 Jul 2019 20:51:36 +0200 Subject: RFR: Backout Cherry Pick: native barriers changeset In-Reply-To: References: Message-ID: <93e0dac1-8ac3-c35f-1b62-7b97275076e7@redhat.com> This is not a problem for sh/jdk. Leave it as is. -- Thanks, -Aleksey On 7/15/19 8:48 PM, Roman Kennke wrote: > Hmm, does it really matter? Next merge we will get the single changesets anyway. As long as the > combined cherry-pick changeset is identical to the single changesets it seems less of a problem > to just keep it as it is now. > > Roman > > > Am 15. Juli 2019 20:44:50 MESZ schrieb Zhengyu Gu : >> Sorry, I made mistake by folded the two changeset into one. I would like backout it out, and >> repush the cherry picks. >> >> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/backout_native_barriers/webrev.00/ >> >> Thanks, >> >> -Zhengyu > From rkennke at redhat.com Tue Jul 16 08:50:38 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 Jul 2019 10:50:38 +0200 Subject: RFR: 8227677: Shenandoah: C2: Make in-native LRB special case of normal LRB In-Reply-To: <3f9ac9c7-c8c3-582c-0825-d774a79c51ad@redhat.com> References: <3f9ac9c7-c8c3-582c-0825-d774a79c51ad@redhat.com> Message-ID: <7793a4a4-4152-0588-c631-e67c9efc7fe4@redhat.com> I spotted a leftover string rename: Incremental: http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.01.diff/ Full: http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.01/ Roman > Currently, IN_NATIVE LRB generates a runtime call during parsing in C2. > This may break optimizations. It is known to break the > mirror->Klass*->mirror / Klass*->mirror->Klass* optimizations, and > possibly some others too (e.g. wholesale elimination of the barrier on > new/constant objects). > > It seems better to emit the normal LoadReferenceBarrier, with a special > property 'native' instead, and only generate different > runtime-call-addresses. > > The patch reverts the other C2 parts that I pushed for IN_NATIVE support. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8227677 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.00/ > > Testing: hotspot_gc_shenandoah, ctw-tests > > Ok? > > Roman > From zgu at redhat.com Tue Jul 16 15:04:27 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 16 Jul 2019 11:04:27 -0400 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load In-Reply-To: <87v9w34vhe.fsf@redhat.com> References: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> <87v9w34vhe.fsf@redhat.com> Message-ID: <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> Please review this updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.01/ 1) As Roland suggested, don't save vector registers. 2) Renamed oop_load_natiev_barrier() to load_reference_barrier_native() to be consistent with current Roman's naming changes. 3) Use is_traversal_mode() instead of is_concurrent_traversal_in_progress(), due to recent traversal GC changes. 4) Restore old traversal behavior, disregard NO_KEEPALIVE decorator. Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and aarch64. -Zhengyu On 7/15/19 3:17 AM, Roland Westrelin wrote: > >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.00/index.html > > Do you really need to save vector registers? Isn't this called from the > interpreter only? > > Roland. > From rkennke at redhat.com Tue Jul 16 15:27:51 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 Jul 2019 17:27:51 +0200 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load In-Reply-To: <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> References: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> <87v9w34vhe.fsf@redhat.com> <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> Message-ID: <15942bb2-eef7-277d-e8dc-dbad31dd08c9@redhat.com> There seem to be gratituous whitespace changes in : src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp and src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp Other than that, looks good. I will look at the traversal issue, I am not quite sure how this needs to be treated. Roman > Please review this updated webrev: > > http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.01/ > > > 1) As Roland suggested, don't save vector registers. > > 2) Renamed oop_load_natiev_barrier() to load_reference_barrier_native() > to be consistent with current Roman's naming changes. > > 3) Use is_traversal_mode() instead of > is_concurrent_traversal_in_progress(), due to recent traversal GC changes. > > 4) Restore old traversal behavior, disregard NO_KEEPALIVE decorator. > > Test: > > ? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and > aarch64. > > > -Zhengyu > > > > On 7/15/19 3:17 AM, Roland Westrelin wrote: >> >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.00/index.html >> >> Do you really need to save vector registers? Isn't this called from the >> interpreter only? >> >> Roland. >> From zgu at redhat.com Tue Jul 16 15:42:53 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 16 Jul 2019 11:42:53 -0400 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load In-Reply-To: <15942bb2-eef7-277d-e8dc-dbad31dd08c9@redhat.com> References: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> <87v9w34vhe.fsf@redhat.com> <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> <15942bb2-eef7-277d-e8dc-dbad31dd08c9@redhat.com> Message-ID: <9bfd9ab8-3e7d-3f33-998f-9ad03d0e094e@redhat.com> On 7/16/19 11:27 AM, Roman Kennke wrote: > There seem to be gratituous whitespace changes in : > > src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp > and > src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp > Thanks. Will fix before push. -Zhengyu > Other than that, looks good. I will look at the traversal issue, I am > not quite sure how this needs to be treated. > > Roman > > >> Please review this updated webrev: >> >> http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.01/ >> >> >> 1) As Roland suggested, don't save vector registers. >> >> 2) Renamed oop_load_natiev_barrier() to load_reference_barrier_native() >> to be consistent with current Roman's naming changes. >> >> 3) Use is_traversal_mode() instead of >> is_concurrent_traversal_in_progress(), due to recent traversal GC changes. >> >> 4) Restore old traversal behavior, disregard NO_KEEPALIVE decorator. >> >> Test: >> >> ? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and >> aarch64. >> >> >> -Zhengyu >> >> >> >> On 7/15/19 3:17 AM, Roland Westrelin wrote: >>> >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.00/index.html >>> >>> Do you really need to save vector registers? Isn't this called from the >>> interpreter only? >>> >>> Roland. >>> > From gnu.andrew at redhat.com Tue Jul 16 22:07:09 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 16 Jul 2019 23:07:09 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u222-b08 Upstream Sync In-Reply-To: References: <3ea90b68-363c-507e-993e-353f81cc3ee7@redhat.com> <0eed757b-c200-51b5-5fd7-08e74a8d3d73@redhat.com> Message-ID: On 15/07/2019 17:06, Andrew John Hughes wrote: > > > On 08/07/2019 17:08, Aleksey Shipilev wrote: >> On 7/8/19 3:47 AM, Andrew John Hughes wrote: >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/corba/merge.changeset >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxp/merge.changeset >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jaxws/merge.changeset >> >> Trivially good. >> >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/jdk/merge.changeset >> >> Looking at webrev and this changeset. It is a bit odd the files like >> src/share/classes/sun/security/ec/ECKeyPairGenerator.java, >> src/share/classes/sun/security/util/ECUtil.java, src/share/classes/sun/security/util/Debug.java do >> not have recorded metadata for them in webrev. Were the changes to them committed/qrefreshed after >> generating the webrev? >> >> If so, looks good. >> >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/hotspot/merge.changeset >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/langtools/merge.changeset >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/nashorn/merge.changeset >>> http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b08/root/merge.changeset >> >> Trivially good. >> >> -Aleksey >> > > No. It looks finally locally: > > $ hg log -R ../shenandoah.8/jdk -r > aarch64-shenandoah-jdk8u222-b07:aarch64-shenandoah-jdk8u222-b08 > ../shenandoah.8/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java > changeset: 14335:8226f355c61c > user: andrew > date: Mon Jun 17 16:46:10 2019 +0100 > summary: 8182999: SunEC throws ProviderException on invalid curves > > changeset: 14338:9b5707865a97 > user: andrew > date: Fri Jun 28 22:57:58 2019 +0100 > summary: 8208698: Improved ECC Implementation > > I have no idea what webrev is doing. > Pushed anyway. The patches themselves look sane. -- 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 https://keybase.io/gnu_andrew From gnu.andrew at redhat.com Tue Jul 16 22:27:11 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 16 Jul 2019 23:27:11 +0100 Subject: [RFR] [8u] 8u222-b09 & 8u222-b10 Upstream Sync Message-ID: <6b26361d-e7b4-edf0-0c85-b624a9120bb1@redhat.com> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/ Merge changesets for b09: http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/corba/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jaxp/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jaxws/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jdk/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/hotspot/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/langtools/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/nashorn/b09.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/root/b09.changeset Merge changesets for b10: http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/corba/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jaxp/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jaxws/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/jdk/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/hotspot/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/langtools/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/nashorn/b10.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/root/b10.changeset Changes in aarch64-shenandoah-jdk8u222-b09: - S8135248: Add utility methods to check indexes and ranges - S8142493: Utility methods to check indexes and ranges doesn't specify behavior when function produces null - S8146458: Improve exception reporting for Objects.checkIndex/checkFromToIndex/checkFromIndexSize - S8155794: Move Objects.checkIndex BiFunction accepting methods to an internal package - S8179098: Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73) - S8191073: JpegImageReader throws IndexOutOfBoundsException when trying to read image data from tables-only image - S8212328, CVE-2019-2762: Exceptional throw cases - S8213431, CVE-2019-2766: Improve file protocol handling - S8213432, CVE-2019-2769: Better copies of CopiesList - S8216381, CVE-2019-2786: More limited privilege usage - S8217563: Improve realm maintenance - S8218863: Better endpoint checks - S8218873: Improve JSSE endpoint checking - S8218876, CVE-2019-7317: Improve PNG support options - S8219775: Certificate validation improvements - S8220192: Better outlook for SecureRandom - S8220517: Enhanced GIF support - S8221518, CVE-2019-2816: Normalize normalization - S8223511, CVE-2019-2842: Extended AES support Changes in aarch64-shenandoah-jdk8u222-b10: - S8157792: After Integrating tzdata2016d the test/sun/util/calendar/zi/TestZoneInfo310.java fails for "Asia/Oral" and "Asia/Qyzylorda" Timezones - S8215982: (tz) Upgrade time-zone data to tzdata2018i - S8219018: Adjust positions of glyphs - S8219020: Table alternate substitutions - S8224560: (tz) Upgrade time-zone data to tzdata2019a - S8225580: tzdata2018i integration causes test failures on jdk-13 Main issues of note: These are all JDK changes, bar one HotSpot update to got with 8223511, so nothing much in terms of merging with Shenandoah code. diffstat for root (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn (b09) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk (b09) b/.hgtags | 1 b/src/macosx/native/java/util/SCDynamicStoreConfig.m | 5 b/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m | 12 b/src/share/classes/com/sun/crypto/provider/AESCrypt.java | 24 b/src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java | 37 - b/src/share/classes/com/sun/crypto/provider/CipherFeedback.java | 16 b/src/share/classes/com/sun/crypto/provider/CounterMode.java | 7 b/src/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java | 17 b/src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java | 39 - b/src/share/classes/com/sun/crypto/provider/OutputFeedback.java | 12 b/src/share/classes/com/sun/crypto/provider/PCBC.java | 17 b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | 12 b/src/share/classes/java/lang/Throwable.java | 87 +- b/src/share/classes/java/net/URL.java | 22 b/src/share/classes/java/net/URLStreamHandler.java | 7 b/src/share/classes/java/security/AccessController.java | 8 b/src/share/classes/java/util/Collections.java | 9 b/src/share/classes/jdk/internal/util/Preconditions.java | 345 ++++++++++ b/src/share/classes/sun/net/util/IPAddressUtil.java | 181 +++++ b/src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java | 21 b/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java | 8 b/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java | 7 b/src/share/classes/sun/security/provider/DigestBase.java | 24 b/src/share/classes/sun/security/provider/SHA.java | 20 b/src/share/classes/sun/security/provider/SHA2.java | 20 b/src/share/classes/sun/security/provider/SHA5.java | 19 b/src/share/classes/sun/security/ssl/SSLContextImpl.java | 30 b/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java | 73 +- b/src/share/classes/sun/security/util/ArrayUtil.java | 23 b/src/share/classes/sun/security/util/DerIndefLenConverter.java | 60 - b/src/share/classes/sun/security/util/HostnameChecker.java | 11 b/src/share/native/sun/awt/libpng/png.c | 3 b/src/windows/classes/sun/net/www/protocol/file/Handler.java | 4 b/src/windows/classes/sun/net/www/protocol/file/UNCFileURLConnection.java | 52 + b/src/windows/native/sun/security/mscapi/security.cpp | 7 b/test/java/util/Objects/CheckIndex.java | 300 ++++++++ b/test/javax/imageio/plugins/jpeg/JpegTablesOnlyReadTest.java | 66 + 37 files changed, 1409 insertions(+), 197 deletions(-) diffstat for hotspot (b09) b/.hgtags | 1 + b/src/share/vm/classfile/vmSymbols.hpp | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diffstat for root (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxws (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for langtools (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn (b10) b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jdk (b10) b/.hgtags | 1 b/make/data/tzdata/VERSION | 2 b/make/data/tzdata/africa | 109 ++ b/make/data/tzdata/asia | 479 +++++++--- b/make/data/tzdata/australasia | 281 +++++ b/make/data/tzdata/backward | 3 b/make/data/tzdata/etcetera | 1 b/make/data/tzdata/europe | 4 b/make/data/tzdata/iso3166.tab | 8 b/make/data/tzdata/leapseconds | 11 b/make/data/tzdata/northamerica | 38 b/make/data/tzdata/zone.tab | 3 b/src/share/classes/sun/util/calendar/ZoneInfoFile.java | 10 b/src/share/classes/sun/util/resources/TimeZoneNames.java | 7 b/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java | 4 b/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java | 4 b/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java | 4 b/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java | 4 b/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java | 4 b/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java | 4 b/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java | 4 b/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java | 4 b/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java | 4 b/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java | 4 b/src/share/native/sun/font/layout/AlternateSubstSubtables.cpp | 8 b/src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp | 3 b/src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp | 3 b/src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp | 3 b/src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp | 2 b/test/sun/util/calendar/zi/TestZoneInfo310.java | 27 b/test/sun/util/calendar/zi/Zoneinfo.java | 13 b/test/sun/util/calendar/zi/tzdata/VERSION | 2 b/test/sun/util/calendar/zi/tzdata/africa | 109 ++ b/test/sun/util/calendar/zi/tzdata/asia | 479 +++++++--- b/test/sun/util/calendar/zi/tzdata/australasia | 281 +++++ b/test/sun/util/calendar/zi/tzdata/backward | 3 b/test/sun/util/calendar/zi/tzdata/etcetera | 1 b/test/sun/util/calendar/zi/tzdata/europe | 4 b/test/sun/util/calendar/zi/tzdata/iso3166.tab | 8 b/test/sun/util/calendar/zi/tzdata/leapseconds | 11 b/test/sun/util/calendar/zi/tzdata/northamerica | 38 b/test/sun/util/calendar/zi/tzdata/zone.tab | 3 42 files changed, 1619 insertions(+), 376 deletions(-) diffstat for hotspot (b10) 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 https://keybase.io/gnu_andrew From shade at redhat.com Tue Jul 16 22:35:52 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Jul 2019 00:35:52 +0200 Subject: [aarch64-port-dev ] [RFR] [8u] 8u222-b09 & 8u222-b10 Upstream Sync In-Reply-To: <6b26361d-e7b4-edf0-0c85-b624a9120bb1@redhat.com> References: <6b26361d-e7b4-edf0-0c85-b624a9120bb1@redhat.com> Message-ID: On 7/17/19 12:27 AM, Andrew John Hughes wrote: > Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u222-b10/ corba: jaxp: jaxws: nashorn: langtools: root: Looks good and trivial. hotspot: Looks good. jdk: Looks good and similar to upstream 8u (d'uh). We would see if there are bad differences against upstream after this lands. -- Thanks, -Aleksey From gnu.andrew at redhat.com Tue Jul 16 22:51:29 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 16 Jul 2019 23:51:29 +0100 Subject: RFR: [11u] jdk-11.0.4+11 Message-ID: <469d588d-0360-9c79-75d0-3d5662a5c009@redhat.com> Webrev: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.4/ Merge changeset: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.4/11.0.4+11.merge 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 https://keybase.io/gnu_andrew From shade at redhat.com Tue Jul 16 22:55:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Jul 2019 00:55:46 +0200 Subject: RFR: [11u] jdk-11.0.4+11 In-Reply-To: <469d588d-0360-9c79-75d0-3d5662a5c009@redhat.com> References: <469d588d-0360-9c79-75d0-3d5662a5c009@redhat.com> Message-ID: <099a3968-8f65-7875-cc37-beeb7442905c@redhat.com> On 7/17/19 12:51 AM, Andrew John Hughes wrote: > Webrev: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.4/ Looks good. > Ok to push? Yes, thank you. -- Thanks, -Aleksey From gnu.andrew at redhat.com Tue Jul 16 23:12:31 2019 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Tue, 16 Jul 2019 23:12:31 +0000 Subject: hg: shenandoah/jdk11: 16 new changesets Message-ID: <201907162312.x6GNCWgx012941@aojmv0008.oracle.com> Changeset: a88c525553e6 Author: igerasim Date: 2019-03-29 01:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a88c525553e6 8212328: Exceptional throw cases Reviewed-by: smarks, rriggs, igerasim, ahgross, skoivu ! src/java.base/share/classes/java/lang/Throwable.java Changeset: edc6e10d82df Author: igerasim Date: 2019-01-30 19:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/edc6e10d82df 8213431: Improve file protocol handling Reviewed-by: chegar, dfuchs, igerasim, rhalade, weijun ! src/java.base/windows/classes/sun/net/www/protocol/file/Handler.java + src/java.base/windows/classes/sun/net/www/protocol/file/UNCFileURLConnection.java Changeset: 7c3a12bd9c72 Author: smarks Date: 2019-01-23 14:45 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7c3a12bd9c72 8213432: Better copies of CopiesList Reviewed-by: rriggs, skoivu, ahgross, robm, rhalade, jeff ! src/java.base/share/classes/java/util/Collections.java Changeset: 190106d07f25 Author: mullan Date: 2019-02-07 08:47 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/190106d07f25 8216381: More limited privilege usage Reviewed-by: ahgross, coffeys, rhalade ! src/java.base/share/classes/java/security/AccessController.java Changeset: 6dd5de39b19a Author: igerasim Date: 2019-03-19 14:16 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6dd5de39b19a 8217563: Improve realm maintenance Reviewed-by: mullan, mschoene, valeriep ! src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m Changeset: bcc6bcb42782 Author: coffeys Date: 2019-03-20 10:27 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bcc6bcb42782 8218863: Better endpoint checks Reviewed-by: xuelei, ahgross, jnimeh, mullan, rhalade ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: b04f8aeb5d6b Author: xuelei Date: 2019-04-11 17:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b04f8aeb5d6b 8218873: Improve JSSE endpoint checking Reviewed-by: mullan, ahgross, rhalade ! src/java.base/share/classes/sun/security/util/HostnameChecker.java Changeset: 62541c20fafe Author: serb Date: 2019-04-10 14:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/62541c20fafe 8218876: Improve PNG support options Reviewed-by: prr, rhalade, mschoene ! src/java.desktop/share/native/libsplashscreen/libpng/png.c Changeset: 08fcfe5e4e17 Author: jnimeh Date: 2019-03-07 22:19 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/08fcfe5e4e17 8219775: Certificate validation improvements Reviewed-by: ascarpino, ssahoo, skoivu ! src/java.base/share/classes/sun/security/util/DerIndefLenConverter.java Changeset: a66b92ce301c Author: serb Date: 2019-03-27 00:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a66b92ce301c 8220517: Enhanced GIF support Reviewed-by: aivanov, ssahoo, mschoene, prr ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m Changeset: 7f92fc4cdf02 Author: jnimeh Date: 2019-04-03 13:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7f92fc4cdf02 8221345: Better Poly1305 support Reviewed-by: apetcher, mschoene, rhalade ! src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java Changeset: 2c5fa7382e75 Author: igerasim Date: 2019-04-10 15:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2c5fa7382e75 8221518: Normalize normalization Reviewed-by: chegar, igerasim, ahgross, rhalade ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLStreamHandler.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java Changeset: 6a4d57474e1c Author: jnimeh Date: 2019-05-02 17:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6a4d57474e1c 8222678: Improve TLS negotiation Reviewed-by: mullan, rhalade, mschoene ! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java ! src/java.base/share/classes/sun/security/ssl/CertificateRequest.java ! src/java.base/share/classes/sun/security/ssl/CertificateStatus.java ! src/java.base/share/classes/sun/security/ssl/ServerHelloDone.java ! src/java.base/share/classes/sun/security/ssl/ServerKeyExchange.java Changeset: bbe3fb68efff Author: andrew Date: 2019-07-04 16:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bbe3fb68efff Added tag jdk-11.0.4+11 for changeset 6a4d57474e1c ! .hgtags Changeset: a2e005b5bf2f Author: andrew Date: 2019-07-08 05:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a2e005b5bf2f Merge jdk-11.0.4+11 ! .hgtags Changeset: 6d0c4993d915 Author: andrew Date: 2019-07-08 06:00 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6d0c4993d915 Added tag shenandoah-jdk-11.0.4+11 for changeset a2e005b5bf2f ! .hgtags From rwestrel at redhat.com Wed Jul 17 06:53:13 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 17 Jul 2019 08:53:13 +0200 Subject: RFR: 8227677: Shenandoah: C2: Make in-native LRB special case of normal LRB In-Reply-To: <7793a4a4-4152-0588-c631-e67c9efc7fe4@redhat.com> References: <3f9ac9c7-c8c3-582c-0825-d774a79c51ad@redhat.com> <7793a4a4-4152-0588-c631-e67c9efc7fe4@redhat.com> Message-ID: <87r26p40fa.fsf@redhat.com> > http://cr.openjdk.java.net/~rkennke/JDK-8227677/webrev.01/ Good. Roland. From rwestrel at redhat.com Wed Jul 17 11:42:12 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Wed, 17 Jul 2019 13:42:12 +0200 Subject: RFR 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load In-Reply-To: <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> References: <263efc0d-3a10-bcbc-8ff1-065a6d161947@redhat.com> <87v9w34vhe.fsf@redhat.com> <3e99813b-32b1-bce2-14e0-a89366ed50e3@redhat.com> Message-ID: <87lfww51m3.fsf@redhat.com> > http://cr.openjdk.java.net/~zgu/JDK-8227635/webrev.01/ Looks ok to me. Roland. From shade at redhat.com Wed Jul 17 16:16:19 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 Jul 2019 18:16:19 +0200 Subject: [8u] Pick up 8u222-b10 to sh/jdk8u Message-ID: <3d81eb9d-ffcb-c680-5f80-8b3c1dada43e@redhat.com> Upstream aarch64-port/jdk8u-shenandoah had published July CPU, 8u222-b10, let's pick that up. All repositories are simple pickups, only hotspot repo needs a merge. hotspot changesets: http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk8-8u222-b10/changesets.txt hotspot webrev: http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk8-8u222-b10/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 17 17:04:56 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 17 Jul 2019 19:04:56 +0200 Subject: [8u] Pick up 8u222-b10 to sh/jdk8u In-Reply-To: <3d81eb9d-ffcb-c680-5f80-8b3c1dada43e@redhat.com> References: <3d81eb9d-ffcb-c680-5f80-8b3c1dada43e@redhat.com> Message-ID: Very good, thanks! Roman > Upstream aarch64-port/jdk8u-shenandoah had published July CPU, 8u222-b10, let's pick that up. All > repositories are simple pickups, only hotspot repo needs a merge. > > hotspot changesets: > http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk8-8u222-b10/changesets.txt > > hotspot webrev: > http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk8-8u222-b10/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From zgu at redhat.com Wed Jul 17 17:41:14 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 17 Jul 2019 13:41:14 -0400 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task Message-ID: Currently, Shenandoah uses shared ParallelCleaningTask to perform STW cleaning task, the cleaning task performs class unloading along with string deduplication cleaning, if it is enabled. This combination is undesirable, cause we want to have an option to not perform class unloading during STW. This refactor splits cleaning task into two tasks, one performs class unloading and the other performs weak root cleaning up, so it is easy to enable/disable STW class unloading in later changes. Bug: https://bugs.openjdk.java.net/browse/JDK-8227866 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227866/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From thomas.schatzl at oracle.com Wed Jul 17 18:03:17 2019 From: thomas.schatzl at oracle.com (Thomas Schatzl) Date: Wed, 17 Jul 2019 20:03:17 +0200 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: References: Message-ID: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> Hi, On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: > Currently, Shenandoah uses shared ParallelCleaningTask to perform > STW cleaning task, the cleaning task performs class unloading along since the ParallelCleaningTask has originally moved from g1 code to shared to allow use with Shenandoah, now that the code is not used by Shenandoah any more, please move ParallelCleaningTask back to G1 specific code. Thanks, Thomas From zgu at redhat.com Wed Jul 17 18:13:10 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 17 Jul 2019 14:13:10 -0400 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> Message-ID: <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> On 7/17/19 2:03 PM, Thomas Schatzl wrote: > Hi, > > On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: >> Currently, Shenandoah uses shared ParallelCleaningTask to perform >> STW cleaning task, the cleaning task performs class unloading along > > since the ParallelCleaningTask has originally moved from g1 code to > shared to allow use with Shenandoah, now that the code is not used by > Shenandoah any more, please move ParallelCleaningTask back to G1 > specific code. Sure. Filed JDK-8227927. Thanks, -Zhengyu > > Thanks, > Thomas > > From shade at redhat.com Wed Jul 17 18:28:59 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:28:59 +0000 Subject: hg: shenandoah/jdk8/nashorn: 11 new changesets Message-ID: <201907171829.x6HIT0xc025773@aojmv0008.oracle.com> Changeset: 9b099c539d34 Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/9b099c539d34 Added tag aarch64-shenandoah-jdk8u222-b07 for changeset d7e9f3c7dbb8 ! .hgtags Changeset: e18754960730 Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/e18754960730 Added tag jdk8u222-b07 for changeset 2ce015266d75 ! .hgtags Changeset: 6e564bba54d0 Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/6e564bba54d0 Added tag jdk8u222-b08 for changeset e18754960730 ! .hgtags Changeset: 3dee5cffa579 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/3dee5cffa579 Merge jdk8u222-b08 ! .hgtags Changeset: 0ee3619e9524 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0ee3619e9524 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 3dee5cffa579 ! .hgtags Changeset: 0a5ba9e191cf Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0a5ba9e191cf Added tag jdk8u222-b09 for changeset 6e564bba54d0 ! .hgtags Changeset: 172a419e9705 Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/172a419e9705 Merge jdk8u222-b09 ! .hgtags Changeset: 7327155c5a41 Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/7327155c5a41 Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 172a419e9705 ! .hgtags Changeset: 76231deacc2d Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/76231deacc2d Added tag jdk8u222-b10 for changeset 0a5ba9e191cf ! .hgtags Changeset: 9efec1cd50e8 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/9efec1cd50e8 Merge jdk8u222-b10 ! .hgtags Changeset: 62ffd139ab9b Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/62ffd139ab9b Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 9efec1cd50e8 ! .hgtags From shade at redhat.com Wed Jul 17 18:28:58 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:28:58 +0000 Subject: hg: shenandoah/jdk8/jaxp: 11 new changesets Message-ID: <201907171828.x6HISxsW025717@aojmv0008.oracle.com> Changeset: 8111dda40163 Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/8111dda40163 Added tag aarch64-shenandoah-jdk8u222-b07 for changeset 5ba2f4b335e6 ! .hgtags Changeset: 2b416473fe20 Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/2b416473fe20 Added tag jdk8u222-b07 for changeset 08cd0a82185d ! .hgtags Changeset: 60d685ed9d5b Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/60d685ed9d5b Added tag jdk8u222-b08 for changeset 2b416473fe20 ! .hgtags Changeset: 7ebb41a067ee Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/7ebb41a067ee Merge jdk8u222-b08 ! .hgtags Changeset: b774f9737cd0 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/b774f9737cd0 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 7ebb41a067ee ! .hgtags Changeset: 268ffbdb01e1 Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/268ffbdb01e1 Added tag jdk8u222-b09 for changeset 60d685ed9d5b ! .hgtags Changeset: 730738ea3bfd Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/730738ea3bfd Merge jdk8u222-b09 ! .hgtags Changeset: 93f8515ed767 Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/93f8515ed767 Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 730738ea3bfd ! .hgtags Changeset: 9af237257c04 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/9af237257c04 Added tag jdk8u222-b10 for changeset 268ffbdb01e1 ! .hgtags Changeset: 3a798e482176 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/3a798e482176 Merge jdk8u222-b10 ! .hgtags Changeset: fcc93d481375 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/fcc93d481375 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 3a798e482176 ! .hgtags From shade at redhat.com Wed Jul 17 18:29:01 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:01 +0000 Subject: hg: shenandoah/jdk8/hotspot: 16 new changesets Message-ID: <201907171829.x6HIT2fn025899@aojmv0008.oracle.com> Changeset: cfe3264deba4 Author: aph Date: 2019-06-19 16:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cfe3264deba4 8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding Reviewed-by: kbarrett, tschatzl ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp Changeset: 75f4e02f1113 Author: aph Date: 2019-06-19 18:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/75f4e02f1113 Merge Changeset: 7a3e3d460cbc Author: andrew Date: 2019-06-24 13:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7a3e3d460cbc Merge jdk8u222-b07 Changeset: 709bacd10485 Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/709bacd10485 Added tag aarch64-shenandoah-jdk8u222-b07 for changeset 7a3e3d460cbc ! .hgtags Changeset: 36a743eee672 Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/36a743eee672 Added tag jdk8u222-b07 for changeset 75f4e02f1113 ! .hgtags Changeset: 9deea71d83dd Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9deea71d83dd Added tag jdk8u222-b08 for changeset 36a743eee672 ! .hgtags Changeset: 711f4cf7b635 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/711f4cf7b635 Merge jdk8u222-b08 ! .hgtags Changeset: b455d8c5fc40 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b455d8c5fc40 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 711f4cf7b635 ! .hgtags Changeset: 55f693ba975d Author: andrew Date: 2019-07-04 18:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/55f693ba975d 8223511: Extended AES support Reviewed-by: phh, mbalao, bae ! src/share/vm/classfile/vmSymbols.hpp Changeset: adfdce09acc3 Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/adfdce09acc3 Added tag jdk8u222-b09 for changeset 55f693ba975d ! .hgtags Changeset: 295c0f88f8f8 Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/295c0f88f8f8 Merge jdk8u222-b09 ! .hgtags ! src/share/vm/classfile/vmSymbols.hpp Changeset: da56e05ea969 Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/da56e05ea969 Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 295c0f88f8f8 ! .hgtags Changeset: f6fa131b5f40 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f6fa131b5f40 Added tag jdk8u222-b10 for changeset adfdce09acc3 ! .hgtags Changeset: ff69edbcd7ae Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ff69edbcd7ae Merge jdk8u222-b10 ! .hgtags Changeset: 620d8bfc9f50 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/620d8bfc9f50 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset ff69edbcd7ae ! .hgtags Changeset: 37c96d78c3c2 Author: shade Date: 2019-07-17 18:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/37c96d78c3c2 Merge From shade at redhat.com Wed Jul 17 18:29:03 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:03 +0000 Subject: hg: shenandoah/jdk8/corba: 11 new changesets Message-ID: <201907171829.x6HIT3vX026014@aojmv0008.oracle.com> Changeset: e152ae5d3df5 Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/e152ae5d3df5 Added tag aarch64-shenandoah-jdk8u222-b07 for changeset 68037ff5e2b0 ! .hgtags Changeset: d8e58175603e Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/d8e58175603e Added tag jdk8u222-b07 for changeset 3abf299d26c4 ! .hgtags Changeset: 60d5ceb10435 Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/60d5ceb10435 Added tag jdk8u222-b08 for changeset d8e58175603e ! .hgtags Changeset: 4f5bb56b6543 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/4f5bb56b6543 Merge jdk8u222-b08 ! .hgtags Changeset: 4ed41d3c5f43 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/4ed41d3c5f43 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 4f5bb56b6543 ! .hgtags Changeset: d44170c2cece Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/d44170c2cece Added tag jdk8u222-b09 for changeset 60d5ceb10435 ! .hgtags Changeset: aba09ed66f16 Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/aba09ed66f16 Merge jdk8u222-b09 ! .hgtags Changeset: 6f216796a95d Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/6f216796a95d Added tag aarch64-shenandoah-jdk8u222-b09 for changeset aba09ed66f16 ! .hgtags Changeset: 356cf9da5633 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/356cf9da5633 Added tag jdk8u222-b10 for changeset d44170c2cece ! .hgtags Changeset: 4f5f9dfefb04 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/4f5f9dfefb04 Merge jdk8u222-b10 ! .hgtags Changeset: 6927345929b4 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/6927345929b4 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 4f5f9dfefb04 ! .hgtags From shade at redhat.com Wed Jul 17 18:29:05 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:05 +0000 Subject: hg: shenandoah/jdk8/jaxws: 11 new changesets Message-ID: <201907171829.x6HIT5ZT026097@aojmv0008.oracle.com> Changeset: 07df542bf0bd Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/07df542bf0bd Added tag aarch64-shenandoah-jdk8u222-b07 for changeset 37f6bc592e86 ! .hgtags Changeset: 3a9307bd93d3 Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/3a9307bd93d3 Added tag jdk8u222-b07 for changeset 2fa997404a5c ! .hgtags Changeset: 22b905fce1aa Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/22b905fce1aa Added tag jdk8u222-b08 for changeset 3a9307bd93d3 ! .hgtags Changeset: 8d40a2fa26c2 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/8d40a2fa26c2 Merge jdk8u222-b08 ! .hgtags Changeset: 7a5dd2310a17 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/7a5dd2310a17 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 8d40a2fa26c2 ! .hgtags Changeset: 3a4dd1917fc5 Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/3a4dd1917fc5 Added tag jdk8u222-b09 for changeset 22b905fce1aa ! .hgtags Changeset: 2eaf25cabb0e Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/2eaf25cabb0e Merge jdk8u222-b09 ! .hgtags Changeset: 34d89c809486 Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/34d89c809486 Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 2eaf25cabb0e ! .hgtags Changeset: 542813f96e5d Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/542813f96e5d Added tag jdk8u222-b10 for changeset 3a4dd1917fc5 ! .hgtags Changeset: 2f9ef7020d61 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/2f9ef7020d61 Merge jdk8u222-b10 ! .hgtags Changeset: a6fb61fe4817 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/a6fb61fe4817 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 2f9ef7020d61 ! .hgtags From shade at redhat.com Wed Jul 17 18:29:07 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:07 +0000 Subject: hg: shenandoah/jdk8: 11 new changesets Message-ID: <201907171829.x6HIT73L026106@aojmv0008.oracle.com> Changeset: 7761d7f73dbc Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7761d7f73dbc Added tag aarch64-shenandoah-jdk8u222-b07 for changeset d792db37c3ad ! .hgtags Changeset: 945f4ae40e43 Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/945f4ae40e43 Added tag jdk8u222-b07 for changeset f321c0bb9fb3 ! .hgtags Changeset: 81dd104fa959 Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/81dd104fa959 Added tag jdk8u222-b08 for changeset 945f4ae40e43 ! .hgtags Changeset: 7bf6f9e90d82 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7bf6f9e90d82 Merge jdk8u222-b08 ! .hgtags Changeset: 8f11a25e9f5c Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8f11a25e9f5c Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 7bf6f9e90d82 ! .hgtags Changeset: eeeabadc6bf0 Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/eeeabadc6bf0 Added tag jdk8u222-b09 for changeset 81dd104fa959 ! .hgtags Changeset: e08553edfcc8 Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/e08553edfcc8 Merge jdk8u222-b09 ! .hgtags Changeset: 8a88384f56d2 Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/8a88384f56d2 Added tag aarch64-shenandoah-jdk8u222-b09 for changeset e08553edfcc8 ! .hgtags Changeset: 3489892a3253 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/3489892a3253 Added tag jdk8u222-b10 for changeset eeeabadc6bf0 ! .hgtags Changeset: 0e2d2ded41b7 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/0e2d2ded41b7 Merge jdk8u222-b10 ! .hgtags Changeset: a715935cef84 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/a715935cef84 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 0e2d2ded41b7 ! .hgtags From shade at redhat.com Wed Jul 17 18:29:12 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:12 +0000 Subject: hg: shenandoah/jdk8/jdk: 55 new changesets Message-ID: <201907171829.x6HITEod026127@aojmv0008.oracle.com> Changeset: 3e3676ee78da Author: sveerabhadra Date: 2018-06-25 14:32 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3e3676ee78da 8153732: Windows remote printer changes do not reflect in lookupPrintServices() Reviewed-by: prr, psadhukhan ! src/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/windows/native/sun/windows/WPrinterJob.cpp + test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: f37776be3421 Author: sveerabhadra Date: 2019-02-25 11:02 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f37776be3421 8212202: [Windows] Exception if no printers are installed. Reviewed-by: prr ! src/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/windows/native/sun/windows/WPrinterJob.cpp ! test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: ca32b279b60e Author: zgu Date: 2019-06-18 13:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ca32b279b60e 8221263: [TEST_BUG] RemotePrinterStatusRefresh test is hard to use Reviewed-by: serb, prr ! test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: c7a97c9b7e59 Author: aivanov Date: 2019-03-28 14:52 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c7a97c9b7e59 8221412: lookupPrintServices() does not always update the list of Windows remote printers Reviewed-by: prr, serb ! src/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/windows/native/sun/windows/WPrinterJob.cpp Changeset: bb1da2b66b5e Author: andrew Date: 2019-06-24 13:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/bb1da2b66b5e Merge jdk8u222-b07 Changeset: f5c3e60ac3da Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f5c3e60ac3da Added tag aarch64-shenandoah-jdk8u222-b07 for changeset bb1da2b66b5e ! .hgtags Changeset: 8f8015daf928 Author: andrew Date: 2019-06-22 18:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8f8015daf928 8181594: Efficient and constant-time modular arithmetic Summary: Field arithmetic library for crypto algorithms like Poly1305 and X25519 Reviewed-by: xuelei, andrew Contributed-by: David Alvarez + src/share/classes/sun/security/util/math/ImmutableIntegerModuloP.java + src/share/classes/sun/security/util/math/IntegerFieldModuloP.java + src/share/classes/sun/security/util/math/IntegerModuloP.java + src/share/classes/sun/security/util/math/MutableIntegerModuloP.java + src/share/classes/sun/security/util/math/SmallValue.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial25519.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial448.java + test/sun/security/util/math/BigIntegerModuloP.java + test/sun/security/util/math/TestIntegerModuloP.java Changeset: f504549d0295 Author: andrew Date: 2019-06-22 19:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f504549d0295 Added tag jdk8u222-b07 for changeset c7a97c9b7e59 ! .hgtags Changeset: f614876cb1e2 Author: apetcher Date: 2018-06-26 11:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f614876cb1e2 8203228: Branch-free output conversion for X25519 and X448 Summary: Make some field arithmetic operations for X25519/X448 more resilient against side-channel attacks Reviewed-by: ascarpino ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial25519.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial448.java Changeset: 652eeb049b55 Author: apetcher Date: 2018-08-29 12:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/652eeb049b55 8201317: X25519/X448 code improvements Summary: Minor code/comment improvements Reviewed-by: xuelei ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java Changeset: a2feb73693e1 Author: ljiang Date: 2019-06-26 09:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a2feb73693e1 8187946: Support ISO 4217 Amendments 163 and 164 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/sun/util/resources/CurrencyNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 6bd23f3a0296 Author: mli Date: 2019-06-26 09:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6bd23f3a0296 8195478: sun/text/resources/LocaleDataTest.java fails with java.lang.Exception Reviewed-by: naoto, rgoel ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: f46cd253e746 Author: andrew Date: 2019-06-26 13:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f46cd253e746 Merge Changeset: b450e635e4d4 Author: andrew Date: 2019-06-27 04:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b450e635e4d4 8208648: ECC Field Arithmetic Enhancements Summary: internal library enhancements to support ECC implementatation Reviewed-by: jnimeh, andrew Contributed-by: David Alvarez + src/share/classes/sun/security/util/ArrayUtil.java ! src/share/classes/sun/security/util/math/MutableIntegerModuloP.java + src/share/classes/sun/security/util/math/intpoly/FieldGen.jsh ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial1305.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial25519.java ! src/share/classes/sun/security/util/math/intpoly/IntegerPolynomial448.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP256.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP384.java + src/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP521.java + src/share/classes/sun/security/util/math/intpoly/P256OrderField.java + src/share/classes/sun/security/util/math/intpoly/P384OrderField.java + src/share/classes/sun/security/util/math/intpoly/P521OrderField.java + src/share/classes/sun/security/util/math/intpoly/header.txt ! test/sun/security/util/math/BigIntegerModuloP.java ! test/sun/security/util/math/TestIntegerModuloP.java Changeset: 8226f355c61c Author: andrew Date: 2019-06-17 16:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8226f355c61c 8182999: SunEC throws ProviderException on invalid curves Reviewed-by: vinnie ! make/mapfiles/libsunec/mapfile-vers ! src/share/classes/sun/security/ec/ECKeyPairGenerator.java ! src/share/classes/sun/security/util/ECUtil.java ! src/share/native/sun/security/ec/ECC_JNI.cpp + test/sun/security/ec/InvalidCurve.java Changeset: cb372d34618e Author: andrew Date: 2019-06-28 04:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/cb372d34618e 8040211: Update LSR datafile for BCP 47 Reviewed-by: okutsu, peytoia ! src/share/classes/sun/util/locale/LocaleEquivalentMaps.java + test/java/util/Locale/Bug8040211.java ! test/java/util/Locale/tools/EquivMapsGenerator.java ! test/java/util/Locale/tools/language-subtag-registry.txt Changeset: 66a0979b0557 Author: andrew Date: 2019-06-28 22:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/66a0979b0557 8031145: Re-examine closed i18n tests to see it they can be moved to the jdk repository. Reviewed-by: alanb, peytoia, naoto, phh ! test/TEST.groups + test/java/awt/ComponentOrientation/BasicTest.java + test/java/awt/ComponentOrientation/BorderTest.java + test/java/awt/ComponentOrientation/FlowTest.java + test/java/awt/ComponentOrientation/TestBundle.java + test/java/awt/ComponentOrientation/TestBundle1.java + test/java/awt/ComponentOrientation/TestBundle1_ar.java + test/java/awt/ComponentOrientation/TestBundle_es.java + test/java/awt/ComponentOrientation/TestBundle_iw.java + test/java/awt/ComponentOrientation/WindowTest.java + test/java/text/AttributedCharacterIterator/Attribute/ReadResolve.java + test/java/text/AttributedString/AttributedStringTest.java + test/java/text/AttributedString/TestAttributedStringCtor.java + test/java/text/AttributedString/getRunStartLimitTest.java + test/java/text/BreakIterator/BreakIteratorTest.java + test/java/text/BreakIterator/Bug4533872.java + test/java/text/BreakIterator/Bug4740757.java + test/java/text/BreakIterator/Bug4912404.java + test/java/text/BreakIterator/Bug4932583.java + test/java/text/BreakIterator/Bug6513074.java + test/java/text/BreakIterator/NewVSOld_th_TH.java + test/java/text/BreakIterator/broken_th_TH.txt + test/java/text/BreakIterator/test_th_TH.txt + test/java/text/CharacterIterator/CharacterIteratorTest.java + test/java/text/Collator/APITest.java + test/java/text/Collator/Bug6271411.java + test/java/text/Collator/CollationKeyTest.java + test/java/text/Collator/CollationKeyTestImpl.java + test/java/text/Collator/CollatorTest.java + test/java/text/Collator/CurrencyCollate.java + test/java/text/Collator/DanishTest.java + test/java/text/Collator/DummyTest.java + test/java/text/Collator/EnglishTest.java + test/java/text/Collator/FinnishTest.java + test/java/text/Collator/FrenchTest.java + test/java/text/Collator/G7Test.java + test/java/text/Collator/GermanTest.java + test/java/text/Collator/IteratorTest.java + test/java/text/Collator/JapaneseTest.java + test/java/text/Collator/KoreanTest.java + test/java/text/Collator/MonkeyTest.java + test/java/text/Collator/Regression.java + test/java/text/Collator/SpanishTest.java + test/java/text/Collator/SurrogatesTest.java + test/java/text/Collator/Test4401726.java + test/java/text/Collator/ThaiTest.java + test/java/text/Collator/TurkishTest.java + test/java/text/Collator/VietnameseTest.java + test/java/text/Format/ChoiceFormat/Bug4185732.ser.txt + test/java/text/Format/ChoiceFormat/Bug4185732Test.java + test/java/text/Format/ChoiceFormat/Bug4387255.java + test/java/text/Format/DateFormat/Bug4322313.java + test/java/text/Format/DateFormat/Bug4407042.java + test/java/text/Format/DateFormat/Bug4736959.java + test/java/text/Format/DateFormat/Bug4845901.java + test/java/text/Format/DateFormat/Bug6251817.java + test/java/text/Format/DateFormat/Bug6335238.java + test/java/text/Format/DateFormat/Bug6530336.java + test/java/text/Format/DateFormat/DateFormatRegression.java + test/java/text/Format/DateFormat/DateFormatRoundTripTest.java + test/java/text/Format/DateFormat/DateFormatSymbolsSerializationTest.java + test/java/text/Format/DateFormat/DateFormatTest.java + test/java/text/Format/DateFormat/IntlTestDateFormat.java + test/java/text/Format/DateFormat/IntlTestDateFormatAPI.java + test/java/text/Format/DateFormat/IntlTestDateFormatSymbols.java + test/java/text/Format/DateFormat/IntlTestSimpleDateFormatAPI.java + test/java/text/Format/DateFormat/NonGregorianFormatTest.java + test/java/text/Format/DateFormat/SDFserialized.ser.txt + test/java/text/Format/DateFormat/TimeZoneNameTest.java + test/java/text/Format/DateFormat/bug4097450.java + test/java/text/Format/DateFormat/bug4099975.java + test/java/text/Format/DateFormat/bug4117335.java + test/java/text/Format/DateFormat/bug4358730.java + test/java/text/Format/DateFormat/bug6271375.java + test/java/text/Format/DateFormat/bug6317072.java + test/java/text/Format/DateFormat/bug6412896.java + test/java/text/Format/MessageFormat/Bug4185816.ser.txt + test/java/text/Format/MessageFormat/Bug4185816Corrupt.ser.txt + test/java/text/Format/MessageFormat/Bug4185816Test.java + test/java/text/Format/MessageFormat/Bug6481179.java + test/java/text/Format/MessageFormat/LargeMessageFormat.java + test/java/text/Format/MessageFormat/MessageFormatsByArgumentIndex.java + test/java/text/Format/MessageFormat/MessageRegression.java + test/java/text/Format/MessageFormat/MessageTest.java + test/java/text/Format/MessageFormat/bug4492719.java + test/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java + test/java/text/Format/NumberFormat/BigDecimalFormat.java + test/java/text/Format/NumberFormat/BigDecimalParse.java + test/java/text/Format/NumberFormat/Bug4208135.java + test/java/text/Format/NumberFormat/Bug4833877.java + test/java/text/Format/NumberFormat/Bug4838107.java + test/java/text/Format/NumberFormat/Bug4944439.java + test/java/text/Format/NumberFormat/Bug4990596.java + test/java/text/Format/NumberFormat/Bug6278616.java + test/java/text/Format/NumberFormat/CurrencyFormat.java + test/java/text/Format/NumberFormat/CurrencySymbols.properties + test/java/text/Format/NumberFormat/DFSDeserialization142.java + test/java/text/Format/NumberFormat/DFSExponential.java + test/java/text/Format/NumberFormat/DFSSerialization.java + test/java/text/Format/NumberFormat/DFSSerialization142.java + test/java/text/Format/NumberFormat/DecimalFormat.114.txt + test/java/text/Format/NumberFormat/DecimalFormatSymbols.114.txt + test/java/text/Format/NumberFormat/DecimalFormatSymbols.142.txt + test/java/text/Format/NumberFormat/IntlTestDecimalFormatAPI.java + test/java/text/Format/NumberFormat/IntlTestDecimalFormatSymbols.java + test/java/text/Format/NumberFormat/IntlTestNumberFormatAPI.java + test/java/text/Format/NumberFormat/NumberFormat4185761a.ser.txt + test/java/text/Format/NumberFormat/NumberFormat4185761b.ser.txt + test/java/text/Format/NumberFormat/NumberFormatRounding.java + test/java/text/Format/NumberFormat/NumberRegression.java + test/java/text/Format/NumberFormat/NumberRoundTrip.java + test/java/text/Format/NumberFormat/NumberTest.java + test/java/text/Format/NumberFormat/PositionTest.java + test/java/text/Format/NumberFormat/SerializationLoadTest.java + test/java/text/Format/NumberFormat/SerializationSaveTest.java + test/java/text/Format/NumberFormat/TestgetPatternSeparator_ja.java + test/java/text/Format/common/Bug4769840.java + test/java/text/Format/common/Bug6215962.java + test/java/text/Format/common/ChoiceFormat.ser.txt + test/java/text/Format/common/DateFormat.Field.ser.txt + test/java/text/Format/common/FormatIteratorTest.java + test/java/text/Format/common/MessageFormat.Field.ser.txt + test/java/text/Format/common/NumberFormat.Field.ser.txt + test/java/text/Format/common/PParser.java + test/java/text/Format/common/dateFormat.props + test/java/text/Format/common/decimalFormat.props + test/java/text/Format/common/messageFormat.props + test/java/text/testlib/HexDumpReader.java + test/java/text/testlib/IntlTest.java + test/java/util/Calendar/BuddhistCalendarTest.java + test/java/util/Calendar/Bug4302966.java + test/java/util/Calendar/Bug4766302.java + test/java/util/Calendar/Bug4851640.java + test/java/util/Calendar/Bug4958050.java + test/java/util/Calendar/Bug5078053.java + test/java/util/Calendar/Bug6178071.java + test/java/util/Calendar/Bug6234795.java + test/java/util/Calendar/Bug6448234.java + test/java/util/Calendar/CalendarLimitTest.java + test/java/util/Calendar/CalendarRegression.java + test/java/util/Calendar/CalendarTest.java + test/java/util/Calendar/FieldStateTest.java + test/java/util/Calendar/GregorianCutoverTest.java + test/java/util/Calendar/JulianTest.java + test/java/util/Calendar/Koyomi.java + test/java/util/Calendar/Limit.java + test/java/util/Calendar/NonLenientTest.java + test/java/util/Calendar/ResolutionTest.java + test/java/util/Calendar/RollDayOfWeekTest.java + test/java/util/Calendar/StampOverflow.java + test/java/util/Calendar/ZoneOffsets.java + test/java/util/Calendar/bug4028518.java + test/java/util/Calendar/bug4100311.java + test/java/util/Calendar/bug4243802.java + test/java/util/Calendar/bug4316678.java + test/java/util/Calendar/bug4372743.java + test/java/util/Calendar/bug4401223.java + test/java/util/Calendar/bug4409072.java + test/java/util/Calendar/bug4514831.java + test/java/util/Date/Bug4955000.java + test/java/util/Date/DateGregorianCalendarTest.java + test/java/util/Date/DateRegression.java + test/java/util/Date/DateTest.java + test/java/util/Date/TZ.java + test/java/util/Date/TimestampTest.java + test/java/util/TimeZone/Bug4322313.java + test/java/util/TimeZone/Bug5097350.java + test/java/util/TimeZone/DefaultTimeZoneTest.html + test/java/util/TimeZone/DefaultTimeZoneTest.java + test/java/util/TimeZone/HongKong.java + test/java/util/TimeZone/IDTest.java + test/java/util/TimeZone/TimeZoneBoundaryTest.java + test/java/util/TimeZone/TimeZoneRegression.java + test/java/util/TimeZone/TimeZoneTest.java + test/java/util/TimeZone/TransitionTest.java + test/java/util/TimeZone/UTCAliasTest.java + test/java/util/TimeZone/bug4096952.java + test/sun/text/IntHashtable/Bug4170614Test.java + test/sun/text/IntHashtable/Bug4170614Test.sh + test/sun/text/IntHashtable/Bug4705389.java Changeset: 9b5707865a97 Author: andrew Date: 2019-06-28 22:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9b5707865a97 8208698: Improved ECC Implementation Summary: New implementation of ECDH and ECDSA forsome prime-order curves Reviewed-by: ascarpino, andrew Contributed-by: David Alvarez ! src/share/classes/sun/security/ec/ECDHKeyAgreement.java + src/share/classes/sun/security/ec/ECDSAOperations.java ! src/share/classes/sun/security/ec/ECDSASignature.java ! src/share/classes/sun/security/ec/ECKeyPairGenerator.java + src/share/classes/sun/security/ec/ECOperations.java ! src/share/classes/sun/security/ec/ECPrivateKeyImpl.java + src/share/classes/sun/security/ec/point/AffinePoint.java + src/share/classes/sun/security/ec/point/ImmutablePoint.java + src/share/classes/sun/security/ec/point/MutablePoint.java + src/share/classes/sun/security/ec/point/Point.java + src/share/classes/sun/security/ec/point/ProjectivePoint.java Changeset: 1388ffafcdde Author: andrew Date: 2019-06-28 23:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1388ffafcdde 8177472: Remove hard-coded IANA Subtag Registry map in LocaleEquivalentMap.java Reviewed-by: naoto, rriggs, tbell, phh Contributed-by: nishit.jain at oracle.com ! make/Tools.gmk + make/data/lsrdata/language-subtag-registry.txt ! make/gensrc/GensrcLocaleDataMetaInfo.gmk + make/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java - src/share/classes/sun/util/locale/LocaleEquivalentMaps.java - test/java/util/Locale/tools/EquivMapsGenerator.java - test/java/util/Locale/tools/language-subtag-registry.txt Changeset: 94d440b32b7a Author: neugens Date: 2019-06-29 14:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/94d440b32b7a 8193552: ISO 4217 amendment 165 8202026: ISO 4217 amendment 166 8204269: ISO 4217 amendment 167 Reviewed-by: naoto, andrew Contributed-by: li.jiang at oracle.com ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/sun/util/resources/CurrencyNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 855cdbb22270 Author: neugens Date: 2019-06-29 15:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/855cdbb22270 8208746: ISO 4217 Amendment #168 update 8209775: ISO 4217 Amendment #169 update Reviewed-by: naoto, andrew ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/sun/util/resources/CurrencyNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: e65949f4eeb2 Author: ljiang Date: 2018-08-29 19:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e65949f4eeb2 8210153: localized currency symbol of VES Reviewed-by: naoto ! src/share/classes/sun/util/resources/es/CurrencyNames_es_VE.properties ! test/java/text/Format/NumberFormat/CurrencyFormat.java ! test/java/text/Format/NumberFormat/CurrencySymbols.properties Changeset: 982e62133895 Author: nishjain Date: 2017-11-23 13:21 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/982e62133895 8191404: Upgrading JDK with latest available LSR data from IANA. Reviewed-by: naoto Contributed-by: nishit.jain at oracle.com ! make/data/lsrdata/language-subtag-registry.txt ! test/java/util/Locale/Bug8040211.java Changeset: 73b1937e192f Author: nishjain Date: 2018-06-06 14:16 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/73b1937e192f 8203872: Upgrading JDK with latest available LSR data from IANA. Reviewed-by: naoto ! make/data/lsrdata/language-subtag-registry.txt ! test/java/util/Locale/Bug8040211.java Changeset: 137fc61ad6d8 Author: nishjain Date: 2018-12-03 12:35 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/137fc61ad6d8 8213294: Upgrade IANA LSR data Reviewed-by: naoto ! make/data/lsrdata/language-subtag-registry.txt Changeset: 76fa826f1537 Author: nishjain Date: 2019-01-31 13:05 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/76fa826f1537 8214935: Upgrade IANA LSR data Reviewed-by: rriggs, naoto ! make/data/lsrdata/language-subtag-registry.txt Changeset: 0bb89d93d4d7 Author: andrew Date: 2019-07-01 20:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0bb89d93d4d7 8219781: Localized names for Japanese era Reiwa in COMPAT provider Reviewed-by: naoto, aph, phh ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/ar/JavaTimeSupplementary_ar.java ! src/share/classes/sun/text/resources/hi/JavaTimeSupplementary_hi_IN.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/ko/JavaTimeSupplementary_ko.java ! src/share/classes/sun/text/resources/ru/JavaTimeSupplementary_ru.java ! src/share/classes/sun/text/resources/sr/JavaTimeSupplementary_sr.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/th/JavaTimeSupplementary_th.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh.java ! src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh_TW.java + test/java/util/Calendar/JapanEraNameCompatTest.java Changeset: 35818757a9c6 Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/35818757a9c6 Added tag jdk8u222-b08 for changeset 0bb89d93d4d7 ! .hgtags Changeset: 2dc4055f0f60 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2dc4055f0f60 Merge jdk8u222-b08 ! .hgtags ! make/Tools.gmk + make/data/lsrdata/language-subtag-registry.txt + make/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! src/share/classes/sun/security/ec/ECPrivateKeyImpl.java - src/share/classes/sun/util/locale/LocaleEquivalentMaps.java ! test/TEST.groups - test/java/util/Locale/tools/EquivMapsGenerator.java - test/java/util/Locale/tools/language-subtag-registry.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: b05d688bbac4 Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b05d688bbac4 Added tag aarch64-shenandoah-jdk8u222-b08 for changeset 2dc4055f0f60 ! .hgtags Changeset: f7b22e107b51 Author: andrew Date: 2019-07-04 17:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f7b22e107b51 8212328: Exceptional throw cases Reviewed-by: smarks, rriggs, igerasim, ahgross, skoivu, andrew Contributed-by: David Alvarez ! src/share/classes/java/lang/Throwable.java Changeset: 26993f6987f7 Author: igerasim Date: 2019-01-30 19:33 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/26993f6987f7 8213431: Improve file protocol handling Reviewed-by: chegar, dfuchs, igerasim, rhalade, weijun ! src/windows/classes/sun/net/www/protocol/file/Handler.java + src/windows/classes/sun/net/www/protocol/file/UNCFileURLConnection.java Changeset: 989d84752527 Author: smarks Date: 2019-01-23 14:45 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/989d84752527 8213432: Better copies of CopiesList Reviewed-by: rriggs, skoivu, ahgross, robm, rhalade, jeff ! src/share/classes/java/util/Collections.java Changeset: dacc6a3dd712 Author: mullan Date: 2019-02-07 08:47 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/dacc6a3dd712 8216381: More limited privilege usage Reviewed-by: ahgross, coffeys, rhalade ! src/share/classes/java/security/AccessController.java Changeset: 2a567237233b Author: igerasim Date: 2019-03-19 14:16 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2a567237233b 8217563: Improve realm maintenance Reviewed-by: mullan, mschoene, valeriep ! src/macosx/native/java/util/SCDynamicStoreConfig.m Changeset: 9729eee8ef6a Author: coffeys Date: 2019-03-20 10:27 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9729eee8ef6a 8218863: Better endpoint checks Reviewed-by: xuelei, ahgross, jnimeh, mullan, rhalade ! src/share/classes/sun/security/ssl/SSLContextImpl.java ! src/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: e616364fb924 Author: xuelei Date: 2019-04-11 17:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e616364fb924 8218873: Improve JSSE endpoint checking Reviewed-by: mullan, ahgross, rhalade, mbalao, andrew ! src/share/classes/sun/security/util/HostnameChecker.java Changeset: cfc7ebd7754d Author: serb Date: 2019-04-10 14:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/cfc7ebd7754d 8218876: Improve PNG support options Reviewed-by: prr, rhalade, mschoene ! src/share/native/sun/awt/libpng/png.c Changeset: 97d6261196f0 Author: jnimeh Date: 2019-03-07 22:19 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/97d6261196f0 8219775: Certificate validation improvements Reviewed-by: ascarpino, ssahoo, skoivu ! src/share/classes/sun/security/util/DerIndefLenConverter.java Changeset: 7b73e7281120 Author: serb Date: 2019-03-27 00:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7b73e7281120 8220517: Enhanced GIF support Reviewed-by: aivanov, ssahoo, mschoene, prr ! src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Changeset: 5652862ec123 Author: igerasim Date: 2019-04-10 15:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5652862ec123 8221518: Normalize normalization Reviewed-by: chegar, igerasim, ahgross, rhalade ! src/share/classes/java/net/URL.java ! src/share/classes/java/net/URLStreamHandler.java ! src/share/classes/sun/net/util/IPAddressUtil.java ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java Changeset: 9f28fa83d7a4 Author: jdv Date: 2018-01-10 12:45 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9f28fa83d7a4 8191073: JpegImageReader throws IndexOutOfBoundsException when trying to read image data from tables-only image Reviewed-by: bpb, pnarayanan ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java + test/javax/imageio/plugins/jpeg/JpegTablesOnlyReadTest.java Changeset: 1b6a956e362f Author: mbalao Date: 2019-07-04 18:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1b6a956e362f 8220192: Better outlook for SecureRandom Reviewed-by: andrew ! src/windows/native/sun/security/mscapi/security.cpp Changeset: bdf644065d87 Author: andrew Date: 2019-07-04 18:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/bdf644065d87 8223511: Extended AES support Reviewed-by: phh, mbalao, bae ! src/share/classes/com/sun/crypto/provider/AESCrypt.java ! src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java ! src/share/classes/sun/security/provider/DigestBase.java ! src/share/classes/sun/security/provider/SHA.java ! src/share/classes/sun/security/provider/SHA2.java ! src/share/classes/sun/security/provider/SHA5.java Changeset: 0da125166b2b Author: andrew Date: 2019-07-06 14:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/0da125166b2b 8179098: Crypto AES/ECB encryption/decryption performance regression (introduced in jdk9b73) 8135248: Add utility methods to check indexes and ranges 8142493: Utility methods to check indexes and ranges doesn't specify behavior when function produces null 8146458: Improve exception reporting for Objects.checkIndex/checkFromToIndex/checkFromIndexSize 8155794: Move Objects.checkIndex BiFunction accepting methods to an internal package Summary: Do bounds check per encryption/decryption call instead of per block Reviewed-by: mbalao ! src/share/classes/com/sun/crypto/provider/AESCrypt.java ! src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java ! src/share/classes/com/sun/crypto/provider/CipherFeedback.java ! src/share/classes/com/sun/crypto/provider/CounterMode.java ! src/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/com/sun/crypto/provider/OutputFeedback.java ! src/share/classes/com/sun/crypto/provider/PCBC.java + src/share/classes/jdk/internal/util/Preconditions.java ! src/share/classes/sun/security/util/ArrayUtil.java + test/java/util/Objects/CheckIndex.java Changeset: 384c9ca971ec Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/384c9ca971ec Added tag jdk8u222-b09 for changeset 0da125166b2b ! .hgtags Changeset: 3476a7e2173b Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3476a7e2173b Merge jdk8u222-b09 ! .hgtags ! src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java ! src/share/classes/com/sun/crypto/provider/CipherFeedback.java ! src/share/classes/com/sun/crypto/provider/CounterMode.java ! src/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/com/sun/crypto/provider/OutputFeedback.java ! src/share/classes/com/sun/crypto/provider/PCBC.java ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/share/classes/java/net/URL.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java ! src/share/classes/sun/security/ssl/SSLContextImpl.java ! src/share/classes/sun/security/util/HostnameChecker.java Changeset: 7233139b671e Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7233139b671e Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 3476a7e2173b ! .hgtags Changeset: 089be89b30ae Author: bae Date: 2019-06-19 19:07 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/089be89b30ae 8219018: Adjust positions of glyphs Reviewed-by: mbalao ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp Changeset: a993ef3e9d23 Author: bae Date: 2019-07-10 18:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/a993ef3e9d23 8219020: Table alternate substitutions Reviewed-by: mbalao ! src/share/native/sun/font/layout/AlternateSubstSubtables.cpp Changeset: fe1f848a039b Author: okutsu Date: 2016-08-30 14:16 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fe1f848a039b 8157792: After Integrating tzdata2016d the test/sun/util/calendar/zi/TestZoneInfo310.java fails for "Asia/Oral" and "Asia/Qyzylorda" Timezones Reviewed-by: peytoia ! test/sun/util/calendar/zi/TestZoneInfo310.java ! test/sun/util/calendar/zi/Zoneinfo.java Changeset: 2a9bea6e5e03 Author: rpatil Date: 2019-07-10 18:34 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2a9bea6e5e03 8224560: (tz) Upgrade time-zone data to tzdata2019a 8215982: (tz) Upgrade time-zone data to tzdata2018i 8225580: tzdata2018i integration causes test failures on jdk-13 Reviewed-by: andrew, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/zone.tab ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! test/sun/util/calendar/zi/TestZoneInfo310.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/etcetera ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 4c0724b6bf69 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4c0724b6bf69 Added tag jdk8u222-b10 for changeset 2a9bea6e5e03 ! .hgtags Changeset: aabce7667315 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/aabce7667315 Merge jdk8u222-b10 ! .hgtags ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/zone.tab ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/etcetera ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 47db830d7c83 Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/47db830d7c83 Added tag aarch64-shenandoah-jdk8u222-b10 for changeset aabce7667315 ! .hgtags From shade at redhat.com Wed Jul 17 18:29:30 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 17 Jul 2019 18:29:30 +0000 Subject: hg: shenandoah/jdk8/langtools: 11 new changesets Message-ID: <201907171829.x6HITU67026868@aojmv0008.oracle.com> Changeset: 3dd4dc3728eb Author: andrew Date: 2019-06-24 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/3dd4dc3728eb Added tag aarch64-shenandoah-jdk8u222-b07 for changeset 7bf07a7af7aa ! .hgtags Changeset: e5ee6728508d Author: andrew Date: 2019-06-22 19:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/e5ee6728508d Added tag jdk8u222-b07 for changeset 1b641cb01496 ! .hgtags Changeset: 6aa4f05982eb Author: andrew Date: 2019-07-01 20:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/6aa4f05982eb Added tag jdk8u222-b08 for changeset e5ee6728508d ! .hgtags Changeset: c7a18c2f7876 Author: andrew Date: 2019-07-02 12:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/c7a18c2f7876 Merge jdk8u222-b08 ! .hgtags Changeset: 633a62a1284d Author: andrew Date: 2019-07-02 12:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/633a62a1284d Added tag aarch64-shenandoah-jdk8u222-b08 for changeset c7a18c2f7876 ! .hgtags Changeset: 32df4483e2e3 Author: andrew Date: 2019-07-08 03:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/32df4483e2e3 Added tag jdk8u222-b09 for changeset 6aa4f05982eb ! .hgtags Changeset: 2028b6514526 Author: andrew Date: 2019-07-08 04:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/2028b6514526 Merge jdk8u222-b09 ! .hgtags Changeset: bd5fdeac5abd Author: andrew Date: 2019-07-08 04:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/bd5fdeac5abd Added tag aarch64-shenandoah-jdk8u222-b09 for changeset 2028b6514526 ! .hgtags Changeset: ddd7ac07a3e9 Author: andrew Date: 2019-07-11 00:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/ddd7ac07a3e9 Added tag jdk8u222-b10 for changeset 32df4483e2e3 ! .hgtags Changeset: 5dbbd91eb4a6 Author: andrew Date: 2019-07-11 03:20 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/5dbbd91eb4a6 Merge jdk8u222-b10 ! .hgtags Changeset: f8b53af848af Author: andrew Date: 2019-07-11 03:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/f8b53af848af Added tag aarch64-shenandoah-jdk8u222-b10 for changeset 5dbbd91eb4a6 ! .hgtags From thomas.schatzl at oracle.com Thu Jul 18 10:02:02 2019 From: thomas.schatzl at oracle.com (Thomas Schatzl) Date: Thu, 18 Jul 2019 12:02:02 +0200 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> Message-ID: <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> Hi, On Wed, 2019-07-17 at 14:13 -0400, Zhengyu Gu wrote: > > On 7/17/19 2:03 PM, Thomas Schatzl wrote: > > Hi, > > > > On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: > > > Currently, Shenandoah uses shared ParallelCleaningTask to perform > > > STW cleaning task, the cleaning task performs class unloading > > > along > > > > since the ParallelCleaningTask has originally moved from g1 code > > to shared to allow use with Shenandoah, now that the code is not > > used by Shenandoah any more, please move ParallelCleaningTask back > > to G1 specific code. > > Sure. Filed JDK-8227927. I would think that it is appropriate to include the move to G1 code part of this change, but I am okay if you want to do it separately. Thanks, Thomas From rkennke at redhat.com Thu Jul 18 10:22:16 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Jul 2019 12:22:16 +0200 Subject: RFR: Merge jdk-14+6 into shenandoah/jdk Message-ID: <81df6de3-df1e-577b-1c64-36154dad96bd@redhat.com> As $SUBJECT says. I had some minor conflicts between renaming of runtime entry points and addition of LRB-native entry point, but nothing complicated. List of changes: http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-18/changes.txt Testing: hotspot_gc_shenandoah, some ctw tests Ok? Roman From shade at redhat.com Thu Jul 18 10:24:42 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Jul 2019 12:24:42 +0200 Subject: RFR: Merge jdk-14+6 into shenandoah/jdk In-Reply-To: <81df6de3-df1e-577b-1c64-36154dad96bd@redhat.com> References: <81df6de3-df1e-577b-1c64-36154dad96bd@redhat.com> Message-ID: On 7/18/19 12:22 PM, Roman Kennke wrote: > As $SUBJECT says. I had some minor conflicts between renaming of runtime > entry points and addition of LRB-native entry point, but nothing > complicated. List of changes: > > http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-18/changes.txt OK! -- Thanks, -Aleksey From rkennke at redhat.com Thu Jul 18 10:33:20 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Thu, 18 Jul 2019 10:33:20 +0000 Subject: hg: shenandoah/jdk: 58 new changesets Message-ID: <201907181033.x6IAXRu6026087@aojmv0008.oracle.com> Changeset: 0fb70c9118ce Author: coleenp Date: 2019-07-10 07:58 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0fb70c9118ce 8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ Summary: Remove SystemDictionary::modification_counter optimization Reviewed-by: dlong, eosterlund ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciEnv.java Changeset: 37cfb64319f6 Author: michaelm Date: 2019-07-10 14:27 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/37cfb64319f6 8225479: com.sun.net.httpserver.HttpContext that does not end with '/' has surprising matches Reviewed-by: dfuchs ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java Changeset: 422fb430bc7b Author: dcubed Date: 2019-07-10 10:18 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/422fb430bc7b 8227338: templateInterpreter.cpp: copy_table() needs to be safer Reviewed-by: dholmes, eosterlund, sspitsyn, kbarrett ! src/hotspot/share/interpreter/templateInterpreter.cpp Changeset: 430a51e86f28 Author: weijun Date: 2019-07-10 09:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/430a51e86f28 8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors Reviewed-by: xuelei ! src/java.security.jgss/share/native/libj2gss/NativeFunc.h ! src/java.security.jgss/share/native/libj2gss/gssapi.h ! src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp Changeset: 4722e5e28449 Author: weijun Date: 2019-07-10 09:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4722e5e28449 8227381: GSS login fails with PREAUTH_FAILED Reviewed-by: xuelei ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReqBuilder.java Changeset: 3081f39a3d30 Author: weijun Date: 2019-07-10 09:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3081f39a3d30 8227059: sun/security/tools/keytool/DefaultSignatureAlgorithm.java timed out Reviewed-by: xuelei - test/jdk/sun/security/tools/keytool/DefaultSignatureAlgorithm.java + test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java + test/jdk/sun/security/tools/keytool/fakegen/PSS.java + test/jdk/sun/security/tools/keytool/fakegen/java.base/sun/security/provider/DSAKeyPairGenerator.java + test/jdk/sun/security/tools/keytool/fakegen/java.base/sun/security/rsa/RSAKeyPairGenerator.java + test/jdk/sun/security/tools/keytool/fakegen/jdk.crypto.ec/sun/security/ec/ECKeyPairGenerator.java - test/jdk/sun/security/tools/keytool/pss/PSS.java - test/jdk/sun/security/tools/keytool/pss/java.base/sun/security/rsa/RSAKeyPairGenerator.java Changeset: 4a03245ffc2f Author: jlahoda Date: 2019-07-10 09:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4a03245ffc2f 8220041: NullPointerException at jdk.compiler/com.sun.tools.javac.jvm.Code.emitop0 Summary: LambdaToMethod must correctly capture local variables inside switch expressions inside local variable initializers. Reviewed-by: mcimadamore, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/langtools/tools/javac/switchexpr/LambdaCapture.java Changeset: 66cf6a8318e4 Author: ljiang Date: 2019-07-10 01:19 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/66cf6a8318e4 8227009: JDK 13 L10n resource files update - msgdrop 10 Reviewed-by: naoto ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties ! src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/jdk.rmic/share/classes/sun/tools/javac/resources/javac_ja.properties ! src/jdk.rmic/share/classes/sun/tools/javac/resources/javac_zh_CN.properties Changeset: 8df81df1cce4 Author: rpatil Date: 2019-07-10 05:12 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8df81df1cce4 8224560: (tz) Upgrade time-zone data to tzdata2019a 8225580: tzdata2018i integration causes test failures on jdk-13 Reviewed-by: andrew, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/zone.tab ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/java.base/share/classes/sun/util/resources/TimeZoneNames.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java ! src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java ! test/jdk/sun/util/calendar/zi/TestZoneInfo310.java ! test/jdk/sun/util/calendar/zi/tzdata/VERSION ! test/jdk/sun/util/calendar/zi/tzdata/africa ! test/jdk/sun/util/calendar/zi/tzdata/asia ! test/jdk/sun/util/calendar/zi/tzdata/australasia ! test/jdk/sun/util/calendar/zi/tzdata/backward ! test/jdk/sun/util/calendar/zi/tzdata/etcetera ! test/jdk/sun/util/calendar/zi/tzdata/europe ! test/jdk/sun/util/calendar/zi/tzdata/iso3166.tab ! test/jdk/sun/util/calendar/zi/tzdata/leapseconds ! test/jdk/sun/util/calendar/zi/tzdata/northamerica ! test/jdk/sun/util/calendar/zi/tzdata/zone.tab Changeset: 556313991cac Author: mikael Date: 2019-07-10 07:27 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/556313991cac Merge - test/jdk/sun/security/tools/keytool/DefaultSignatureAlgorithm.java - test/jdk/sun/security/tools/keytool/pss/PSS.java - test/jdk/sun/security/tools/keytool/pss/java.base/sun/security/rsa/RSAKeyPairGenerator.java Changeset: 3203e857fa71 Author: aefimov Date: 2019-07-10 16:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3203e857fa71 8226756: Replace wildcard address with loopback or local host in tests - part 18 Reviewed-by: dfuchs Contributed-by: Patrick Concannon ! test/jdk/java/net/Socket/InheritTimeout.java ! test/jdk/java/net/Socket/ReadTimeout.java ! test/jdk/java/net/Socket/ShutdownInput.java ! test/jdk/java/net/SocketInputStream/SocketTimeout.java ! test/jdk/java/net/URLConnection/ChunkedEncoding.java ! test/jdk/java/net/URLConnection/GetResponseCode.java ! test/jdk/java/net/URLConnection/SetIfModifiedSince.java ! test/jdk/sun/net/www/protocol/http/NoCache.java ! test/jdk/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java Changeset: c9b6be61b7a0 Author: mikael Date: 2019-07-10 08:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c9b6be61b7a0 Added tag jdk-14+5 for changeset 0f1e29c77e50 ! .hgtags Changeset: f60890de1dfb Author: fmatte Date: 2019-07-02 08:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f60890de1dfb 8225715: jhsdb jmap fails to write binary heap dump of a jshell process Summary: Add a Null check for getSourceFileName() before writing into thread dump. Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java + test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java Changeset: ba72dac556c3 Author: joehw Date: 2019-07-10 16:45 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ba72dac556c3 7148925: StAXSource causes exceptions to be thrown with certain wellformed XML instances Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java ! test/jaxp/javax/xml/jaxp/unittest/transform/StAXSourceTest.java Changeset: ad8e3b295615 Author: dfuchs Date: 2019-07-10 22:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ad8e3b295615 8227539: Replace wildcard address with loopback or local host in tests - part 20 Summary: Update some tests to stop using the wildcard address. Reviewed-by: michaelm ! test/jdk/java/net/HttpURLConnection/HttpResponseCode.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java ! test/jdk/java/net/Inet6Address/B6558853.java ! test/jdk/java/net/InetAddress/CheckJNI.java ! test/jdk/java/net/MulticastSocket/NoLoopbackPackets.java ! test/jdk/java/net/Socket/AsyncShutdown.java ! test/jdk/java/net/Socket/B6210227.java ! test/jdk/java/net/Socket/LinkLocal.java ! test/jdk/java/net/Socket/asyncClose/BrokenPipe.java ! test/jdk/java/net/ipv6tests/B6521014.java Changeset: 56e8c0a3fe9a Author: ysuenaga Date: 2019-07-11 08:19 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/56e8c0a3fe9a 8209790: SA tools not providing option to connect to debug server Reviewed-by: sspitsyn, cjplummer ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java + test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java + test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdUtils.java Changeset: 45fc36beb0aa Author: jjg Date: 2019-07-10 16:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/45fc36beb0aa 8227416: Add a "Table Of Contents" to HTML version of man pages Reviewed-by: mchung ! make/Docs.gmk ! make/data/docs-resources/resources/jdk-default.css ! make/jdk/src/classes/build/tools/fixuppandoc/Main.java Changeset: 2d1acda7555a Author: stuefe Date: 2019-07-11 06:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2d1acda7555a 8227031: Print NMT statistics on fatal errors Reviewed-by: mbaesken, mdoerr ! src/hotspot/share/services/memTracker.cpp ! src/hotspot/share/services/memTracker.hpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 3243c42d737d Author: stuefe Date: 2019-07-11 06:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3243c42d737d 8227275: Within native OOM error handling, assertions may hang the process Reviewed-by: mdoerr, coleenp ! src/hotspot/os/posix/vmError_posix.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/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/vmError.cpp Changeset: 92ab031d6540 Author: rkennke Date: 2019-07-04 17:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/92ab031d6540 8226695: Shenandoah: Wire C1 and C2 IN_NATIVE barrier Reviewed-by: roland ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp Changeset: 419420eb5230 Author: hseigel Date: 2019-07-11 09:26 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/419420eb5230 8226798: JVM crash in klassItable::initialize_itable_for_interface(int, InstanceKlass*, bool, Thread*) Summary: When calculating vtable size at class load time, do not look for miranda method if matching package private method is found in a super class. Reviewed-by: acorn, lfoltan ! src/hotspot/share/oops/klassVtable.cpp + test/hotspot/jtreg/runtime/VtableTests/VTableTest.java + test/hotspot/jtreg/runtime/VtableTests/pkg/A.java Changeset: 1346086863a3 Author: redestad Date: 2019-07-11 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1346086863a3 8227527: LogDecorations should lazily resolve host name Reviewed-by: gziemski, lfoltan, stuefe ! src/hotspot/share/logging/logDecorations.cpp ! src/hotspot/share/logging/logDecorations.hpp Changeset: 107ebf94ddcc Author: hannesw Date: 2019-07-11 16:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/107ebf94ddcc 8223451: Make optimistic types disabled by default Reviewed-by: sundar, jlaskey, attila ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties ! test/nashorn/script/nosecurity/logcoverage.js Changeset: a35a210e6c0f Author: joehw Date: 2019-07-11 15:58 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a35a210e6c0f 8178843: A bug in an inner loop in MethodGenerator's getLocals method Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java Changeset: 60bdaee6010a Author: mikael Date: 2019-07-10 08:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/60bdaee6010a Added tag jdk-13+29 for changeset 3081f39a3d30 ! .hgtags Changeset: fe5dcb38a26a Author: neliasso Date: 2019-07-10 18:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fe5dcb38a26a 8226536: Catch OOM from deopt that fails rematerializing objects Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/vmTestbase/nsk/share/gc/gp/GarbageUtils.java Changeset: b32b6ffb221b Author: valeriep Date: 2019-07-10 18:43 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b32b6ffb221b 8181386: CipherSpi ByteBuffer to byte array conversion fails for certain data overlap conditions Summary: Detect potential buffer overlap and use extra buffer if necessary Reviewed-by: xuelei ! src/java.base/share/classes/javax/crypto/CipherSpi.java + test/jdk/javax/crypto/CipherSpi/CipherByteBufferOverwriteTest.java Changeset: 1d5ce4787723 Author: jjg Date: 2019-07-10 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1d5ce4787723 8227549: Fix style of links in specs for consistency Reviewed-by: iris, mchung ! make/data/docs-resources/resources/jdk-default.css Changeset: 63d13c01f2b8 Author: aph Date: 2019-07-02 16:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/63d13c01f2b8 8226525: HotSpot compile-time error for x86-32 Reviewed-by: shade ! src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp Changeset: ceafb2debc68 Author: aph Date: 2019-07-11 11:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ceafb2debc68 Merge - src/hotspot/share/gc/z/zOopClosures.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp - src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp - test/jdk/sun/security/tools/keytool/DefaultSignatureAlgorithm.java - test/jdk/sun/security/tools/keytool/pss/PSS.java - test/jdk/sun/security/tools/keytool/pss/java.base/sun/security/rsa/RSAKeyPairGenerator.java Changeset: 70b1c1bec669 Author: hannesw Date: 2019-07-11 17:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/70b1c1bec669 8227391: Update double-conversion to version 3.1.5 Reviewed-by: attila ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/Bignum.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/FixedDtoa.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/IeeeDouble.java ! test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/BignumDtoaTest.java ! test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/FixedDtoaTest.java ! test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/IeeeDoubleTest.java Changeset: 340d73f42b3c Author: jjg Date: 2019-07-11 12:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/340d73f42b3c 8227602: Update nroff version of man pages Reviewed-by: mchung ! src/java.base/share/man/java.1 ! src/jdk.compiler/share/man/javac.1 ! src/jdk.javadoc/share/man/javadoc.1 ! src/jdk.jdeps/share/man/javap.1 ! src/jdk.jdeps/share/man/jdeps.1 ! src/jdk.jlink/share/man/jlink.1 ! src/jdk.jlink/share/man/jmod.1 ! src/jdk.rmic/share/man/rmic.1 Changeset: 6521aec1c26e Author: valeriep Date: 2019-07-11 20:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6521aec1c26e 8225745: NoSuchAlgorithmException exception for SHA256withECDSA with RSASSA-PSS support Summary: Fixed SignatureUtil and ECDSA signature impl to handle EC parameters Reviewed-by: weijun ! src/java.base/share/classes/sun/security/util/CurveDB.java ! src/java.base/share/classes/sun/security/util/ECUtil.java ! src/java.base/share/classes/sun/security/util/SignatureUtil.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java + test/jdk/sun/security/x509/X509CertImpl/ECSigParamsVerifyWithCert.java Changeset: 7b11ce080798 Author: psadhukhan Date: 2019-07-12 09:27 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b11ce080798 8225423: GTK L&F: JSplitPane: There is no divider shown Reviewed-by: prr, serb ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.h Changeset: 07e09cb9ed70 Author: fyuan Date: 2019-07-12 13:59 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/07e09cb9ed70 8227422: sun/net/www/protocol/file/DirPermissionDenied.java failed on Windows 2016 because DirPermissionDenied directory has no read permission Reviewed-by: dfuchs ! test/jdk/sun/net/www/protocol/file/DirPermissionDenied.java Changeset: a87f5fdcd177 Author: clanger Date: 2019-07-12 10:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a87f5fdcd177 8227578: Wrong JRE targets in Images.gmk after JDK-8219971 Reviewed-by: tbell ! make/Images.gmk Changeset: d755f53becea Author: mikael Date: 2019-07-12 02:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d755f53becea Merge ! .hgtags ! make/data/docs-resources/resources/jdk-default.css ! src/java.base/share/classes/sun/security/util/CurveDB.java Changeset: c659942fc471 Author: jiangli Date: 2019-07-12 10:39 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c659942fc471 8227582: runtime/TLS/testtls.sh fails on x86_32 Summary: Disable the negative test case for regular testing. Reviewed-by: shade ! test/hotspot/jtreg/runtime/TLS/testtls.sh Changeset: 0bf678dd8951 Author: jjg Date: 2019-07-12 10:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0bf678dd8951 8227613: "draft" header should be in a
instead of
Reviewed-by: mchung, iris ! make/Docs.gmk Changeset: ff76baab1c90 Author: jcm Date: 2019-07-12 11:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff76baab1c90 8227068: [Graal] MappedByteBuffer bulk access memory failures are not handled gracefully Summary: Unsafe.copyMemory access failures are handled gracefully. Reviewed-by: dnsimon, kvn ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! 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/meta/HotSpotGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotUnsafeSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java Changeset: a33465cf8774 Author: jjg Date: 2019-07-12 15:15 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a33465cf8774 8227644: make more build-time variables available to Markdown files Reviewed-by: mchung ! make/Docs.gmk ! make/launcher/LauncherCommon.gmk Changeset: 901ab17af3ce Author: ysuenaga Date: 2019-07-13 20:55 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/901ab17af3ce 8227594: sadebugd/DebugdConnectTest.java fails due to "java.rmi.NotBoundException: SARemoteDebugger" Reviewed-by: cjplummer, sspitsyn + test/hotspot/jtreg/serviceability/sa/sadebugd/TEST.properties Changeset: 4b1de39beda3 Author: fyuan Date: 2019-07-15 17:53 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4b1de39beda3 8227438: [TESTLIB] Determine if file exists by Files.exists in function FileUtils.deleteFileIfExistsWithRetry Reviewed-by: lancea, joehw ! test/lib/jdk/test/lib/util/FileUtils.java Changeset: 296560a21cea Author: rkennke Date: 2019-07-15 12:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/296560a21cea 8227637: Adjust Shenandoah C2 verifier to recognize IN_NATIVE barriers Reviewed-by: roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: aa96c53c592b Author: rkennke Date: 2019-07-15 15:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/aa96c53c592b 8227676: Shenandoah: More consistent naming of LRB entry points Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp Changeset: cd48f8f260c8 Author: yzhou Date: 2019-07-15 10:21 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cd48f8f260c8 8227289: Enable assertions for some shell to java conversion tests after JDK-8218960 Reviewed-by: naoto ! test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java ! test/jdk/java/util/ResourceBundle/Control/MissingResourceCauseTestRun.java ! test/jdk/java/util/ResourceBundle/modules/ModuleTestUtil.java ! test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java ! test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java ! test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java ! test/jdk/java/util/TimeZone/Bug8066652Run.java ! test/jdk/java/util/TimeZone/TimeZoneDatePermissionCheckRun.java Changeset: 7b671e6b0d5b Author: zgu Date: 2019-07-15 11:23 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b671e6b0d5b 8225483: Shenandoah: Enhance native access barrier Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: 70fab3a8ff02 Author: ysuenaga Date: 2019-07-16 07:29 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/70fab3a8ff02 8225690: Multiple AttachListener threads can be created Reviewed-by: sspitsyn, cjplummer ! src/hotspot/os/aix/attachListener_aix.cpp ! src/hotspot/os/bsd/attachListener_bsd.cpp ! src/hotspot/os/linux/attachListener_linux.cpp ! src/hotspot/os/solaris/attachListener_solaris.cpp ! src/hotspot/os/windows/attachListener_windows.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/attachListener.hpp + test/hotspot/jtreg/serviceability/attach/ConcAttachTest.java + test/hotspot/jtreg/serviceability/attach/RemovingUnixDomainSocketTest.java Changeset: b528b724b16d Author: mbaesken Date: 2019-07-12 12:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b528b724b16d 8227630: adjust format specifiers in loadlib_aix.cpp Reviewed-by: mdoerr, shade ! src/hotspot/os/aix/loadlib_aix.cpp Changeset: 000138a6a4b3 Author: njian Date: 2019-07-15 03:14 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/000138a6a4b3 8227574: [TESTBUG] JTReg tests fail with Graal due to access denied Reviewed-by: kvn Contributed-by: xiaohong.gong at arm.com ! test/jdk/java/net/URLPermission/URLTest.java ! test/jdk/java/sql/testng/util/TestPolicy.java Changeset: 56b96d234f26 Author: rschmelter Date: 2019-07-16 13:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/56b96d234f26 8227440: Implement fix to JDK-8224642 on all platforms Reviewed-by: sspitsyn, clanger ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java Changeset: b8152c273f76 Author: bulasevich Date: 2019-07-16 18:05 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b8152c273f76 8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4 Summary: Fixing the message to print actual comp_level Reviewed-by: dlong, kvn ! src/hotspot/share/oops/method.cpp Changeset: 065142ace8e9 Author: redestad Date: 2019-07-16 17:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/065142ace8e9 8227720: Improve ExtendedSocketOptions initialization Reviewed-by: chegar, vtewari ! src/java.base/share/classes/sun/net/ext/ExtendedSocketOptions.java ! src/jdk.net/linux/classes/jdk/net/LinuxSocketOptions.java ! src/jdk.net/macosx/classes/jdk/net/MacOSXSocketOptions.java ! src/jdk.net/solaris/classes/jdk/net/SolarisSocketOptions.java Changeset: 0e1bc587472c Author: joehw Date: 2019-07-16 21:12 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0e1bc587472c 8176447: javax.xml.validation.Validator validates incorrectly on uniqueness constraint Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/XPathMatcher.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ValidationTest.java + test/jaxp/javax/xml/jaxp/unittest/validation/files/JDK8176447a.xml + test/jaxp/javax/xml/jaxp/unittest/validation/files/JDK8176447a.xsd + test/jaxp/javax/xml/jaxp/unittest/validation/files/JDK8176447b.xml + test/jaxp/javax/xml/jaxp/unittest/validation/files/JDK8176447b.xsd Changeset: 8c5c9d86e1d6 Author: pli Date: 2019-07-16 00:57 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c5c9d86e1d6 8227512: [TESTBUG] Fix JTReg javac test failures with Graal Reviewed-by: mcimadamore ! test/langtools/tools/javac/file/LimitedImage.java ! test/langtools/tools/javac/modules/InheritRuntimeEnvironmentTest.java Changeset: a07fedf3db62 Author: njian Date: 2019-07-17 10:11 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a07fedf3db62 8227615: [TESTBUG] JTReg "jdk/sun/security/util/FilePermCompat/CompatImpact.java" fails with graal Reviewed-by: kvn Contributed-by: xiaohong.gong at arm.com ! test/jdk/sun/security/util/FilePermCompat/CompatImpact.java Changeset: 443f7359b34d Author: mbaesken Date: 2019-07-16 11:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/443f7359b34d 8227631: Adjust AIX version check Reviewed-by: clanger, goetz ! src/hotspot/os/aix/os_aix.cpp Changeset: af48b07d0312 Author: rkennke Date: 2019-07-18 11:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/af48b07d0312 Merge ! .hgtags ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_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/share/compiler/compileBroker.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/vmStructs.cpp - test/jdk/sun/security/tools/keytool/DefaultSignatureAlgorithm.java - test/jdk/sun/security/tools/keytool/pss/PSS.java - test/jdk/sun/security/tools/keytool/pss/java.base/sun/security/rsa/RSAKeyPairGenerator.java From rkennke at redhat.com Thu Jul 18 11:21:20 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Jul 2019 13:21:20 +0200 Subject: RFR: 8228364: Shenandoah: Remove unused code from ShenandoahBarrierSetC1 Message-ID: <2a06015c-8a82-893c-4ef7-1ca83b5e8c65@redhat.com> In ShBSC1, needs_null_check is not needed because it is always true, and the CodeEmitInfo is never used for anything. Both look like left-overs from WB. This prepares for a larger refactoring of ShBSC1 and related code. Bug: https://bugs.openjdk.java.net/browse/JDK-8228364 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8228364/webrev.00/ Testing: hotspot_gc_shenandoah (x86/aarch64) Ok? Roman From shade at redhat.com Thu Jul 18 11:41:42 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Jul 2019 13:41:42 +0200 Subject: RFR: 8228364: Shenandoah: Remove unused code from ShenandoahBarrierSetC1 In-Reply-To: <2a06015c-8a82-893c-4ef7-1ca83b5e8c65@redhat.com> References: <2a06015c-8a82-893c-4ef7-1ca83b5e8c65@redhat.com> Message-ID: <8a6a92ed-3901-816a-590d-77a3e77f867b@redhat.com> On 7/18/19 1:21 PM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8228364/webrev.00/ Looks good to me. -- Thanks, -Aleksey From zgu at redhat.com Thu Jul 18 11:50:36 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 18 Jul 2019 07:50:36 -0400 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> Message-ID: <062a1d72-db50-fa8d-ef00-4cdc8dcd9591@redhat.com> Hi Thomas, Although, Shenandoah no long uses ParallelCleaningTask, it still uses tasks defined in it, such as StringDedupCleaningTask, CodeCacheUnloadingTask and etc. So, it should still remain in "shared". What you think? Thanks, -Zhengyu On 7/18/19 6:02 AM, Thomas Schatzl wrote: > Hi, > > On Wed, 2019-07-17 at 14:13 -0400, Zhengyu Gu wrote: >> >> On 7/17/19 2:03 PM, Thomas Schatzl wrote: >>> Hi, >>> >>> On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: >>>> Currently, Shenandoah uses shared ParallelCleaningTask to perform >>>> STW cleaning task, the cleaning task performs class unloading >>>> along >>> >>> since the ParallelCleaningTask has originally moved from g1 code >>> to shared to allow use with Shenandoah, now that the code is not >>> used by Shenandoah any more, please move ParallelCleaningTask back >>> to G1 specific code. >> >> Sure. Filed JDK-8227927. > > I would think that it is appropriate to include the move to G1 code > part of this change, but I am okay if you want to do it separately. > > Thanks, > Thomas > > From shade at redhat.com Thu Jul 18 16:25:52 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 18 Jul 2019 18:25:52 +0200 Subject: [8u] RFR: Prune unneeded (jccb|jmpb)_if_possible Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/prune-if-possible/webrev.01/ This shows up as difference against 8u upstream. But this is not really needed, and we have actually purged it in all other versions. See here: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-June/006287.html Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From aleksey.shipilev at gmail.com Thu Jul 18 16:32:56 2019 From: aleksey.shipilev at gmail.com (Aleksey Shipilev) Date: Thu, 18 Jul 2019 18:32:56 +0200 Subject: [8u] Revert Shenandoah-specific assert after JDK-8211926 landed Message-ID: <18e8caf0-768e-7a67-0df7-c1c525f25630@gmail.com> Shenandoah-specific assert is not needed anymore, after all relevant backports landed upstream. This reverts bitMap.inline.hpp to 8u upstream state. diff -r 37c96d78c3c2 src/share/vm/utilities/bitMap.inline.hpp --- a/src/share/vm/utilities/bitMap.inline.hpp Wed Jul 17 18:09:43 2019 +0200 +++ b/src/share/vm/utilities/bitMap.inline.hpp Thu Jul 18 18:22:04 2019 +0200 @@ -322,10 +322,10 @@ inline void BitMap::set_large_range_of_words(idx_t beg, idx_t end) { - assert(!UseShenandoahGC || (beg <= end), "underflow"); // Make sure Shenandoah does not blow up on JDK-8211926 + assert(beg <= end, "underflow"); memset(_map + beg, ~(unsigned char)0, (end - beg) * sizeof(uintptr_t)); } inline void BitMap::clear_large_range_of_words(idx_t beg, idx_t end) { - assert(!UseShenandoahGC || (beg <= end), "underflow"); // Make sure Shenandoah does not blow up on JDK-8211926 + assert(beg <= end, "underflow"); memset(_map + beg, 0, (end - beg) * sizeof(uintptr_t)); } Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Thu Jul 18 17:02:01 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Jul 2019 19:02:01 +0200 Subject: [8u] Revert Shenandoah-specific assert after JDK-8211926 landed In-Reply-To: <18e8caf0-768e-7a67-0df7-c1c525f25630@gmail.com> References: <18e8caf0-768e-7a67-0df7-c1c525f25630@gmail.com> Message-ID: Ok. Thanks! Roman > Shenandoah-specific assert is not needed anymore, after all relevant backports landed upstream. This > reverts bitMap.inline.hpp to 8u upstream state. > > diff -r 37c96d78c3c2 src/share/vm/utilities/bitMap.inline.hpp > --- a/src/share/vm/utilities/bitMap.inline.hpp Wed Jul 17 18:09:43 2019 +0200 > +++ b/src/share/vm/utilities/bitMap.inline.hpp Thu Jul 18 18:22:04 2019 +0200 > @@ -322,10 +322,10 @@ > > inline void BitMap::set_large_range_of_words(idx_t beg, idx_t end) { > - assert(!UseShenandoahGC || (beg <= end), "underflow"); // Make sure Shenandoah does not blow up > on JDK-8211926 > + assert(beg <= end, "underflow"); > memset(_map + beg, ~(unsigned char)0, (end - beg) * sizeof(uintptr_t)); > } > > inline void BitMap::clear_large_range_of_words(idx_t beg, idx_t end) { > - assert(!UseShenandoahGC || (beg <= end), "underflow"); // Make sure Shenandoah does not blow up > on JDK-8211926 > + assert(beg <= end, "underflow"); > memset(_map + beg, 0, (end - beg) * sizeof(uintptr_t)); > } > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > From roman at kennke.org Thu Jul 18 17:02:32 2019 From: roman at kennke.org (Roman Kennke) Date: Thu, 18 Jul 2019 19:02:32 +0200 Subject: [8u] RFR: Prune unneeded (jccb|jmpb)_if_possible In-Reply-To: References: Message-ID: Ok, thanks! Roman > http://cr.openjdk.java.net/~shade/shenandoah/prune-if-possible/webrev.01/ > > This shows up as difference against 8u upstream. But this is not really needed, and we have actually > purged it in all other versions. See here: > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-June/006287.html > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Thu Jul 18 19:00:44 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Thu, 18 Jul 2019 19:00:44 +0000 Subject: hg: shenandoah/jdk11: 5 new changesets Message-ID: <201907181900.x6IJ0jpg012157@aojmv0008.oracle.com> Changeset: 25065d67589b Author: rkennke Date: 2019-04-02 23:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/25065d67589b [backport] 8221766: Load-reference barriers for Shenandoah Reviewed-by: kvn, erikj, aph, shade ! 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/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/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/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciObjectFactory.hpp ! src/hotspot/share/classfile/classLoaderStats.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.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/shenandoahBrooksPointer.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.hpp ! src/hotspot/share/oops/oopsHierarchy.hpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/cfgnode.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/ifnode.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/split_if.cpp ! src/hotspot/share/opto/stringopts.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/utilities/bitMap.inline.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java Changeset: eb3ce90620a8 Author: rkennke Date: 2019-04-08 18:42 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/eb3ce90620a8 [backport] 8222129: Shenandoah: Missing CompareAndSwapP/N case in get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: a4106527d375 Author: shade Date: 2019-04-22 11:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a4106527d375 [backport] 8222786: Shenandoah get_barrier_strength should accept all shapes of (Weak)CAS reference barriers Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: 72c4ab7e1c2b Author: shade Date: 2019-05-07 16:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/72c4ab7e1c2b [backport] 8223448: Shenandoah disabled barriers blocks omit LRB Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: 04950e09d7f5 Author: rkennke Date: 2019-05-23 17:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/04950e09d7f5 [backport] 8224667: Shenandoah: Post-LRB cleanup Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp From shade at redhat.com Thu Jul 18 19:04:02 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 18 Jul 2019 19:04:02 +0000 Subject: hg: shenandoah/jdk8/hotspot: 2 new changesets Message-ID: <201907181904.x6IJ428J013178@aojmv0008.oracle.com> Changeset: 4ab2f64b4d52 Author: shade Date: 2019-07-18 17:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4ab2f64b4d52 Revert Shenandoah-specific assert after JDK-8211926 landed ! src/share/vm/utilities/bitMap.inline.hpp Changeset: 16898268d728 Author: shade Date: 2019-07-18 18:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/16898268d728 Prune unneeded (jccb|jmpb)_if_possible ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp From rkennke at redhat.com Thu Jul 18 19:35:03 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 18 Jul 2019 21:35:03 +0200 Subject: RFR: 8228369: Shenandoah: Refactor LRB C1 stubs Message-ID: Currently, interpreter and C1 are calling through a shared stub. This is somewhat rigid, and not really the C1-ish way to do it. In particular, it makes it very difficult to pass an additional argument to the runtime-call, which we're going to need for self-fixing-LRBs. This patch makes the C1 path go through its own stub that is now generated in the same way as other C1 runtime stubs. Notable changes: - the save_vector_registers()/restore_vector_registers() is no longer needed and we can instead re-use the similar methods from StubAssembler. This is also more useful maintenance-wise if the calling convention/registers ever change, if bugs come up in that code, etc. - The null-check in the CodeStub branches directly to the continuation instead of skipping the call. - Register allocation for the result forces rax/r0 (the return register), which means we can avoid some shuffling in the CodeStub. - Calling the runtime-stub now allows to pass parameters, which will be *very* helpful when we want to the sfx-lrbs. - In order to make the interpreter stub and the C1 stub share as much code as possible, I extracted gen_cset_check() and gen_resolved_check() to be used by both. We could in-fact consider to do away with the interpreter stub altogether, inline the whole code, and benefit from the passed-in tmp register, but I took the approach to not touch that code unless needed: it's quite a nightmare to get the register shuffling right with the interpreter (even more so than C1). Bug: https://bugs.openjdk.java.net/browse/JDK-8228369 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.00/ Testing: hotspot_gc_shenandoah (x86_64, aarch64) Good? Roman From rkennke at redhat.com Fri Jul 19 07:48:10 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 09:48:10 +0200 Subject: RFR: 8228369: Shenandoah: Refactor LRB C1 stubs In-Reply-To: References: Message-ID: <4555ab0e-4a8f-034f-73b5-494b6b0ba9fe@redhat.com> Hold off reviewing this, I will make some improvements to the change today. :-) Roman > Currently, interpreter and C1 are calling through a shared stub. This > is somewhat rigid, and not really the C1-ish way to do it. In > particular, it makes it very difficult to pass an additional argument to > the runtime-call, which we're going to need for self-fixing-LRBs. > > This patch makes the C1 path go through its own stub that is now > generated in the same way as other C1 runtime stubs. Notable changes: > > - the save_vector_registers()/restore_vector_registers() is no longer > needed and we can instead re-use the similar methods from StubAssembler. > This is also more useful maintenance-wise if the calling > convention/registers ever change, if bugs come up in that code, etc. > - The null-check in the CodeStub branches directly to the continuation > instead of skipping the call. > - Register allocation for the result forces rax/r0 (the return > register), which means we can avoid some shuffling in the CodeStub. > - Calling the runtime-stub now allows to pass parameters, which will be > *very* helpful when we want to the sfx-lrbs. > - In order to make the interpreter stub and the C1 stub share as much > code as possible, I extracted gen_cset_check() and gen_resolved_check() > to be used by both. We could in-fact consider to do away with the > interpreter stub altogether, inline the whole code, and benefit from the > passed-in tmp register, but I took the approach to not touch that code > unless needed: it's quite a nightmare to get the register shuffling > right with the interpreter (even more so than C1). > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8228369 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.00/ > > Testing: hotspot_gc_shenandoah (x86_64, aarch64) > > Good? > > Roman > From shade at redhat.com Fri Jul 19 08:54:30 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 10:54:30 +0200 Subject: [8u] RFR: Revert parts of x86_64.ad to 8u upstream state Message-ID: Continuing to scrub the differences against 8u upstream. These are the funny bits in x86_64.ad: https://builds.shipilev.net/patch-openjdk-jdk8-aarch64/hotspot/src/cpu/x86/vm/x86_64.ad.sdiff.html The first block got there via backport that reverts x86_64.ad to "upstream" state. But that state is about jdk/jdk, not about jdk8u, where those white-space differences are actually present: http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3f325d1f67d3 The second block is the leftover from two successive backports. The last one removed the only matcher that used immU8, and so we don't need it. See: http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ec5c2ccc5dbf http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3b015c5e7a5e sh/jdk8 patch: diff -r 16898268d728 src/cpu/x86/vm/x86_64.ad --- a/src/cpu/x86/vm/x86_64.ad Thu Jul 18 18:22:24 2019 +0200 +++ b/src/cpu/x86/vm/x86_64.ad Fri Jul 19 10:40:25 2019 +0200 @@ -213,5 +213,5 @@ reg_class ptr_reg_with_rbp(RAX, RAX_H, RDX, RDX_H, - RBP, RBP_H, + RBP, RBP_H, RDI, RDI_H, RSI, RSI_H, @@ -810,5 +810,5 @@ __ bind(done); } - + //============================================================================= @@ -2940,14 +2940,4 @@ %} -operand immU8() -%{ - predicate((0 <= n->get_int()) && (n->get_int() <= 255)); - match(ConI); - - op_cost(5); - format %{ %} - interface(CONST_INTER); -%} - operand immI16() %{ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 19 08:57:29 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 10:57:29 +0200 Subject: [8u] RFR: Revert parts of x86_64.ad to 8u upstream state In-Reply-To: References: Message-ID: <80ed5ebb-cb66-aa1a-8580-b5c85e633d4a@redhat.com> Sure, go! Roman > Continuing to scrub the differences against 8u upstream. These are the funny bits in x86_64.ad: > https://builds.shipilev.net/patch-openjdk-jdk8-aarch64/hotspot/src/cpu/x86/vm/x86_64.ad.sdiff.html > > The first block got there via backport that reverts x86_64.ad to "upstream" state. But that state is > about jdk/jdk, not about jdk8u, where those white-space differences are actually present: > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3f325d1f67d3 > > The second block is the leftover from two successive backports. The last one removed the only > matcher that used immU8, and so we don't need it. See: > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ec5c2ccc5dbf > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3b015c5e7a5e > > sh/jdk8 patch: > > diff -r 16898268d728 src/cpu/x86/vm/x86_64.ad > --- a/src/cpu/x86/vm/x86_64.ad Thu Jul 18 18:22:24 2019 +0200 > +++ b/src/cpu/x86/vm/x86_64.ad Fri Jul 19 10:40:25 2019 +0200 > @@ -213,5 +213,5 @@ > reg_class ptr_reg_with_rbp(RAX, RAX_H, > RDX, RDX_H, > - RBP, RBP_H, > + RBP, RBP_H, > RDI, RDI_H, > RSI, RSI_H, > @@ -810,5 +810,5 @@ > __ bind(done); > } > - > + > > //============================================================================= > @@ -2940,14 +2940,4 @@ > %} > > -operand immU8() > -%{ > - predicate((0 <= n->get_int()) && (n->get_int() <= 255)); > - match(ConI); > - > - op_cost(5); > - format %{ %} > - interface(CONST_INTER); > -%} > - > operand immI16() > %{ > > Testing: hotspot_gc_shenandoah > From shade at redhat.com Fri Jul 19 09:19:33 2019 From: shade at redhat.com (shade at redhat.com) Date: Fri, 19 Jul 2019 09:19:33 +0000 Subject: hg: shenandoah/jdk8/hotspot: Revert parts of x86_64.ad to 8u upstream state Message-ID: <201907190919.x6J9JYsu027495@aojmv0008.oracle.com> Changeset: e1129951c0f0 Author: shade Date: 2019-07-19 10:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e1129951c0f0 Revert parts of x86_64.ad to 8u upstream state ! src/cpu/x86/vm/x86_64.ad From shade at redhat.com Fri Jul 19 09:55:52 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 11:55:52 +0200 Subject: [8u] RFR: Protect lir_shenandoah_wb with INCLUDE_ALL_GCS Message-ID: <8e47cc5f-5de3-7671-04c8-19ce0f6954ee@redhat.com> Continuing to scrub the differences against 8u upstream. Missing Shenandoah protection here: diff -r 16898268d728 src/share/vm/c1/c1_LIR.cpp --- a/src/share/vm/c1/c1_LIR.cpp Thu Jul 18 18:22:24 2019 +0200 +++ b/src/share/vm/c1/c1_LIR.cpp Fri Jul 19 11:20:59 2019 +0200 @@ -1852,5 +1852,7 @@ // LIR_OpProfileType case lir_profile_type: s = "profile_type"; break; +#if INCLUDE_ALL_GCS case lir_shenandoah_wb: s = "shenandoah_wb"; break; +#endif // LIR_OpAssert #ifdef ASSERT diff -r 16898268d728 src/share/vm/c1/c1_LIR.hpp --- a/src/share/vm/c1/c1_LIR.hpp Thu Jul 18 18:22:24 2019 +0200 +++ b/src/share/vm/c1/c1_LIR.hpp Fri Jul 19 11:20:59 2019 +0200 @@ -941,5 +941,7 @@ , lir_unpack64 , lir_unwind +#if INCLUDE_ALL_GCS , lir_shenandoah_wb +#endif , end_op1 , begin_op2 Testing: hotspot_gc_shenandoah, minimal1 build (which does C1 without most GCs) -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 19 10:44:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 12:44:39 +0200 Subject: [8u] RFR: Protect lir_shenandoah_wb with INCLUDE_ALL_GCS In-Reply-To: <8e47cc5f-5de3-7671-04c8-19ce0f6954ee@redhat.com> References: <8e47cc5f-5de3-7671-04c8-19ce0f6954ee@redhat.com> Message-ID: <0f1f8bad-8f22-a883-2fe1-c5962b37b5bb@redhat.com> OK. Thanks! Roman > Continuing to scrub the differences against 8u upstream. Missing Shenandoah protection here: > > diff -r 16898268d728 src/share/vm/c1/c1_LIR.cpp > --- a/src/share/vm/c1/c1_LIR.cpp Thu Jul 18 18:22:24 2019 +0200 > +++ b/src/share/vm/c1/c1_LIR.cpp Fri Jul 19 11:20:59 2019 +0200 > @@ -1852,5 +1852,7 @@ > // LIR_OpProfileType > case lir_profile_type: s = "profile_type"; break; > +#if INCLUDE_ALL_GCS > case lir_shenandoah_wb: s = "shenandoah_wb"; break; > +#endif > // LIR_OpAssert > #ifdef ASSERT > diff -r 16898268d728 src/share/vm/c1/c1_LIR.hpp > --- a/src/share/vm/c1/c1_LIR.hpp Thu Jul 18 18:22:24 2019 +0200 > +++ b/src/share/vm/c1/c1_LIR.hpp Fri Jul 19 11:20:59 2019 +0200 > @@ -941,5 +941,7 @@ > , lir_unpack64 > , lir_unwind > +#if INCLUDE_ALL_GCS > , lir_shenandoah_wb > +#endif > , end_op1 > , begin_op2 > > Testing: hotspot_gc_shenandoah, minimal1 build (which does C1 without most GCs) > From shade at redhat.com Fri Jul 19 10:48:32 2019 From: shade at redhat.com (shade at redhat.com) Date: Fri, 19 Jul 2019 10:48:32 +0000 Subject: hg: shenandoah/jdk8/hotspot: Protect lir_shenandoah_wb with INCLUDE_ALL_GCS Message-ID: <201907191048.x6JAmWsX024716@aojmv0008.oracle.com> Changeset: 0fee5f92b6f5 Author: shade Date: 2019-07-19 11:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0fee5f92b6f5 Protect lir_shenandoah_wb with INCLUDE_ALL_GCS ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp From rkennke at redhat.com Fri Jul 19 14:27:29 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 16:27:29 +0200 Subject: RFR: 8228369: Shenandoah: Refactor LRB C1 stubs In-Reply-To: References: Message-ID: <0788a5a5-3826-6693-608f-b48dd5805ef9@redhat.com> Please review this updated patch: http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.01/ It moves the cset-check and forwarded-check out of the runtime-stub, and one level up into the code-stub. This has the advantage that we can utilize the C1 reg-alloc to get tmp-regs and not need to mess with shuffling registers. It also avoids building the call-frame unless we really need to. It also does some short-cuts when not in cset or when forwarded, branching directly to the continuation rather than to some label (and then to the continuation). The runtime call stub now really only does the runtime call. What do you think? Roman > Currently, interpreter and C1 are calling through a shared stub. This > is somewhat rigid, and not really the C1-ish way to do it. In > particular, it makes it very difficult to pass an additional argument to > the runtime-call, which we're going to need for self-fixing-LRBs. > > This patch makes the C1 path go through its own stub that is now > generated in the same way as other C1 runtime stubs. Notable changes: > > - the save_vector_registers()/restore_vector_registers() is no longer > needed and we can instead re-use the similar methods from StubAssembler. > This is also more useful maintenance-wise if the calling > convention/registers ever change, if bugs come up in that code, etc. > - The null-check in the CodeStub branches directly to the continuation > instead of skipping the call. > - Register allocation for the result forces rax/r0 (the return > register), which means we can avoid some shuffling in the CodeStub. > - Calling the runtime-stub now allows to pass parameters, which will be > *very* helpful when we want to the sfx-lrbs. > - In order to make the interpreter stub and the C1 stub share as much > code as possible, I extracted gen_cset_check() and gen_resolved_check() > to be used by both. We could in-fact consider to do away with the > interpreter stub altogether, inline the whole code, and benefit from the > passed-in tmp register, but I took the approach to not touch that code > unless needed: it's quite a nightmare to get the register shuffling > right with the interpreter (even more so than C1). > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8228369 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.00/ > > Testing: hotspot_gc_shenandoah (x86_64, aarch64) > > Good? > > Roman > From shade at redhat.com Fri Jul 19 15:31:03 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 17:31:03 +0200 Subject: [11u] RFR: Fix non-Shenandoah builds Message-ID: Recent backports broke 11u builds that disable Shenandoah, like this: /home/buildbot/worker/shenandoah-jdk11-linux/build/src/hotspot/share/opto/loopTransform.cpp: In member function ?void IdealLoopTree::adjust_loop_exit_prob(PhaseIdealLoop*)?: /home/buildbot/worker/shenandoah-jdk11-linux/build/src/hotspot/share/opto/loopTransform.cpp:2807:14: error: expected primary-expression before ?)? token )) The reason is added INCLUDE_SHENANDOAHGC here: http://hg.openjdk.java.net/shenandoah/jdk11/file/tip/src/hotspot/share/opto/loopTransform.cpp#l2799 Note there is no #if in later releases: http://hg.openjdk.java.net/jdk/jdk/file/tip/src/hotspot/share/opto/loopTransform.cpp#l2976 I think we just need to remove the guard: diff -r 04950e09d7f5 src/hotspot/share/opto/loopTransform.cpp --- a/src/hotspot/share/opto/loopTransform.cpp Thu May 23 17:01:38 2019 +0200 +++ b/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 17:23:34 2019 +0200 @@ -2796,14 +2796,12 @@ (bol->in(1)->Opcode() == Op_CompareAndSwapL ) || (bol->in(1)->Opcode() == Op_CompareAndSwapP ) || (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || -#if INCLUDE_SHENANDOAHGC (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) -#endif )) return; // Allocation loops RARELY take backedge // Find the OTHER exit path from the IF Testing: {x86_32, x86_64} builds -- Thanks, -Aleksey From rkennke at redhat.com Fri Jul 19 15:36:32 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 17:36:32 +0200 Subject: [11u] RFR: Fix non-Shenandoah builds In-Reply-To: References: Message-ID: <82477f20-5161-188a-f5cd-d39f2cb12f9c@redhat.com> I am not sure that the fix is quite right. We do want to exclude this stuff from non-Shenandoah builds methinks. Maybe just move the whole block up a little, so that the trailing || here: > (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || ... doesn't end up being the last one? Roman > Recent backports broke 11u builds that disable Shenandoah, like this: > > /home/buildbot/worker/shenandoah-jdk11-linux/build/src/hotspot/share/opto/loopTransform.cpp: In > member function ?void IdealLoopTree::adjust_loop_exit_prob(PhaseIdealLoop*)?: > /home/buildbot/worker/shenandoah-jdk11-linux/build/src/hotspot/share/opto/loopTransform.cpp:2807:14: > error: expected primary-expression before ?)? token > )) > > The reason is added INCLUDE_SHENANDOAHGC here: > http://hg.openjdk.java.net/shenandoah/jdk11/file/tip/src/hotspot/share/opto/loopTransform.cpp#l2799 > > Note there is no #if in later releases: > http://hg.openjdk.java.net/jdk/jdk/file/tip/src/hotspot/share/opto/loopTransform.cpp#l2976 > > I think we just need to remove the guard: > > diff -r 04950e09d7f5 src/hotspot/share/opto/loopTransform.cpp > --- a/src/hotspot/share/opto/loopTransform.cpp Thu May 23 17:01:38 2019 +0200 > +++ b/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 17:23:34 2019 +0200 > @@ -2796,14 +2796,12 @@ > (bol->in(1)->Opcode() == Op_CompareAndSwapL ) || > (bol->in(1)->Opcode() == Op_CompareAndSwapP ) || > (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || > -#if INCLUDE_SHENANDOAHGC > (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || > (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || > (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || > (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || > (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || > (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) > -#endif > )) > return; // Allocation loops RARELY take backedge > // Find the OTHER exit path from the IF > > Testing: {x86_32, x86_64} builds > From shade at redhat.com Fri Jul 19 17:35:59 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 19:35:59 +0200 Subject: [11u] RFR: Fix non-Shenandoah builds In-Reply-To: <82477f20-5161-188a-f5cd-d39f2cb12f9c@redhat.com> References: <82477f20-5161-188a-f5cd-d39f2cb12f9c@redhat.com> Message-ID: <0d87092f-9730-64fd-3541-a3264c8dab2e@redhat.com> On 7/19/19 5:36 PM, Roman Kennke wrote: > I am not sure that the fix is quite right. We do want to exclude this > stuff from non-Shenandoah builds methinks. Maybe just move the whole > block up a little, so that the trailing || here: > >> (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || > > ... doesn't end up being the last one? Well, I liked the first fix because it matched what jdk/jdk was doing. We can do this: diff -r 59cfe2c1b7ba src/hotspot/share/opto/loopTransform.cpp --- a/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 17:23:26 2019 +0200 +++ b/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 19:34:14 2019 +0200 @@ -2779,4 +2779,12 @@ (bol->in(1)->Opcode() == Op_StoreIConditional ) || (bol->in(1)->Opcode() == Op_StoreLConditional ) || +#if INCLUDE_SHENANDOAHGC + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || + (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || + (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) || +#endif (bol->in(1)->Opcode() == Op_CompareAndExchangeB ) || (bol->in(1)->Opcode() == Op_CompareAndExchangeS ) || @@ -2796,12 +2804,5 @@ (bol->in(1)->Opcode() == Op_CompareAndSwapL ) || (bol->in(1)->Opcode() == Op_CompareAndSwapP ) || - (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || - (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || - (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) - )) + (bol->in(1)->Opcode() == Op_CompareAndSwapN ))) return; // Allocation loops RARELY take backedge // Find the OTHER exit path from the IF -Aleksey From rkennke at redhat.com Fri Jul 19 17:42:40 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 Jul 2019 19:42:40 +0200 Subject: [11u] RFR: Fix non-Shenandoah builds In-Reply-To: <0d87092f-9730-64fd-3541-a3264c8dab2e@redhat.com> References: <82477f20-5161-188a-f5cd-d39f2cb12f9c@redhat.com> <0d87092f-9730-64fd-3541-a3264c8dab2e@redhat.com> Message-ID: <5b9ee61d-0964-0b79-eaf7-f227677b175c@redhat.com> >> I am not sure that the fix is quite right. We do want to exclude this >> stuff from non-Shenandoah builds methinks. Maybe just move the whole >> block up a little, so that the trailing || here: >> >>> (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || >> >> ... doesn't end up being the last one? > > Well, I liked the first fix because it matched what jdk/jdk was doing. Yes, I understand this, but in jdk/jdk Shenandoah is included in mainline, while in JDK11u we're not, and we want to make it obvious that we're good. The proposed change below looks good. Thanks, Roman > We can do this: > > diff -r 59cfe2c1b7ba src/hotspot/share/opto/loopTransform.cpp > --- a/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 17:23:26 2019 +0200 > +++ b/src/hotspot/share/opto/loopTransform.cpp Fri Jul 19 19:34:14 2019 +0200 > @@ -2779,4 +2779,12 @@ > (bol->in(1)->Opcode() == Op_StoreIConditional ) || > (bol->in(1)->Opcode() == Op_StoreLConditional ) || > +#if INCLUDE_SHENANDOAHGC > + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || > + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || > + (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || > + (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || > + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || > + (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) || > +#endif > (bol->in(1)->Opcode() == Op_CompareAndExchangeB ) || > (bol->in(1)->Opcode() == Op_CompareAndExchangeS ) || > @@ -2796,12 +2804,5 @@ > (bol->in(1)->Opcode() == Op_CompareAndSwapL ) || > (bol->in(1)->Opcode() == Op_CompareAndSwapP ) || > - (bol->in(1)->Opcode() == Op_CompareAndSwapN ) || > - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeP ) || > - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndExchangeN ) || > - (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapP ) || > - (bol->in(1)->Opcode() == Op_ShenandoahWeakCompareAndSwapN ) || > - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapP ) || > - (bol->in(1)->Opcode() == Op_ShenandoahCompareAndSwapN ) > - )) > + (bol->in(1)->Opcode() == Op_CompareAndSwapN ))) > return; // Allocation loops RARELY take backedge > // Find the OTHER exit path from the IF > > -Aleksey > From shade at redhat.com Fri Jul 19 18:12:28 2019 From: shade at redhat.com (shade at redhat.com) Date: Fri, 19 Jul 2019 18:12:28 +0000 Subject: hg: shenandoah/jdk11: Fix non-Shenandoah builds Message-ID: <201907191812.x6JICT3W016574@aojmv0008.oracle.com> Changeset: 2a84926c3290 Author: shade Date: 2019-07-19 19:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2a84926c3290 Fix non-Shenandoah builds ! src/hotspot/share/opto/loopTransform.cpp From shade at redhat.com Fri Jul 19 18:12:30 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 20:12:30 +0200 Subject: [11u] RFR: Fix non-Shenandoah builds In-Reply-To: <5b9ee61d-0964-0b79-eaf7-f227677b175c@redhat.com> References: <82477f20-5161-188a-f5cd-d39f2cb12f9c@redhat.com> <0d87092f-9730-64fd-3541-a3264c8dab2e@redhat.com> <5b9ee61d-0964-0b79-eaf7-f227677b175c@redhat.com> Message-ID: <0808b588-0ea4-f4af-39fb-a73ee3ed9ae0@redhat.com> On 7/19/19 7:42 PM, Roman Kennke wrote: >> Well, I liked the first fix because it matched what jdk/jdk was doing. > > Yes, I understand this, but in jdk/jdk Shenandoah is included in > mainline, while in JDK11u we're not, and we want to make it obvious that > we're good. > > The proposed change below looks good. Okay then, pushed that. -- Thanks, -Aleksey From shade at redhat.com Fri Jul 19 18:32:13 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 Jul 2019 20:32:13 +0200 Subject: RFR: 8228369: Shenandoah: Refactor LRB C1 stubs In-Reply-To: <0788a5a5-3826-6693-608f-b48dd5805ef9@redhat.com> References: <0788a5a5-3826-6693-608f-b48dd5805ef9@redhat.com> Message-ID: <72b9fa73-9ae4-7322-09a4-8e66058043db@redhat.com> On 7/19/19 4:27 PM, Roman Kennke wrote: > Please review this updated patch: > > http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.01/ Brief look: *) The comment here is inconsistent with the implementation: mentions "not_resolved", while argument is "resolved": shenandoahBarrierSetAssembler_aarch64.cpp 485 // Generate check if object is resolved. Branch to not_resolved label, if not. Otherwise return resolved 486 // object in obj register. 487 // obj: object, resolved object on normal return 488 // tmp1, tmp2: temp registers, trashed 489 void ShenandoahBarrierSetAssembler::gen_resolved_check(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& resolved) { 490 __ mov(tmp2, obj); 491 resolve_forward_pointer_not_null(masm, obj, tmp1); 492 __ cmp(tmp2, obj); 493 __ br(Assembler::EQ, resolved); 494 } *) Is there any actual benefit for separating gen_cset_check and gen_resolved_check? It seems to have only two uses, and copy-paste looks like less evil. *) In x86 code, can't you use resolve_forward_pointer too, instead of doing decoding by hand? -Aleksey From rkennke at redhat.com Mon Jul 22 11:30:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 Jul 2019 13:30:55 +0200 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <062a1d72-db50-fa8d-ef00-4cdc8dcd9591@redhat.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> <062a1d72-db50-fa8d-ef00-4cdc8dcd9591@redhat.com> Message-ID: <2735142e-4073-b1fe-9e25-7996f8bb5d01@redhat.com> Yes, I think it should still remain in gc/shared as long as Shenandoah is using (parts of) it. The change looks good to me. Thanks, Roman > Hi Thomas, > > Although, Shenandoah no long uses ParallelCleaningTask, it still uses > tasks defined in it, such as StringDedupCleaningTask, > CodeCacheUnloadingTask and etc. So, it should still remain in "shared". > > What you think? > > Thanks, > > -Zhengyu > > > > On 7/18/19 6:02 AM, Thomas Schatzl wrote: >> Hi, >> >> On Wed, 2019-07-17 at 14:13 -0400, Zhengyu Gu wrote: >>> >>> On 7/17/19 2:03 PM, Thomas Schatzl wrote: >>>> Hi, >>>> >>>> On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: >>>>> Currently, Shenandoah uses shared ParallelCleaningTask to perform >>>>> STW cleaning task, the cleaning task performs class unloading >>>>> along >>>> >>>> ??? since the ParallelCleaningTask has originally moved from g1 code >>>> to shared to allow use with Shenandoah, now that the code is not >>>> used by Shenandoah any more, please move ParallelCleaningTask back >>>> to G1 specific code. >>> >>> Sure. Filed JDK-8227927. >> >> I would think that it is appropriate to include the move to G1 code >> part of this change, but I am okay if you want to do it separately. >> >> Thanks, >> ?? Thomas >> >> From zgu at redhat.com Mon Jul 22 11:50:09 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 22 Jul 2019 07:50:09 -0400 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <2735142e-4073-b1fe-9e25-7996f8bb5d01@redhat.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> <062a1d72-db50-fa8d-ef00-4cdc8dcd9591@redhat.com> <2735142e-4073-b1fe-9e25-7996f8bb5d01@redhat.com> Message-ID: <2f4bb88a-879a-9fa5-fdb4-924438b855f1@redhat.com> On 7/22/19 7:30 AM, Roman Kennke wrote: > Yes, I think it should still remain in gc/shared as long as Shenandoah > is using (parts of) it. Thanks for reviewing, Roman. I think we will just move "ParallelCleaningTask" back to G1 and keep subtasks in shared. Thanks, -Zhengyu > > The change looks good to me. > > Thanks, > Roman > > >> Hi Thomas, >> >> Although, Shenandoah no long uses ParallelCleaningTask, it still uses >> tasks defined in it, such as StringDedupCleaningTask, >> CodeCacheUnloadingTask and etc. So, it should still remain in "shared". >> >> What you think? >> >> Thanks, >> >> -Zhengyu >> >> >> >> On 7/18/19 6:02 AM, Thomas Schatzl wrote: >>> Hi, >>> >>> On Wed, 2019-07-17 at 14:13 -0400, Zhengyu Gu wrote: >>>> >>>> On 7/17/19 2:03 PM, Thomas Schatzl wrote: >>>>> Hi, >>>>> >>>>> On Wed, 2019-07-17 at 13:41 -0400, Zhengyu Gu wrote: >>>>>> Currently, Shenandoah uses shared ParallelCleaningTask to perform >>>>>> STW cleaning task, the cleaning task performs class unloading >>>>>> along >>>>> >>>>> ??? since the ParallelCleaningTask has originally moved from g1 code >>>>> to shared to allow use with Shenandoah, now that the code is not >>>>> used by Shenandoah any more, please move ParallelCleaningTask back >>>>> to G1 specific code. >>>> >>>> Sure. Filed JDK-8227927. >>> >>> I would think that it is appropriate to include the move to G1 code >>> part of this change, but I am okay if you want to do it separately. >>> >>> Thanks, >>> ?? Thomas >>> >>> > From thomas.schatzl at oracle.com Mon Jul 22 12:41:39 2019 From: thomas.schatzl at oracle.com (Thomas Schatzl) Date: Mon, 22 Jul 2019 14:41:39 +0200 Subject: RFR 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task In-Reply-To: <2f4bb88a-879a-9fa5-fdb4-924438b855f1@redhat.com> References: <37d789394b13cb9e38f30182f7a8cb8de1cfe16d.camel@oracle.com> <39bc59e9-5d8a-2685-dafd-ee64d2b93f3a@redhat.com> <54d4a24d5e619cfba095352c82ff4c8721080226.camel@oracle.com> <062a1d72-db50-fa8d-ef00-4cdc8dcd9591@redhat.com> <2735142e-4073-b1fe-9e25-7996f8bb5d01@redhat.com> <2f4bb88a-879a-9fa5-fdb4-924438b855f1@redhat.com> Message-ID: Hi Zhengyu, On Mon, 2019-07-22 at 07:50 -0400, Zhengyu Gu wrote: > > On 7/22/19 7:30 AM, Roman Kennke wrote: > > Yes, I think it should still remain in gc/shared as long as > > Shenandoah is using (parts of) it. > > Thanks for reviewing, Roman. > > I think we will just move "ParallelCleaningTask" back to G1 and keep > subtasks in shared. > Makes sense. Thank you. Thanks, Thomas From zgu at redhat.com Mon Jul 22 23:42:05 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 22 Jul 2019 19:42:05 -0400 Subject: RFR 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() Message-ID: Concurrent evacuating OopStorage backed roots, may race against OopStorage::release() calls. Therefore, it needs to update the roots with Atomic::cmpxchg(), to avoid overwriting the roots if they are released. Since I could not reproduce the problem seen in nightly, let's push to shenandoah-jdk, and verify the fix there. Bug: https://bugs.openjdk.java.net/browse/JDK-8228490 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228490/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) jcstress fastdebug Thanks, -Zhengyu From rkennke at redhat.com Tue Jul 23 07:40:56 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 Jul 2019 09:40:56 +0200 Subject: RFR 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() In-Reply-To: References: Message-ID: Looks good, thanks! Roman > Concurrent evacuating OopStorage backed roots, may race against > OopStorage::release() calls. Therefore, it needs to update the roots > with Atomic::cmpxchg(), to avoid overwriting the roots if they are > released. > > Since I could not reproduce the problem seen in nightly, let's push to > shenandoah-jdk, and verify the fix there. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228490 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228490/webrev.00/index.html > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? jcstress fastdebug > > Thanks, > > -Zhengyu > From zgu at redhat.com Tue Jul 23 11:00:43 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 23 Jul 2019 11:00:43 +0000 Subject: hg: shenandoah/jdk: 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() Message-ID: <201907231100.x6NB0iuX026070@aojmv0008.oracle.com> Changeset: d7e4f2cab192 Author: zgu Date: 2019-07-22 16:32 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d7e4f2cab192 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp From zgu at redhat.com Tue Jul 23 15:40:51 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 23 Jul 2019 11:40:51 -0400 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration In-Reply-To: <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> References: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> Message-ID: <65861fca-415c-ffc3-8ca3-862bcf4cfeb8@redhat.com> Updated: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.01/ On 7/3/19 4:47 AM, Aleksey Shipilev wrote: > On 7/2/19 6:51 PM, Zhengyu Gu wrote: >> This refactor is one of subtasks for concurrent nmethod unloading [1]. >> >> It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation for more complicated >> concurrent nmethod iteration. >> >> Borrowing what ZGC does, only records oops embedded in relocation stream to reduce memory footprint. >> Also, attaches ShenandoahNMethod to nmethod's gc_data, so that it avoids additional searching during >> re-register nmethod. >> >> Let's use shenandoah/jdk for concurrent nmethod unloading work, while we stabilize early concurrent >> root work in jdk/jdk. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ > > I have several design concerns here: > > *) The ability to attach binary blob data to nmethod only exists since JDK 12 (JDK-8214056), which > would break the backporting. Current code deliberately does its own thing, so that it works everywhere. Dropped attaching ShenandoahNMethod to nmethod to maintain backportability. > > *) If you use nmethod data, you need to implement CollectedHeap::flush_nmethod that would delete > ShenandoahNMethod, otherwise this would leak memory. > > *) Scanning relocation stream only might be an interesting thing to do, but I think the performance > improvements we would get from this does not justify the risks of avoiding "proper" oops_do, > especially after code roots are scanned concurrently. Added assert to ensure the results are match with ShenandoahNMethodOopDetector. Reran hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu > > Can you say what exactly do you need to enable "more complicated concurrent nmethod iteration"? > > -Aleksey > From zgu at redhat.com Tue Jul 23 19:42:21 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 23 Jul 2019 15:42:21 -0400 Subject: RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() Message-ID: Shenandoah needs to take slow path when resolving jobject during evacuation phase, to ensure it resolves to-space oops. Bug: https://bugs.openjdk.java.net/browse/JDK-8228532 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and aarch64. Thanks, -Zhengyu From shade at redhat.com Wed Jul 24 08:49:30 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 Jul 2019 10:49:30 +0200 Subject: Shenandoah and 11.0.5 backports Message-ID: <1f9b7a12-6e22-c5e4-4401-4d968e213d21@redhat.com> Hi, Some of our Shenandoah/11 backports require changes that are backported in 11.0.5. Unfortunately, those changes are not yet in jdk-updates/jdk11u, because the pre-release fork for 11.0.5 had not yet started. What can we do at this point? I see these ways out: a) Pull jdk-updates/jdk11u-dev (notice -dev) to sh/jdk11. This goes against our usual process of only pulling from "stable" jdk-updates/jdk11u. The upside is that we don't have to coordinate. The downside is we would temporarily "leak" all non-stable backports that are currently destined to 11.0.5 into our "integration repo". b) Cherry-pick required changes to sh/jdk11, and then wait for the final merge to render the difference against upstream nil. The upside is that we are completely isolated from upstream processes. The downside is that we would have double changesets after all this is done, and also we would temporarily "leak" some backports from 11.0.5 into our "integration repo". c) Ask 11u updates project to tag 11.0.5+1 and push it to jdk-updates/jdk11u, then we pick it up via the regular channel. The upside is that this path would not be exceptional. The downside is that we would need to coordinate such a push in upstream. I am leaning towards (a), then (b), then (c). Opinions? -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 24 09:12:48 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 24 Jul 2019 11:12:48 +0200 Subject: Shenandoah and 11.0.5 backports In-Reply-To: <1f9b7a12-6e22-c5e4-4401-4d968e213d21@redhat.com> References: <1f9b7a12-6e22-c5e4-4401-4d968e213d21@redhat.com> Message-ID: <7950c885-1034-edf7-3cf0-f77d07195a58@redhat.com> Since the fixes coming from 11.0.5 only affect performance: https://bugs.openjdk.java.net/browse/JDK-8224580 and runs with -XX:+EliminateLocks: https://bugs.openjdk.java.net/browse/JDK-8217990 (if I understand correctly) ... we could also go ahead and push the backports and wait until the fixes arrive through the usual channels. Or we could just wait until the fixes arrived via the usual channels. How long would that take? Could we accept this? Roman > Hi, > > Some of our Shenandoah/11 backports require changes that are backported in 11.0.5. Unfortunately, > those changes are not yet in jdk-updates/jdk11u, because the pre-release fork for 11.0.5 had not yet > started. What can we do at this point? > > I see these ways out: > > a) Pull jdk-updates/jdk11u-dev (notice -dev) to sh/jdk11. This goes against our usual process of > only pulling from "stable" jdk-updates/jdk11u. The upside is that we don't have to coordinate. The > downside is we would temporarily "leak" all non-stable backports that are currently destined to > 11.0.5 into our "integration repo". > > b) Cherry-pick required changes to sh/jdk11, and then wait for the final merge to render the > difference against upstream nil. The upside is that we are completely isolated from upstream > processes. The downside is that we would have double changesets after all this is done, and also we > would temporarily "leak" some backports from 11.0.5 into our "integration repo". > > c) Ask 11u updates project to tag 11.0.5+1 and push it to jdk-updates/jdk11u, then we pick it up > via the regular channel. The upside is that this path would not be exceptional. The downside is that > we would need to coordinate such a push in upstream. > > I am leaning towards (a), then (b), then (c). Opinions? > > From shade at redhat.com Wed Jul 24 09:17:53 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 Jul 2019 11:17:53 +0200 Subject: Shenandoah and 11.0.5 backports In-Reply-To: <7950c885-1034-edf7-3cf0-f77d07195a58@redhat.com> References: <1f9b7a12-6e22-c5e4-4401-4d968e213d21@redhat.com> <7950c885-1034-edf7-3cf0-f77d07195a58@redhat.com> Message-ID: On 7/24/19 11:12 AM, Roman Kennke wrote: > Or we could just wait until the fixes arrived via the usual channels. > How long would that take? Could we accept this? Not sure. I mean, we can go ahead and try, but I believe at least JDK-8224580 is invalidating the invariant that LRB slowpath expects. I remember we were chasing the bad bug there. So if that bug happens again in sh/jdk11 after backports land, then what do we do? -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 24 09:26:25 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 24 Jul 2019 11:26:25 +0200 Subject: Shenandoah and 11.0.5 backports In-Reply-To: References: <1f9b7a12-6e22-c5e4-4401-4d968e213d21@redhat.com> <7950c885-1034-edf7-3cf0-f77d07195a58@redhat.com> Message-ID: <83a6a41c-6815-106d-8842-ea965214be0d@redhat.com> >> Or we could just wait until the fixes arrived via the usual channels. >> How long would that take? Could we accept this? > > Not sure. I mean, we can go ahead and try, but I believe at least JDK-8224580 is invalidating the > invariant that LRB slowpath expects. I remember we were chasing the bad bug there. So if that bug > happens again in sh/jdk11 after backports land, then what do we do? Ah right, this was not performance-only. Nevermind then, we need this to arrive before we go. Roman From zgu at redhat.com Wed Jul 24 15:46:04 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 24 Jul 2019 11:46:04 -0400 Subject: RFR 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() Message-ID: <968310d7-8303-5c86-3804-b095b42eb20c@redhat.com> Concurrent evacuating OopStorage backed roots, may race against OopStorage::release() calls. Therefore, it needs to update the roots with Atomic::cmpxchg(), to avoid overwriting the roots if they are released. Bug: https://bugs.openjdk.java.net/browse/JDK-8228490 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228490/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) jcstress fastdebug nightly tests Thanks, -Zhengyu From rkennke at redhat.com Wed Jul 24 15:53:25 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 24 Jul 2019 17:53:25 +0200 Subject: RFR 8228490: Shenandoah: Shenandoah concurrent root evacuation may race against OopStorage::release() In-Reply-To: <968310d7-8303-5c86-3804-b095b42eb20c@redhat.com> References: <968310d7-8303-5c86-3804-b095b42eb20c@redhat.com> Message-ID: <7b13f03f-ffb6-4248-1563-5cd58f8c9ea0@redhat.com> We have the fix in shenandoah/jdk already, and it seems to resolve the trouble. Patch looks good! Thanks, Roman > Concurrent evacuating OopStorage backed roots, may race against > OopStorage::release() calls. Therefore, it needs to update the roots > with Atomic::cmpxchg(), to avoid overwriting the roots if they are > released. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228490 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228490/webrev.00/index.html > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? jcstress fastdebug > ? nightly tests > > Thanks, > > -Zhengyu From zgu at redhat.com Thu Jul 25 13:01:07 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 25 Jul 2019 09:01:07 -0400 Subject: RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() In-Reply-To: References: Message-ID: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> Further tests discovered some issues with this patch, I would like to withdraw this RFR for now. Thanks, -Zhengyu On 7/23/19 3:42 PM, Zhengyu Gu wrote: > Shenandoah needs to take slow path when resolving jobject during > evacuation phase, to ensure it resolves to-space oops. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228532 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.00/index.html > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and > aarch64. > > > Thanks, > > -Zhengyu From zgu at redhat.com Fri Jul 26 01:18:22 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 25 Jul 2019 21:18:22 -0400 Subject: RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() In-Reply-To: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> Message-ID: <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Updated Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.01/ On X86 platforms, r15 does not have valid thread value, instead, it should be derived from jni_env argument. Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64, x86_32 Windows x86_64. Thanks, -Zhengyu On 7/25/19 9:01 AM, Zhengyu Gu wrote: > Further tests discovered some issues with this patch, I would like to > withdraw this RFR for now. > > Thanks, > > -Zhengyu > > On 7/23/19 3:42 PM, Zhengyu Gu wrote: >> Shenandoah needs to take slow path when resolving jobject during >> evacuation phase, to ensure it resolves to-space oops. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8228532 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.00/index.html >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and >> aarch64. >> >> >> Thanks, >> >> -Zhengyu From rkennke at redhat.com Fri Jul 26 09:46:22 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 26 Jul 2019 11:46:22 +0200 Subject: RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() In-Reply-To: <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: <8241fd2e-4873-399d-73fd-df861f1a5592@redhat.com> Looks good, thanks! Roman > Updated Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.01/ > > On X86 platforms, r15 does not have valid thread value, instead, it > should be derived from jni_env argument. > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on > ? Linux x86_64, x86_32 > ? Windows x86_64. > > Thanks, > > -Zhengyu > > > On 7/25/19 9:01 AM, Zhengyu Gu wrote: >> Further tests discovered some issues with this patch, I would like to >> withdraw this RFR for now. >> >> Thanks, >> >> -Zhengyu >> >> On 7/23/19 3:42 PM, Zhengyu Gu wrote: >>> Shenandoah needs to take slow path when resolving jobject during >>> evacuation phase, to ensure it resolves to-space oops. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228532 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228532/webrev.00/index.html >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 and >>> aarch64. >>> >>> >>> Thanks, >>> >>> -Zhengyu From zgu at redhat.com Fri Jul 26 12:55:07 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 26 Jul 2019 08:55:07 -0400 Subject: Cherry-pick: Concurrent class unloading related changes Message-ID: <04ba567e-5fc6-370a-925a-0e92596b9e0d@redhat.com> I would like to cherry-pick following concurrent class unloading related changes to shenandoah/jdk: JDK-8227755: Need more than 2 distinct CodeCache unloading cycles JDK-8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task JDK-8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load JDK-8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/conc-unloading-cherry-pick/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Fri Jul 26 13:54:16 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 26 Jul 2019 15:54:16 +0200 Subject: Cherry-pick: Concurrent class unloading related changes In-Reply-To: <04ba567e-5fc6-370a-925a-0e92596b9e0d@redhat.com> References: <04ba567e-5fc6-370a-925a-0e92596b9e0d@redhat.com> Message-ID: <48b7709f-b82e-2d88-0262-6bbfc131d531@redhat.com> Ok Roman > I would like to cherry-pick following concurrent class unloading related > changes to shenandoah/jdk: > > JDK-8227755: Need more than 2 distinct CodeCache unloading cycles > JDK-8227866: Shenandoah: Split weak root processing and class unloading > in parallel cleaning task > JDK-8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load > JDK-8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/conc-unloading-cherry-pick/webrev.00/ > > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu > > From zgu at redhat.com Fri Jul 26 14:00:57 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Fri, 26 Jul 2019 14:00:57 +0000 Subject: hg: shenandoah/jdk: 4 new changesets Message-ID: <201907261400.x6QE0vj3005604@aojmv0008.oracle.com> Changeset: 4e4284b7f36e Author: zgu Date: 2019-07-23 15:33 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4e4284b7f36e Cherry-pick: 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp Changeset: cb5898c77284 Author: zgu Date: 2019-07-13 12:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cb5898c77284 Cherry-pick: 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load Reviewed-by: rkennke, roland ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp Changeset: 0c9b8155619a Author: zgu Date: 2019-07-13 12:15 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0c9b8155619a Cherry-pick: 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.cpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 6e6f9b3bf016 Author: zgu Date: 2019-07-17 08:33 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e6f9b3bf016 Cherry-pick: 8227755: Need more than 2 distinct CodeCache unloading cycles Reviewed-by: eosterlund, rkennke ! src/hotspot/share/code/codeCache.cpp From zgu at redhat.com Fri Jul 26 19:38:11 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 26 Jul 2019 15:38:11 -0400 Subject: RFR(L) 8228665: Shenandoah: Implementation of Concurrent nmethod evacuation Message-ID: This patch moves nmethod evacuation and disarming into concurrent phase. However, nmethod's liveness is still checked at a pause. This is the last step before we complete concurrent class unloading, where we move class loader and nmethod's liveness check into concurrent evacuation phase. Given the scope of this changes, let's bake it in shenandoah/jdk first, before upstream to jdk/jdk. Bug: https://bugs.openjdk.java.net/browse/JDK-8228665 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) specjvm (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Fri Jul 26 20:28:11 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 26 Jul 2019 22:28:11 +0200 Subject: RFR (sh/jdk11): C2: Always emit arraycopy barriers for Shenandoah Message-ID: Builds for shenandoah/jdk11 are currently failing. It looks like we are not (always) emitting arraycopy barriers. This started happening with LRB backports, and is presumably caused by GC interface difference between jdk13/14 and jdk11 there. The quick fix is: diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp @@ -748,7 +748,7 @@ } bool ShenandoahBarrierSetC2::array_copy_requires_gc_barriers(BasicType type) const { - return false; + return type == T_OBJECT || type == T_ARRAY; } bool ShenandoahBarrierSetC2::clone_needs_postbarrier(ArrayCopyNode *ac, PhaseIterGVN& igvn) { It probably warrants some deeper investigation too, to ensure we're not over-doing it now. I seem to remember this was a bit peculiar. But let's fix the builds and do the correct thing first. Ok? Roman From shade at redhat.com Sun Jul 28 10:28:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 28 Jul 2019 12:28:28 +0200 Subject: RFR (sh/jdk11): C2: Always emit arraycopy barriers for Shenandoah In-Reply-To: References: Message-ID: On 7/26/19 10:28 PM, Roman Kennke wrote: > Builds for shenandoah/jdk11 are currently failing. It looks like we are > not (always) emitting arraycopy barriers. This started happening with > LRB backports, and is presumably caused by GC interface difference > between jdk13/14 and jdk11 there. > > The quick fix is: > diff --git > a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp > b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp > --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp > +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp > @@ -748,7 +748,7 @@ > } > > bool ShenandoahBarrierSetC2::array_copy_requires_gc_barriers(BasicType > type) const { > - return false; > + return type == T_OBJECT || type == T_ARRAY; > } > > bool ShenandoahBarrierSetC2::clone_needs_postbarrier(ArrayCopyNode *ac, > PhaseIterGVN& igvn) { > > It probably warrants some deeper investigation too, to ensure we're not > over-doing it now. I seem to remember this was a bit peculiar. But let's > fix the builds and do the correct thing first. Ok? Yes, looks good. ShenandoahBarrierSetC2::array_copy_requires_gc_barriers in jdk/jdk is significantly different, but it would normally return "true" for T_OBJECT/T_ARRAY parts -- Thanks, -Aleksey From rkennke at redhat.com Sun Jul 28 11:23:16 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Sun, 28 Jul 2019 11:23:16 +0000 Subject: hg: shenandoah/jdk11: C2: Always emit arraycopy barriers for Shenandoah Message-ID: <201907281123.x6SBNHg5007900@aojmv0008.oracle.com> Changeset: be804150fdf2 Author: rkennke Date: 2019-07-26 22:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/be804150fdf2 C2: Always emit arraycopy barriers for Shenandoah ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp From rkennke at redhat.com Sun Jul 28 20:22:10 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 28 Jul 2019 22:22:10 +0200 Subject: RFR: Merge jdk/jdk jdk-14+7 into shenandoah/jdk Message-ID: <49d26d04-8f00-b7c7-8fbd-160edc57446d@redhat.com> As subject says. I was looking at minor merge conflict in C2 around the runtime call (sfx vs. native-barrier). No problem. Testing: hotspot_gc_shenandoah http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-28/changes.txt Ok? Roman From shade at redhat.com Mon Jul 29 09:13:10 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 29 Jul 2019 11:13:10 +0200 Subject: RFR: Merge jdk/jdk jdk-14+7 into shenandoah/jdk In-Reply-To: <49d26d04-8f00-b7c7-8fbd-160edc57446d@redhat.com> References: <49d26d04-8f00-b7c7-8fbd-160edc57446d@redhat.com> Message-ID: <2820ba6d-5a8f-b129-9953-4c50992cb17e@redhat.com> On 7/28/19 10:22 PM, Roman Kennke wrote: > As subject says. I was looking at minor merge conflict in C2 around the > runtime call (sfx vs. native-barrier). No problem. > > Testing: hotspot_gc_shenandoah > > http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-07-28/changes.txt OK. jdk/jdk is a bit broken at the moment, but those breakages seem to be after jdk-14+7. -- Thanks, -Aleksey From rkennke at redhat.com Mon Jul 29 12:22:41 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 29 Jul 2019 12:22:41 +0000 Subject: hg: shenandoah/jdk: 101 new changesets Message-ID: <201907291222.x6TCMm1e028893@aojmv0008.oracle.com> Changeset: 64330bbb9be5 Author: rkennke Date: 2019-07-17 11:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/64330bbb9be5 8227677: Shenandoah: C2: Make in-native LRB special case of normal LRB Reviewed-by: roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: 9a97b1393e72 Author: redestad Date: 2019-07-17 12:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9a97b1393e72 8227587: Add internal privileged System.loadLibrary Reviewed-by: rriggs, mchung, chegar ! src/java.base/aix/classes/sun/nio/fs/AixNativeDispatcher.java ! src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java ! src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/macosx/classes/sun/nio/fs/UTIFileTypeDetector.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java ! src/java.base/share/classes/java/net/DatagramPacket.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/share/classes/java/util/zip/ZipUtils.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/sun/net/sdp/SdpSupport.java ! src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java ! src/java.base/share/classes/sun/nio/ch/IOUtil.java ! src/java.base/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java ! src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java ! src/java.base/unix/classes/sun/net/PortConfig.java ! src/java.base/unix/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/windows/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/java.base/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java ! src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java Changeset: 7b7df2be6219 Author: ccheung Date: 2019-07-12 08:40 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b7df2be6219 8226406: JVM fails to detect mismatched or corrupt CDS archive Summary: Check important archive header fields such as _jvm_ident before processing other fields. Reviewed-by: iklam, jiangli ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/prims/cdsoffsets.cpp ! test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java ! test/hotspot/jtreg/runtime/appcds/TestCommon.java Changeset: 7eb1f8d4a4e9 Author: stuefe Date: 2019-07-04 11:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7eb1f8d4a4e9 8227252: [aix] Disable jdk/java/lang/reflect/exeCallerAccessTest Reviewed-by: goetz ! test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java Changeset: 7e04ccc598e0 Author: clanger Date: 2019-07-12 21:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7e04ccc598e0 8227636: Fix output dir for jlink_jre target in Images.gmk Reviewed-by: tbell ! make/Images.gmk Changeset: 7fd4446c02ee Author: plevart Date: 2019-07-13 10:43 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7fd4446c02ee 8227368: EnumSet.class serialization broken in JDK 9+ Reviewed-by: smarks ! src/java.base/share/classes/java/util/EnumSet.java ! test/jdk/java/util/EnumSet/BogusEnumSet.java + test/jdk/java/util/EnumSet/EnumSetClassSerialization.java Changeset: 284ac8027efa Author: ccheung Date: 2019-07-15 09:53 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/284ac8027efa 8227496: Update NUM_CDS_REGIONS and CURRENT_CDS_ARCHIVE_VERSION in cds.h Reviewed-by: jiangli ! src/hotspot/share/include/cds.h Changeset: 04d80e7ad3f4 Author: serb Date: 2019-07-15 16:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/04d80e7ad3f4 8226653: [accessibility] Can edit text cell correctly, but Accessibility Tool reads nothing about editor Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java ! src/java.desktop/share/classes/javax/swing/JTable.java + test/jdk/javax/accessibility/JTable/JTableCellEditor.java Changeset: 1bb102c1cf27 Author: jlahoda Date: 2019-07-16 10:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1bb102c1cf27 8227640: javac crashes on text blocks with invalid escapes. Summary: Do not translate escape sequences if text block contains illegal escapes. Reviewed-by: jlaskey ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java + test/langtools/tools/javac/TextBlockIllegalEscape.java + test/langtools/tools/javac/TextBlockIllegalEscape.out Changeset: 20c686ec8135 Author: alitvinov Date: 2019-07-16 15:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/20c686ec8135 8227392: Colors with alpha are painted incorrectly on Linux, after JDK-8214579 8224825: java/awt/Color/AlphaColorTest.java fails in linux-x64 system Reviewed-by: prr ! src/java.desktop/unix/classes/sun/java2d/xr/XRSurfaceData.java ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Color/AlphaColorTest.java Changeset: 339e544d59e3 Author: smarks Date: 2019-01-23 14:45 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/339e544d59e3 8213432: Better copies of CopiesList Reviewed-by: rriggs, skoivu, ahgross, robm, rhalade, jeff ! src/java.base/share/classes/java/util/Collections.java Changeset: 6bb46e2777ab Author: weijun Date: 2019-01-30 10:51 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6bb46e2777ab 8217563: Improve realm maintenance Reviewed-by: mullan, mschoene, valeriep ! src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m Changeset: 04cccf60fe44 Author: prappo Date: 2019-01-30 14:14 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/04cccf60fe44 8213431: Improve file protocol handling Reviewed-by: chegar, dfuchs, igerasim, rhalade, weijun ! src/java.base/windows/classes/sun/net/www/protocol/file/Handler.java + src/java.base/windows/classes/sun/net/www/protocol/file/UNCFileURLConnection.java Changeset: e0f5ad90737c Author: mullan Date: 2019-02-07 08:47 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e0f5ad90737c 8216381: More limited privilege usage Reviewed-by: ahgross, coffeys, rhalade ! src/java.base/share/classes/java/security/AccessController.java Changeset: e29d7fea0e4d Author: xuelei Date: 2019-02-27 13:58 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e29d7fea0e4d 8218863: Better endpoint checks Reviewed-by: ahgross, jnimeh, mullan, rhalade ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: b8a12f53226e Author: jnimeh Date: 2019-03-07 22:19 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b8a12f53226e 8219775: Certificate validation improvements Reviewed-by: ascarpino, ssahoo, skoivu ! src/java.base/share/classes/sun/security/util/DerIndefLenConverter.java Changeset: 2b0acaf92ecc Author: serb Date: 2019-03-27 00:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2b0acaf92ecc 8220517: Enhanced GIF support Reviewed-by: aivanov, ssahoo, mschoene, prr ! src/java.desktop/macosx/native/libsplashscreen/splashscreen_sys.m Changeset: ce3598fceb87 Author: darcy Date: 2019-03-28 14:18 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ce3598fceb87 8212328: Exceptional throw cases Reviewed-by: smarks, rriggs, igerasim, ahgross, skoivu ! src/java.base/share/classes/java/lang/Throwable.java Changeset: 18130ed28231 Author: jnimeh Date: 2019-04-03 13:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/18130ed28231 8221345: Better Poly1305 support Reviewed-by: apetcher, mschoene, rhalade ! src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java Changeset: 0c143aaa2c99 Author: dfuchs Date: 2019-04-10 15:49 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0c143aaa2c99 8221518: Normalize normalization Reviewed-by: chegar, igerasim, ahgross, rhalade ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLStreamHandler.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java Changeset: 107c8ea4f7c8 Author: serb Date: 2019-04-10 14:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/107c8ea4f7c8 8218876: Improve PNG support options Reviewed-by: prr, rhalade, mschoene ! src/java.desktop/share/native/libsplashscreen/libpng/png.c Changeset: 6cd74f29752c Author: xuelei Date: 2019-04-11 17:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6cd74f29752c 8218873: Improve JSSE endpoint checking Reviewed-by: mullan, ahgross, rhalade ! src/java.base/share/classes/sun/security/util/HostnameChecker.java Changeset: e17ec6bc670a Author: weijun Date: 2019-04-23 08:34 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e17ec6bc670a 8222751: closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail Reviewed-by: jnimeh, ascarpino, ssahoo, skoivu ! src/java.base/share/classes/sun/security/util/DerIndefLenConverter.java ! src/java.base/share/classes/sun/security/util/KeyStoreDelegator.java Changeset: e2af6324d67c Author: jnimeh Date: 2019-05-02 17:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e2af6324d67c 8222678: Improve TLS negotiation Reviewed-by: mullan, rhalade, mschoene ! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java ! src/java.base/share/classes/sun/security/ssl/CertificateRequest.java ! src/java.base/share/classes/sun/security/ssl/CertificateStatus.java ! src/java.base/share/classes/sun/security/ssl/ServerHelloDone.java ! src/java.base/share/classes/sun/security/ssl/ServerKeyExchange.java Changeset: a5d52b0e3798 Author: henryjen Date: 2019-07-17 00:21 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a5d52b0e3798 Merge Changeset: 2b4e14968afd Author: mikael Date: 2019-07-17 04:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2b4e14968afd Merge ! src/hotspot/share/memory/filemap.cpp ! src/java.base/share/classes/java/lang/Throwable.java ! test/hotspot/jtreg/runtime/appcds/TestCommon.java Changeset: 9fbc32392798 Author: zgu Date: 2019-07-13 12:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9fbc32392798 8227635: Shenandoah: SHBSA::load_at() needs to deal IN_NATIVE load Reviewed-by: rkennke, roland ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp Changeset: 4888ccfc234e Author: ysuenaga Date: 2019-07-17 23:22 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4888ccfc234e 8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134" Reviewed-by: sspitsyn, cjplummer ! src/hotspot/share/runtime/os.cpp Changeset: dec1d532c000 Author: tschatzl Date: 2019-07-17 16:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dec1d532c000 8226232: Move merge heap roots code out from G1RemSetScanState Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp Changeset: 6891a4438ae6 Author: tschatzl Date: 2019-07-17 16:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6891a4438ae6 8227671: G1: assert_used_and_recalculate_used_equal performs work in product builds Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp Changeset: 5ee183a90e65 Author: tschatzl Date: 2019-07-17 16:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5ee183a90e65 8227084: Add timing information for merge heap root preparation Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java Changeset: 95706898c3ea Author: tschatzl Date: 2019-07-17 16:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/95706898c3ea 8227089: Add timing information for merging humongous remembered sets Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 3504188512e2 Author: tschatzl Date: 2019-07-17 16:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3504188512e2 8227090: G1 does not account the OptMergeRS in cost per card calculation Reviewed-by: sangheki, kbarrett ! src/hotspot/share/gc/g1/g1Policy.cpp Changeset: d2188297c6a2 Author: dtitov Date: 2019-07-17 11:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d2188297c6a2 8206179: com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value Reviewed-by: sspitsyn, cjplummer ! test/jdk/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java Changeset: e592d9345632 Author: mikael Date: 2019-07-17 13:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e592d9345632 Added tag jdk-14+6 for changeset 443f7359b34d ! .hgtags Changeset: 070ffafc4294 Author: bpb Date: 2019-07-17 14:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/070ffafc4294 8131664: Javadoc for PrintStream is now incorrect Reviewed-by: lancea, darcy ! src/java.base/share/classes/java/io/PrintStream.java Changeset: 978350939943 Author: bpb Date: 2019-07-17 14:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/978350939943 8067801: Enforce null check for underlying I/O streams Reviewed-by: lancea ! src/java.base/share/classes/java/io/FilterInputStream.java ! src/java.base/share/classes/java/io/FilterOutputStream.java + test/jdk/java/io/NPETests.java Changeset: 68deaa66130c Author: bpb Date: 2019-07-17 15:12 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/68deaa66130c 8228204: Fix for JDK-8067801 breaks java/io/NegativeInitSize.java Reviewed-by: lancea ! test/jdk/java/io/NegativeInitSize.java Changeset: 94f8a0b34117 Author: bpb Date: 2019-07-17 15:12 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94f8a0b34117 8073213: javadoc of PushbackInputStream methods should specify NullPointerExceptions Reviewed-by: lancea, darcy ! src/java.base/share/classes/java/io/PushbackInputStream.java Changeset: ee23bd3192f7 Author: mbaesken Date: 2019-07-10 11:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ee23bd3192f7 8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows Reviewed-by: jjg, stuefe ! test/langtools/tools/sjavac/IdleShutdown.java Changeset: 5f3df8029bfd Author: mbaesken Date: 2019-07-17 09:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5f3df8029bfd 8227834: build.log output from failing commands : include the hs_error file path in case of crashes in build Reviewed-by: tbell ! make/InitSupport.gmk Changeset: 9cfb9387a9e8 Author: rschmelter Date: 2019-07-18 10:25 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9cfb9387a9e8 8227435: Perf::attach() should not throw a java.lang.Exception Reviewed-by: sspitsyn, clanger, dholmes ! src/hotspot/os/aix/perfMemory_aix.cpp ! src/hotspot/os/bsd/perfMemory_bsd.cpp ! src/hotspot/os/linux/perfMemory_linux.cpp ! src/hotspot/os/solaris/perfMemory_solaris.cpp ! src/hotspot/os/windows/perfMemory_windows.cpp Changeset: 51f5b4c29626 Author: coleenp Date: 2019-07-18 07:06 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/51f5b4c29626 8227766: CheckUnhandledOops is broken in MemAllocator Summary: Save oop created in handle more eagerly, so CheckUnhandledOops doesn't bash it. Reviewed-by: lfoltan, eosterlund ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/unhandledOops.cpp ! src/hotspot/share/services/gcNotifier.cpp + test/hotspot/jtreg/runtime/CheckUnhandledOops/TestOutOfMemory.java Changeset: 08893cf52ee9 Author: rkennke Date: 2019-07-18 13:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/08893cf52ee9 8228364: Shenandoah: Remove unused code from ShenandoahBarrierSetC1 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/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! 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: 2660d47140da Author: ysuenaga Date: 2019-07-18 21:25 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2660d47140da 8227815: Minimal VM: set_state is not a member of AttachListener Reviewed-by: cjplummer ! src/hotspot/share/runtime/os.cpp Changeset: 45133b603c21 Author: bpb Date: 2019-07-18 07:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/45133b603c21 8228338: tools/pack200/TimeStamp.java fails with NullPointerException Reviewed-by: lancea ! src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/java.base/share/classes/sun/net/www/content/text/plain.java Changeset: aeb124322000 Author: kbarrett Date: 2019-07-18 11:54 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/aeb124322000 8227652: SetupOperatorNewDeleteCheck should discuss deleting destructors Summary: Add comment describing deleting destructors Reviewed-by: dholmes ! make/hotspot/lib/CompileJvm.gmk Changeset: ba2bd51ce67e Author: zgu Date: 2019-07-17 08:33 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ba2bd51ce67e 8227755: Need more than 2 distinct CodeCache unloading cycles Reviewed-by: eosterlund, rkennke ! src/hotspot/share/code/codeCache.cpp Changeset: b3ff56f955c8 Author: kbarrett Date: 2019-07-18 14:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b3ff56f955c8 8227653: Add VM Global OopStorage Summary: Replaced conditional JVMCI global storage with VM global storage. Reviewed-by: tschatzl, lfoltan, kvn ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp ! src/hotspot/share/gc/parallel/pcTasks.cpp ! src/hotspot/share/gc/parallel/pcTasks.hpp ! src/hotspot/share/gc/parallel/psMarkSweep.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/parallel/psTasks.cpp ! src/hotspot/share/gc/parallel/psTasks.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/gc/z/zRootsIterator.hpp ! src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/serviceThread.cpp Changeset: 880266b6e5b3 Author: bpb Date: 2019-07-18 17:10 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/880266b6e5b3 8228392: Backout incorrect change done by JDK-8067801 Reviewed-by: lancea ! src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/java.base/share/classes/java/io/FilterInputStream.java ! src/java.base/share/classes/java/io/FilterOutputStream.java ! src/java.base/share/classes/sun/net/www/content/text/plain.java - test/jdk/java/io/NPETests.java ! test/jdk/java/io/NegativeInitSize.java Changeset: 6e1161923897 Author: joehw Date: 2019-07-19 02:40 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e1161923897 8157830: Errors in XSLT stylesheet are not dispatched correctly to ErrorListener Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java + src/java.xml/share/classes/jdk/xml/internal/ErrorHandlerProxy.java + test/jaxp/javax/xml/jaxp/unittest/transform/ErrorListenerTest.java Changeset: fb2b47f0e067 Author: mbaesken Date: 2019-07-16 14:42 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fb2b47f0e067 8227633: avoid comparing this pointers to NULL Reviewed-by: coleenp, mdoerr ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/libadt/set.cpp Changeset: 59d56b8b1a80 Author: mbaesken Date: 2019-07-18 14:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/59d56b8b1a80 8228368: avoid incompatible pointer to integer conversion initializing gint in gtk2_interface Reviewed-by: prr ! src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c Changeset: fa337ff85b9a Author: mdoerr Date: 2019-07-19 10:18 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fa337ff85b9a 8227692: Remove develop feature PrintMallocStatistics Reviewed-by: coleenp, dcubed ! src/hotspot/share/memory/allocation.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/allocation.inline.hpp ! src/hotspot/share/memory/arena.cpp ! src/hotspot/share/memory/arena.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp Changeset: 709913d8ace9 Author: sgehwolf Date: 2019-07-12 19:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/709913d8ace9 8227642: [TESTBUG] Make docker tests podman compatible Reviewed-by: mseledtsov, iignatyev ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 4d421888ad63 Author: mbaesken Date: 2019-07-19 12:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4d421888ad63 8228420: compile error in shenandoahSupport.cpp with clang 9 Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: c6923eaecd7b Author: sgehwolf Date: 2019-07-08 17:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c6923eaecd7b 8227397: Add --with-extra-asflags configure option Reviewed-by: phh ! make/autoconf/flags.m4 ! make/autoconf/spec.gmk.in ! make/hotspot/lib/CompileJvm.gmk Changeset: cff8aad2593f Author: vlivanov Date: 2019-07-19 16:25 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cff8aad2593f 8227260: JNI upcalls should bypass class initialization barrier in c2i adapter Reviewed-by: eosterlund, dholmes, mdoerr, dpochepk ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/thread.cpp ! test/hotspot/jtreg/runtime/clinit/ClassInitBarrier.java ! test/hotspot/jtreg/runtime/clinit/libClassInitBarrier.cpp Changeset: 6f60cfd502c3 Author: redestad Date: 2019-07-19 15:36 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6f60cfd502c3 8228394: Cleanup unused java.net SharedSecrets classes Reviewed-by: alanb, chegar ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/URLClassLoader.java - src/java.base/share/classes/jdk/internal/access/JavaNetSocketAccess.java - src/java.base/share/classes/jdk/internal/access/JavaNetURLClassLoaderAccess.java ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java - test/jdk/sun/misc/ClassLoaderUtil/test.jar Changeset: 014decdb5086 Author: tonyp Date: 2019-07-19 12:39 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/014decdb5086 8227179: Test for new gc+metaspace=info output format Reviewed-by: tschatzl, kbarrett + test/hotspot/jtreg/gc/metaspace/TestSizeTransitions.java Changeset: 8ae33203d600 Author: kbarrett Date: 2019-07-19 16:47 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8ae33203d600 8162929: Enqueuing dirty cards into a single DCQS during GC does not scale Summary: Refactor into G1RedirtyCardsQueue[Set] and G1DirtyCardQueueSet Reviewed-by: tschatzl, sangheki + src/hotspot/share/gc/g1/g1CardTableEntryClosure.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1HotCardCache.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp + src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp + src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp Changeset: b9798272720b Author: mbaesken Date: 2019-07-16 16:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b9798272720b 8227737: avoid implicit-function-declaration on AIX Reviewed-by: clanger, goetz ! src/java.base/aix/native/libjli/java_md_aix.c ! src/java.base/aix/native/libnio/fs/AixNativeDispatcher.c ! src/java.base/unix/native/libjava/childproc.c ! src/java.base/unix/native/libnet/NetworkInterface.c ! src/java.base/unix/native/libnio/ch/FileChannelImpl.c ! src/java.base/unix/native/libnio/ch/Net.c ! src/java.desktop/aix/native/libawt/porting_aix.c Changeset: d645d7ca8ee8 Author: mbaesken Date: 2019-07-17 15:40 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d645d7ca8ee8 8227869: fix wrong format specifiers in os_aix.cpp Reviewed-by: dholmes, mdoerr, clanger ! src/hotspot/os/aix/os_aix.cpp Changeset: 6e97fcd96aee Author: jiefu Date: 2019-07-22 14:31 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e97fcd96aee 8225648: [TESTBUG] java/lang/annotation/loaderLeak/Main.java fails with -Xcomp Reviewed-by: alanb, iklam ! test/jdk/java/lang/annotation/loaderLeak/Main.java Changeset: d48ffad997b1 Author: jlahoda Date: 2019-07-22 12:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d48ffad997b1 8227923: End position of EndElementTree is -1 Summary: Fixing end positions for DocTrees EndElementTree, EntityTree and CommentTree. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java ! test/langtools/tools/javac/doctree/positions/TestPosition.java ! test/langtools/tools/javac/doctree/positions/TestPosition.out ! test/langtools/tools/javac/doctree/positions/TestPositionSource.java Changeset: 07e998f8f816 Author: sgehwolf Date: 2019-07-22 10:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/07e998f8f816 8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 Summary: Move container constant to separate test lib class Reviewed-by: alanb ! test/hotspot/jtreg/TEST.ROOT ! test/jdk/TEST.ROOT ! test/jtreg-ext/requires/VMProps.java + test/lib/jdk/test/lib/Container.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: bbe9c361a477 Author: rschmelter Date: 2019-07-22 14:40 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bbe9c361a477 8227868: jinfo and jstack can fail converting UTF8 output to strings Reviewed-by: sgehwolf, dholmes, cjplummer + src/jdk.jcmd/share/classes/sun/tools/common/PrintStreamPrinter.java ! src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java ! src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java ! src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java + test/jdk/sun/tools/jcmd/JcmdOutputEncodingTest.java ! test/jdk/sun/tools/jstack/BasicJStackTest.java Changeset: bf9fa29bb3dc Author: amenkov Date: 2019-07-22 10:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bf9fa29bb3dc 8227693: HTML error in jdwp-protocol.html Reviewed-by: dcubed, sspitsyn ! make/jdk/src/classes/build/tools/jdwpgen/RootNode.java Changeset: bf8128faace1 Author: zgu Date: 2019-07-13 12:15 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bf8128faace1 8227866: Shenandoah: Split weak root processing and class unloading in parallel cleaning task Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.cpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp + src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: afe8584ac8d9 Author: jjg Date: 2019-07-22 16:10 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/afe8584ac8d9 8222791: Order of evaluation of -link params in Javadoc tool reversed -> regression with split packages Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java + test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java Changeset: 5d7cb195ea1c Author: rpatil Date: 2019-07-11 03:28 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5d7cb195ea1c 8154520: java.time: appendLocalizedOffset() should return the localized "GMT" string Summary: Changes to produce/consume the locale-specific equivalent corresponding to the english string "GMT". Reviewed-by: naoto, rriggs Contributed-by: thejasvi.v.voniadka at oracle.com ! src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java ! test/jdk/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/jdk/java/time/test/java/time/format/TestLocalizedOffsetPrinterParser.java Changeset: d999a1a11485 Author: dholmes Date: 2019-07-23 00:29 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d999a1a11485 8225782: Remove expired flags in JDK 14 Reviewed-by: hseigel ! src/hotspot/share/runtime/arguments.cpp Changeset: 321bddd9afdf Author: mbaesken Date: 2019-07-22 10:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/321bddd9afdf 8228468: awt_Robot.c : format string contains 0 within the string body Reviewed-by: serb ! src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c Changeset: aaa83519e723 Author: mbaesken Date: 2019-07-19 11:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/aaa83519e723 8228426: xlc: switch to clang-style warning disabling Reviewed-by: clanger, mdoerr ! make/autoconf/flags-cflags.m4 ! make/hotspot/lib/CompileJvm.gmk ! make/lib/Awt2dLibraries.gmk Changeset: 2e63fb0a885f Author: ccheung Date: 2019-07-17 08:34 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2e63fb0a885f 8227646: [TESTBUG] appcds/SharedArchiveConsistency timed out Summary: Remove the FileChannel.force() calls. Reviewed-by: dcubed, iklam ! test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java Changeset: afeafa018937 Author: ascarpino Date: 2019-07-17 12:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/afeafa018937 8227551: Session Resumption without Server-Side State off by default Reviewed-by: xuelei, jnimeh, jjiang + open.iml ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java Changeset: e8b8460b191c Author: mikael Date: 2019-07-17 13:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e8b8460b191c Added tag jdk-13+30 for changeset 2e63fb0a885f ! .hgtags Changeset: af4b0fc25bc4 Author: ascarpino Date: 2019-07-17 14:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/af4b0fc25bc4 8226338: Updates to Stateless Resumption Reviewed-by: xuelei, jnimeh ! src/java.base/share/classes/javax/net/ssl/SSLSessionContext.java ! 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 ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java ! test/jdk/ProblemList.txt + test/jdk/sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java Changeset: 347804d623fc Author: rhalade Date: 2019-07-17 16:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/347804d623fc 8048595: problemList failing/ignored manual tests in security-libs Reviewed-by: ascarpino ! test/jdk/ProblemList.txt Changeset: 643978a35f6e Author: mbalao Date: 2019-07-17 12:26 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/643978a35f6e 8227437: S4U2proxy cannot continue because server's TGT cannot be found Reviewed-by: weijun ! src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReqBuilder.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbCred.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsRep.java ! src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsReq.java ! src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/CredentialsUtil.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KRBError.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ReferralsCache.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c ! test/jdk/sun/security/krb5/auto/KDC.java ! test/jdk/sun/security/krb5/auto/ReferralsTest.java Changeset: 94691d8e746f Author: weijun Date: 2019-07-18 08:53 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94691d8e746f 8217375: jarsigner breaks old signature with long lines in manifest Reviewed-by: jjiang, weijun Contributed-by: Philipp Kunz ! src/java.base/share/classes/sun/security/util/ManifestDigester.java ! src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! test/jdk/ProblemList.txt ! test/jdk/sun/security/tools/jarsigner/DiffEnd.java + test/jdk/sun/security/tools/jarsigner/DigestDontIgnoreCase.java + test/jdk/sun/security/tools/jarsigner/EmptyIndividualSectionName.java + test/jdk/sun/security/tools/jarsigner/EmptyJar.java + test/jdk/sun/security/tools/jarsigner/FindHeaderEndVsManifestDigesterFindFirstSection.java + test/jdk/sun/security/tools/jarsigner/InsufficientSectionDelimiter.java + test/jdk/sun/security/tools/jarsigner/MainAttributesConfused.java ! test/jdk/sun/security/tools/jarsigner/OldSig.java + test/jdk/sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java + test/jdk/sun/security/tools/jarsigner/RemoveDifferentKeyAlgBlockFile.java + test/jdk/sun/security/tools/jarsigner/SectionNameContinuedVsLineBreak.java ! test/jdk/sun/security/tools/jarsigner/Utils.java + test/jdk/sun/security/tools/jarsigner/WasSignedByOtherSigner.java ! test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java ! test/jdk/sun/security/tools/jarsigner/compatibility/DetailsOutputStream.java ! test/jdk/sun/security/tools/jarsigner/compatibility/HtmlHelper.java ! test/jdk/sun/security/tools/jarsigner/compatibility/JdkUtils.java ! test/jdk/sun/security/tools/jarsigner/compatibility/README + test/jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java ! test/jdk/sun/security/tools/jarsigner/warnings/Test.java + test/jdk/sun/security/util/ManifestDigester/DigestInput.java + test/jdk/sun/security/util/ManifestDigester/FindSection.java + test/jdk/sun/security/util/ManifestDigester/FindSections.java + test/jdk/sun/security/util/ManifestDigester/LineBreaks.java + test/jdk/sun/security/util/ManifestDigester/ReproduceRaw.java ! test/lib/jdk/test/lib/process/OutputAnalyzer.java Changeset: 388c36110e88 Author: weijun Date: 2019-07-18 13:41 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/388c36110e88 8228342: Add SignTwice.java to problem list Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 7826a2a06f87 Author: eosterlund Date: 2019-07-18 11:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7826a2a06f87 8224674: NMethod state machine is not monotonic Reviewed-by: dlong, coleenp, thartmann ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/z/zNMethod.cpp Changeset: 6236826e44c3 Author: stuefe Date: 2019-07-02 10:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6236826e44c3 8227041: runtime/memory/RunUnitTestsConcurrently.java has a memory leak Reviewed-by: stefank, coleenp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/prims/whitebox.cpp Changeset: 0fb5cc208e71 Author: kbarrett Date: 2019-07-18 09:15 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0fb5cc208e71 8228340: JVMCI deleteGlobalHandle doesn't delete the handle Summary: Add missing call to OopStorage::release() when deleting global handles in JVMCI to prevent handles leak. Reviewed-by: kvn, dlong ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Changeset: b95ebdbf68ca Author: iignatyev Date: 2019-07-18 11:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b95ebdbf68ca 8226910: make it possible to use jtreg's -match via run-test framework Reviewed-by: dholmes, mseledtsov ! doc/building.html ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: ec3103bb9f6c Author: dtitov Date: 2019-07-18 12:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ec3103bb9f6c 8221303: sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java fails due to java.rmi.server.ExportException: Port already in use Reviewed-by: cjplummer, amenkov, sgehwolf ! test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java Changeset: d67e0dfc0674 Author: mbaesken Date: 2019-07-10 11:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d67e0dfc0674 8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows Reviewed-by: jjg, stuefe ! test/langtools/tools/sjavac/IdleShutdown.java Changeset: a0c8d45954a6 Author: naoto Date: 2019-07-22 08:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a0c8d45954a6 8228450: unicode.md and icu.md text should be pre-formatted Reviewed-by: rriggs ! src/java.base/share/legal/icu.md ! src/java.base/share/legal/unicode.md Changeset: 8237929abcd1 Author: ascarpino Date: 2019-07-22 10:39 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8237929abcd1 8228399: Remove mistaken open.iml Reviewed-by: xuelei - open.iml Changeset: 5b5747ed8f34 Author: jjg Date: 2019-07-22 15:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5b5747ed8f34 8228492: Remove pako.md Reviewed-by: mchung - src/jdk.javadoc/share/legal/pako.md Changeset: 0e2453f75881 Author: mikael Date: 2019-07-23 11:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0e2453f75881 Merge ! .hgtags ! src/hotspot/share/jvmci/jvmci.cpp ! src/hotspot/share/jvmci/jvmci.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp - src/jdk.javadoc/share/legal/pako.md Changeset: ab6867688e7a Author: ascarpino Date: 2019-07-18 13:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ab6867688e7a 8228396: Re-enable Stateless Resumption On by default for merge to mainline Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java Changeset: a297f7ab46c3 Author: coleenp Date: 2019-07-23 13:56 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a297f7ab46c3 8228484: Remove NoAllocVerifier because nothing uses it Reviewed-by: hseigel, kbarrett ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/runtime/safepointVerifiers.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 650335128b9d Author: mseledtsov Date: 2019-07-23 11:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/650335128b9d 8227122: [TESTBUG] Create Docker sidecar test cases Summary: Created test cases for container sidecar pattern Reviewed-by: bobv, sgehwolf + test/hotspot/jtreg/containers/docker/EventGeneratorLoop.java + test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 042dfb697624 Author: mchung Date: 2019-07-23 20:03 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/042dfb697624 8219774: Reexamine the initialization of LangReflectAccess shared secret at AccessibleObject:: Reviewed-by: alanb ! src/hotspot/share/classfile/vmSymbols.hpp ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Field.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/java/lang/reflect/Modifier.java ! src/java.base/share/classes/java/lang/reflect/ReflectAccess.java + src/java.base/share/classes/jdk/internal/access/JavaLangReflectAccess.java ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java - src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Changeset: 36e4e50b4255 Author: tschatzl Date: 2019-07-24 11:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/36e4e50b4255 8226913: Scale cards per chunk used during heap root scanning with region size Summary: Scale cards per chunk based on heap size to decrease constant overhead with heap root scanning data structure initialization Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: f6b30bd6804e Author: tschatzl Date: 2019-07-24 11:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f6b30bd6804e 8227719: G1 Pending cards estimation too conservative in cost prediction Summary: Instead of using a coarse prediction for the log buffers, accumulate the actual number directly. Reviewed-by: kbarrett, sangheki ! 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/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.cpp ! src/hotspot/share/gc/g1/g1RedirtyCardsQueue.hpp Changeset: 28ab01c06755 Author: tschatzl Date: 2019-07-24 11:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/28ab01c06755 8228388: Add information about dirty/skipped card for Merge HCC in G1 log Summary: Collect and print informatio about the number of processed cards during the Merge HCC phase to improve log output. Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp + test/hotspot/jtreg/gc/g1/TestNoUseHCC.java Changeset: 40c0f1f47ca5 Author: rkennke Date: 2019-07-28 22:14 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/40c0f1f47ca5 Merge ! .hgtags ! 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/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shared/ptrQueue.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp - src/java.base/share/classes/jdk/internal/access/JavaNetSocketAccess.java - src/java.base/share/classes/jdk/internal/access/JavaNetURLClassLoaderAccess.java - src/java.base/share/classes/jdk/internal/reflect/LangReflectAccess.java - src/jdk.javadoc/share/legal/pako.md ! test/hotspot/jtreg/TEST.ROOT - test/jdk/sun/misc/ClassLoaderUtil/test.jar Changeset: 0d0326d81e52 Author: rkennke Date: 2019-07-29 14:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0d0326d81e52 Merge ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp From zgu at redhat.com Mon Jul 29 12:43:23 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 29 Jul 2019 08:43:23 -0400 Subject: RFR 8228720: Shenandoah: Implementation of concurrent class unloading Message-ID: Please review this implementation of Shenandoah concurrent class unloading. This patch is built on top of concurrent nmethod evacuation and disarming in early patch. It moves class unloading and nmethod liveness check into concurrent evacuation phase. Bug: https://bugs.openjdk.java.net/browse/JDK-8228720 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 specjvm (fastdebug and release) on LInux x86_64. Thanks, -Zhengyu From rwestrel at redhat.com Mon Jul 29 14:29:12 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Mon, 29 Jul 2019 16:29:12 +0200 Subject: RFR: sh/jdk11 assert failure because IfNode input is a Phi Message-ID: <87ftmo29tz.fsf@redhat.com> http://cr.openjdk.java.net/~roland/shenandoah/LRBafterCallUseBool/webrev.00/ Input 1 of an IfNode must not be a Phi node so when cloning an LRB that's right after a call in the exception and fallthrough paths, we must make sure to clone the BoolNode and CmpNode that feed into an IfNode and not introduce a Phi. This fix also applies to upstream and will need to be fixed there. Roland. From rkennke at redhat.com Mon Jul 29 15:03:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 29 Jul 2019 17:03:55 +0200 Subject: RFR: sh/jdk11 assert failure because IfNode input is a Phi In-Reply-To: <87ftmo29tz.fsf@redhat.com> References: <87ftmo29tz.fsf@redhat.com> Message-ID: <59d21867-77d6-8c4a-87a0-d09adc6152dc@redhat.com> I have tested the failing test, run all of specjvm with verification, and hotspot_gc_shenandoah. Looks all good. Please push it to sh/jdk11 and under proper ID to jdk/jdk (I guess we need to rubber stamp it again). Thanks, Roman > http://cr.openjdk.java.net/~roland/shenandoah/LRBafterCallUseBool/webrev.00/ > > Input 1 of an IfNode must not be a Phi node so when cloning an LRB > that's right after a call in the exception and fallthrough paths, we > must make sure to clone the BoolNode and CmpNode that feed into an > IfNode and not introduce a Phi. > > This fix also applies to upstream and will need to be fixed there. > > Roland. > From rwestrel at redhat.com Mon Jul 29 15:08:42 2019 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Mon, 29 Jul 2019 15:08:42 +0000 Subject: hg: shenandoah/jdk11: LRB right after call, use is Bool Message-ID: <201907291508.x6TF8gHU029950@aojmv0008.oracle.com> Changeset: afb629c7d1cc Author: roland Date: 2019-07-29 13:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/afb629c7d1cc LRB right after call, use is Bool ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From rkennke at redhat.com Mon Jul 29 16:25:36 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 29 Jul 2019 18:25:36 +0200 Subject: RFR(L) 8228665: Shenandoah: Implementation of Concurrent nmethod evacuation In-Reply-To: References: Message-ID: Hi Zhengyu, First glance (will need to do another review pass later): - Does it not also need an aarch64 port? - Does it also work on x86_32? - src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp: Why is that change there? - if (!ClassUnloading || !FLAG_IS_CMDLINE(ClassUnloadingWithConcurrentMark)) { + if (!ClassUnloading) { log_info(gc)("Consider -XX:+ClassUnloadingWithConcurrentMark if large pause times " "are observed on class-unloading sensitive workloads"); - src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp: + BarrierSetNMethod* _bs; Make this BarrierSetNMethod* const _bs. Not sure if it makes a difference perf-wise, but it doesn't hurt and might give the compiler a hint. - I guess this partly answers the questions above: +bool ShenandoahConcurrentRoots::can_do_concurrent_nmethods() { +#if defined(_LP64) && defined(X86) && (defined(LINUX) || defined(_WINDOWS)) But why do we deal with LINUX and WINDOWS there? Is there anything OS specific in this codes? - This change will enable class-unloading on every cycle, is that right? Thanks a lot for doing this! This is huge! Roman > This patch moves nmethod evacuation and disarming into concurrent phase. > However, nmethod's liveness is still checked at a pause. > > This is the last step before we complete concurrent class unloading, > where we move class loader and nmethod's liveness check into concurrent > evacuation phase. > > Given the scope of this changes, let's bake it in shenandoah/jdk first, > before upstream to jdk/jdk. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228665 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? specjvm (fastdebug and release) > > Thanks, > > -Zhengyu From zgu at redhat.com Mon Jul 29 17:57:08 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 29 Jul 2019 13:57:08 -0400 Subject: RFR(L) 8228665: Shenandoah: Implementation of Concurrent nmethod evacuation In-Reply-To: References: Message-ID: <7c2e6383-6828-bb23-6ca7-56cbd538bcf8@redhat.com> On 7/29/19 12:25 PM, Roman Kennke wrote: > Hi Zhengyu, > > First glance (will need to do another review pass later): > > - Does it not also need an aarch64 port? > - Does it also work on x86_32? Yes, but I guess we have to deal with them later. Let's get Linux x86_64 and Windows 64 in and stabilize them first. > - src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp: > > Why is that change there? > > - if (!ClassUnloading || > !FLAG_IS_CMDLINE(ClassUnloadingWithConcurrentMark)) { > + if (!ClassUnloading) { > log_info(gc)("Consider -XX:+ClassUnloadingWithConcurrentMark if > large pause times " > "are observed on class-unloading sensitive workloads"); We do want to honor ClassUnloadingWithConcurrentMark's default value, if we can do concurrent class unloading. However, I misplaced this change here, should belong to concurrent class unloading changeset. > > - src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp: > > + BarrierSetNMethod* _bs; > > Make this BarrierSetNMethod* const _bs. Not sure if it makes a > difference perf-wise, but it doesn't hurt and might give the compiler a > hint. > Okay. > - I guess this partly answers the questions above: > > +bool ShenandoahConcurrentRoots::can_do_concurrent_nmethods() { > +#if defined(_LP64) && defined(X86) && (defined(LINUX) || defined(_WINDOWS)) > > But why do we deal with LINUX and WINDOWS there? Is there anything OS > specific in this codes? I guess MacOS X and Solaris X86? > > - This change will enable class-unloading on every cycle, is that right? > Right. Again, It should belong to next changeset. Updated: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.01/ Reran hotspot_gc_shenandoah tests Thanks, -Zhengyu > > Thanks a lot for doing this! This is huge! > Roman > > >> This patch moves nmethod evacuation and disarming into concurrent phase. >> However, nmethod's liveness is still checked at a pause. >> >> This is the last step before we complete concurrent class unloading, >> where we move class loader and nmethod's liveness check into concurrent >> evacuation phase. >> >> Given the scope of this changes, let's bake it in shenandoah/jdk first, >> before upstream to jdk/jdk. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8228665 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) >> ? specjvm (fastdebug and release) >> >> Thanks, >> >> -Zhengyu > From zgu at redhat.com Mon Jul 29 18:46:04 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 29 Jul 2019 14:46:04 -0400 Subject: RFR 8228720: Shenandoah: Implementation of concurrent class unloading In-Reply-To: References: Message-ID: <6cfb5406-0df9-1047-411b-ef7bbfcc7162@redhat.com> Updated Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.01/ Moved GC argument setting and default class unloading frequency value from early concurrent nmethod changes to this changeset. Reran hotspot_gc_shenandoah tests. Thanks, -Zhengyu On 7/29/19 8:43 AM, Zhengyu Gu wrote: > Please review this implementation of Shenandoah concurrent class unloading. > > This patch is built on top of concurrent nmethod evacuation and > disarming in early patch. It moves class unloading and nmethod liveness > check into concurrent evacuation phase. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228720 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.00/index.html > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 > ? specjvm (fastdebug and release) on LInux x86_64. > > Thanks, > > -Zhengyu From rkennke at redhat.com Mon Jul 29 22:28:19 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 00:28:19 +0200 Subject: RFR (sh/jdk11): Relax Shenandoah/C2 verifier against JDK11 shortcomings Message-ID: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> Nightlies still fail because our C2 verifier complains a bunch of things: - It wants an LRB after a mirror-load. However, mirror-loads are not guarded by a barrier in jdk11, and doesn't have to. Mirrors are immutable so we don't care. Let's keep it simple and let the verifier shut up ;-) - A couple of intrinsics are a bit careless and don't check+cast their inputs to not-null. Our verifier doesn't like. Let's special-case them and silence the verifier. (We might want to fix the cases via jdk11u properly.) http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.00/ Testing: checked the failing tests, hotspot_gc_shenandoah Ok to push? Roman From shade at redhat.com Tue Jul 30 09:45:58 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 Jul 2019 11:45:58 +0200 Subject: RFR (sh/jdk11): Relax Shenandoah/C2 verifier against JDK11 shortcomings In-Reply-To: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> References: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> Message-ID: <7e49105d-ff03-ef81-3fd0-5dd1e8aea3bc@redhat.com> On 7/30/19 12:28 AM, Roman Kennke wrote: > - A couple of intrinsics are a bit careless and don't check+cast their > inputs to not-null. Our verifier doesn't like. Let's special-case them > and silence the verifier. (We might want to fix the cases via jdk11u > properly.) I understand this is missing in 11u? https://bugs.openjdk.java.net/browse/JDK-8209684 > http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.00/ Please put "TODO:" in the comments, and maybe reference the bug above? -- Thanks, -Aleksey From rkennke at redhat.com Tue Jul 30 12:08:12 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 14:08:12 +0200 Subject: RFR (sh/jdk11): Relax Shenandoah/C2 verifier against JDK11 shortcomings In-Reply-To: <7e49105d-ff03-ef81-3fd0-5dd1e8aea3bc@redhat.com> References: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> <7e49105d-ff03-ef81-3fd0-5dd1e8aea3bc@redhat.com> Message-ID: <6fc26d92-0c98-e10b-25fb-8a577dec7854@redhat.com> We determined (on IRC) that the check for null-inputs doesn't do anything useful in post-LRB-world: there are no barriers directly feeding into intrinsics, and therefore doesn't make a difference whether or not the input comes as not-null-type or not. Let's remove the test in sh/jdk11 to make nightlies happy, and also in -dev: updated webrev: http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.01/ Bug for -dev: https://bugs.openjdk.java.net/browse/JDK-8228775 or we can fix it in jdk/jdk real quick first, then cherry-pick it to sh/11. What do you think? Roman > On 7/30/19 12:28 AM, Roman Kennke wrote: >> - A couple of intrinsics are a bit careless and don't check+cast their >> inputs to not-null. Our verifier doesn't like. Let's special-case them >> and silence the verifier. (We might want to fix the cases via jdk11u >> properly.) > > I understand this is missing in 11u? > https://bugs.openjdk.java.net/browse/JDK-8209684 > >> http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.00/ > > Please put "TODO:" in the comments, and maybe reference the bug above? > From rkennke at redhat.com Tue Jul 30 13:14:50 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 15:14:50 +0200 Subject: RFR: JDK-8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier Message-ID: <721cf09e-8499-fb37-6a31-a94ff884ef9f@redhat.com> Post-LRB it doesn't make a difference whether or not inputs to intrinsics have non-null-types or not because no barriers are feeding directly into intrinsics. We can remove the whole check. In sh/jdk11, nightlies are failing because of that, in jdk14 this is only a bunch of useless code. Bug: https://bugs.openjdk.java.net/browse/JDK-8228775 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8228775/webrev.00/ Testing: hotspot_gc_shenandoah Good? Roman From zgu at redhat.com Tue Jul 30 14:56:50 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 30 Jul 2019 10:56:50 -0400 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing Message-ID: Shenandoah pre-evacuates or updates weak roots at STW pauses. Therefore, weak roots should not have forwarded references during mark phase. Current has_forwarded_objects() branch does not break things, but does unncessary works, let's prune it. Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) Thanks, -Zhengyu From rkennke at redhat.com Tue Jul 30 16:43:47 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 18:43:47 +0200 Subject: RFR(L) 8228665: Shenandoah: Implementation of Concurrent nmethod evacuation In-Reply-To: <7c2e6383-6828-bb23-6ca7-56cbd538bcf8@redhat.com> References: <7c2e6383-6828-bb23-6ca7-56cbd538bcf8@redhat.com> Message-ID: <6b455591-cfb0-e276-3b2c-f5863ce2f11e@redhat.com> Ok, looks good to me now. Thanks! Roman > On 7/29/19 12:25 PM, Roman Kennke wrote: >> Hi Zhengyu, >> >> First glance (will need to do another review pass later): >> >> - Does it not also need an aarch64 port? >> - Does it also work on x86_32? > > Yes, but I guess we have to deal with them later. Let's get Linux x86_64 > and Windows 64 in and stabilize them first. > > >> - src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp: >> >> Why is that change there? >> >> -? if (!ClassUnloading || >> !FLAG_IS_CMDLINE(ClassUnloadingWithConcurrentMark)) { >> +? if (!ClassUnloading) { >> ????? log_info(gc)("Consider -XX:+ClassUnloadingWithConcurrentMark if >> large pause times " >> ?????????????????? "are observed on class-unloading sensitive >> workloads"); > > We do want to honor ClassUnloadingWithConcurrentMark's default value, if > we can do concurrent class unloading. > > However, I misplaced this change here, should belong to concurrent class > unloading changeset. > >> >> - src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp: >> >> +? BarrierSetNMethod* _bs; >> >> Make this BarrierSetNMethod* const _bs. Not sure if it makes a >> difference perf-wise, but it doesn't hurt and might give the compiler a >> hint. >> > Okay. > >> - I guess this partly answers the questions above: >> >> +bool ShenandoahConcurrentRoots::can_do_concurrent_nmethods() { >> +#if defined(_LP64) && defined(X86) && (defined(LINUX) || >> defined(_WINDOWS)) >> >> But why do we deal with LINUX and WINDOWS there? Is there anything OS >> specific in this codes? > > I guess MacOS X and Solaris X86? > >> >> - This change will enable class-unloading on every cycle, is that right? >> > > Right. Again, It should belong to next changeset. > > Updated: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.01/ > > Reran hotspot_gc_shenandoah tests > > Thanks, > > -Zhengyu > > > >> >> Thanks a lot for doing this! This is huge! >> Roman >> >> >>> This patch moves nmethod evacuation and disarming into concurrent phase. >>> However, nmethod's liveness is still checked at a pause. >>> >>> This is the last step before we complete concurrent class unloading, >>> where we move class loader and nmethod's liveness check into concurrent >>> evacuation phase. >>> >>> Given the scope of this changes, let's bake it in shenandoah/jdk first, >>> before upstream to jdk/jdk. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228665 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228665/webrev.00/ >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) >>> ?? specjvm (fastdebug and release) >>> >>> Thanks, >>> >>> -Zhengyu >> From rkennke at redhat.com Tue Jul 30 16:46:17 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 18:46:17 +0200 Subject: RFR 8228720: Shenandoah: Implementation of concurrent class unloading In-Reply-To: <6cfb5406-0df9-1047-411b-ef7bbfcc7162@redhat.com> References: <6cfb5406-0df9-1047-411b-ef7bbfcc7162@redhat.com> Message-ID: <8a3e05fb-f52d-32c1-e1dd-9138ed4314d1@redhat.com> It looks good to me. I wonder if we should just remove the ShUnloadClassesFrequency altogether. Probably a good idea to do in a follow-up changeset. Thanks! Roman > Updated Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.01/ > > Moved GC argument setting and default class unloading frequency value > from early concurrent nmethod changes to this changeset. > > Reran hotspot_gc_shenandoah tests. > > Thanks, > > -Zhengyu > > On 7/29/19 8:43 AM, Zhengyu Gu wrote: >> Please review this implementation of Shenandoah concurrent class >> unloading. >> >> This patch is built on top of concurrent nmethod evacuation and >> disarming in early patch. It moves class unloading and nmethod >> liveness check into concurrent evacuation phase. >> >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8228720 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.00/index.html >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 >> ?? specjvm (fastdebug and release) on LInux x86_64. >> >> Thanks, >> >> -Zhengyu From rkennke at redhat.com Tue Jul 30 16:50:58 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 Jul 2019 18:50:58 +0200 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing In-Reply-To: References: Message-ID: I am not sure about this. If final-mark could not finish to pre-evacuate all roots we might have from-space refs there. Or does the OOM-protocol ensure that any ref should be updated correctly? We need to be careful here. Better safe than sorry. Roman > Shenandoah pre-evacuates or updates weak roots at STW pauses. Therefore, > weak roots should not have forwarded references during mark phase. > > Current has_forwarded_objects() branch does not break things, but does > unncessary works, let's prune it. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu From zgu at redhat.com Tue Jul 30 17:26:47 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 30 Jul 2019 13:26:47 -0400 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing In-Reply-To: References: Message-ID: On 7/30/19 12:50 PM, Roman Kennke wrote: > I am not sure about this. If final-mark could not finish to pre-evacuate > all roots we might have from-space refs there. Or does the OOM-protocol > ensure that any ref should be updated correctly? We need to be careful > here. Better safe than sorry. If pre-evacuation fails, it runs degenerated GC cycle and roots are updated in final_updaterefs(). We do have no-forwarded assertion in place, should catch the problem if otherwise. Thanks, -Zhengyu > > Roman > > >> Shenandoah pre-evacuates or updates weak roots at STW pauses. Therefore, >> weak roots should not have forwarded references during mark phase. >> >> Current has_forwarded_objects() branch does not break things, but does >> unncessary works, let's prune it. >> >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) >> >> Thanks, >> >> -Zhengyu > From shade at redhat.com Tue Jul 30 19:30:03 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 Jul 2019 21:30:03 +0200 Subject: RFR: JDK-8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier In-Reply-To: <721cf09e-8499-fb37-6a31-a94ff884ef9f@redhat.com> References: <721cf09e-8499-fb37-6a31-a94ff884ef9f@redhat.com> Message-ID: <2affbf58-373d-7504-5d01-c135aa8d32e5@redhat.com> On 7/30/19 3:14 PM, Roman Kennke wrote: > Post-LRB it doesn't make a difference whether or not inputs to > intrinsics have non-null-types or not because no barriers are feeding > directly into intrinsics. We can remove the whole check. > > In sh/jdk11, nightlies are failing because of that, in jdk14 this is > only a bunch of useless code. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8228775 > Webrev: > http://cr.openjdk.java.net/~rkennke/JDK-8228775/webrev.00/ I do not mind removing this. Looks good. -- Thanks, -Aleksey From zgu at redhat.com Tue Jul 30 20:31:58 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 30 Jul 2019 16:31:58 -0400 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing In-Reply-To: References: Message-ID: On 7/30/19 1:26 PM, Zhengyu Gu wrote: > > > On 7/30/19 12:50 PM, Roman Kennke wrote: >> I am not sure about this. If final-mark could not finish to pre-evacuate >> all roots we might have from-space refs there. Or does the OOM-protocol >> ensure that any ref should be updated correctly? We need to be careful >> here. Better safe than sorry. Actually, you are right. It does not work with traversal. I wonder how the tests passed early. I would like to withdraw this RFR. Thanks, -Zhengyu > > If pre-evacuation fails, it runs degenerated GC cycle and roots are > updated in final_updaterefs(). > > We do have no-forwarded assertion in place, should catch the problem if > otherwise. > > Thanks, > > -Zhengyu > >> >> Roman >> >> >>> Shenandoah pre-evacuates or updates weak roots at STW pauses. Therefore, >>> weak roots should not have forwarded references during mark phase. >>> >>> Current has_forwarded_objects() branch does not break things, but does >>> unncessary works, let's prune it. >>> >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) >>> >>> Thanks, >>> >>> -Zhengyu >> From rkennke at redhat.com Wed Jul 31 08:07:06 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 Jul 2019 10:07:06 +0200 Subject: RFR: (sh/jdk11): [backport] 8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier Message-ID: <4073f19a-7645-ffe5-6014-4c3035250689@redhat.com> Let's backport this real quick to unbreak nightlies. Bug: https://bugs.openjdk.java.net/browse/JDK-8228775 Webrev (transplant applied cleanly, will add [backport] in msg): http://cr.openjdk.java.net/~rkennke/JDK-8228775/webrev.00/ Testing: hotspot_gc_shenandoah, failing specjvm/+ShenandoahVerifyOptoBarriers test Ok? Roman From rkennke at redhat.com Wed Jul 31 08:12:16 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 Jul 2019 10:12:16 +0200 Subject: RFR (sh/jdk11): Relax Shenandoah/C2 verifier against JDK11 shortcomings In-Reply-To: <6fc26d92-0c98-e10b-25fb-8a577dec7854@redhat.com> References: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> <7e49105d-ff03-ef81-3fd0-5dd1e8aea3bc@redhat.com> <6fc26d92-0c98-e10b-25fb-8a577dec7854@redhat.com> Message-ID: <085a94ed-43bf-a59c-2dc2-f86444095719@redhat.com> With backport of JDK-8228775 in place, the fix amounts to: http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.03/ This is truly jdk11-specific, because in jdk13/14 we do actually have barriers on mirror-loads (mostly to support concurrent class unloading). Testing: hotspot_gc_shenandoah and the failing nightly test with +ShenandoahVerifyOptoBarriers Ok? Roman > We determined (on IRC) that the check for null-inputs doesn't do > anything useful in post-LRB-world: there are no barriers directly > feeding into intrinsics, and therefore doesn't make a difference whether > or not the input comes as not-null-type or not. Let's remove the test in > sh/jdk11 to make nightlies happy, and also in -dev: > > updated webrev: > http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.01/ > > Bug for -dev: > https://bugs.openjdk.java.net/browse/JDK-8228775 > > or we can fix it in jdk/jdk real quick first, then cherry-pick it to > sh/11. What do you think? > > Roman > >> On 7/30/19 12:28 AM, Roman Kennke wrote: >>> - A couple of intrinsics are a bit careless and don't check+cast their >>> inputs to not-null. Our verifier doesn't like. Let's special-case them >>> and silence the verifier. (We might want to fix the cases via jdk11u >>> properly.) >> >> I understand this is missing in 11u? >> https://bugs.openjdk.java.net/browse/JDK-8209684 >> >>> http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.00/ >> >> Please put "TODO:" in the comments, and maybe reference the bug above? >> > From shade at redhat.com Wed Jul 31 08:13:32 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 Jul 2019 10:13:32 +0200 Subject: RFR: (sh/jdk11): [backport] 8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier In-Reply-To: <4073f19a-7645-ffe5-6014-4c3035250689@redhat.com> References: <4073f19a-7645-ffe5-6014-4c3035250689@redhat.com> Message-ID: <21b1f001-7da7-099c-8a1c-29b0dcde551a@redhat.com> On 7/31/19 10:07 AM, Roman Kennke wrote: > Let's backport this real quick to unbreak nightlies. > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8228775 > Webrev (transplant applied cleanly, will add [backport] in msg): > http://cr.openjdk.java.net/~rkennke/JDK-8228775/webrev.00/ Okay. -- Thanks, -Aleksey From rkennke at redhat.com Wed Jul 31 08:22:04 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 31 Jul 2019 08:22:04 +0000 Subject: hg: shenandoah/jdk11: [backport] 8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier Message-ID: <201907310822.x6V8M56n018380@aojmv0008.oracle.com> Changeset: 515e449e1d52 Author: rkennke Date: 2019-07-31 10:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/515e449e1d52 [backport] 8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From shade at redhat.com Wed Jul 31 10:34:33 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 Jul 2019 12:34:33 +0200 Subject: RFR (sh/jdk11): Relax Shenandoah/C2 verifier against JDK11 shortcomings In-Reply-To: <085a94ed-43bf-a59c-2dc2-f86444095719@redhat.com> References: <69cdce37-5d1d-a1c2-2776-455433d7338f@redhat.com> <7e49105d-ff03-ef81-3fd0-5dd1e8aea3bc@redhat.com> <6fc26d92-0c98-e10b-25fb-8a577dec7854@redhat.com> <085a94ed-43bf-a59c-2dc2-f86444095719@redhat.com> Message-ID: On 7/31/19 10:12 AM, Roman Kennke wrote: > With backport of JDK-8228775 in place, the fix amounts to: > > http://cr.openjdk.java.net/~rkennke/jdk11-c2-verifier-fixes/webrev.03/ Looks good. -Aleksey From rkennke at redhat.com Wed Jul 31 10:36:10 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 31 Jul 2019 10:36:10 +0000 Subject: hg: shenandoah/jdk11: Relax Shenandoah/C2 verifier against JDK11 shortcomings Message-ID: <201907311036.x6VAaBTg002065@aojmv0008.oracle.com> Changeset: 316fb43a1339 Author: rkennke Date: 2019-07-31 12:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/316fb43a1339 Relax Shenandoah/C2 verifier against JDK11 shortcomings ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp From zgu at redhat.com Wed Jul 31 11:10:21 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 Jul 2019 07:10:21 -0400 Subject: RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration In-Reply-To: <65861fca-415c-ffc3-8ca3-862bcf4cfeb8@redhat.com> References: <46829d0f-6379-1380-e1b0-d3527b34017b@redhat.com> <0cbe9c18-8902-7497-fa6d-b0f6e86d2491@redhat.com> <65861fca-415c-ffc3-8ca3-862bcf4cfeb8@redhat.com> Message-ID: Ping! Thanks, -Zhengyu On 7/23/19 11:40 AM, Zhengyu Gu wrote: > Updated: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.01/ > > On 7/3/19 4:47 AM, Aleksey Shipilev wrote: >> On 7/2/19 6:51 PM, Zhengyu Gu wrote: >>> This refactor is one of subtasks for concurrent nmethod unloading [1]. >>> >>> It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation >>> for more complicated >>> concurrent nmethod iteration. >>> >>> Borrowing what ZGC does, only records oops embedded in relocation >>> stream to reduce memory footprint. >>> Also, attaches ShenandoahNMethod to nmethod's gc_data, so that it >>> avoids additional searching during >>> re-register nmethod. >>> >>> Let's use shenandoah/jdk for concurrent nmethod unloading work, while >>> we stabilize early concurrent >>> root work in jdk/jdk. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8227103 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/ >> >> I have several design concerns here: >> >> ? *) The ability to attach binary blob data to nmethod only exists >> since JDK 12 (JDK-8214056), which >> would break the backporting. Current code deliberately does its own >> thing, so that it works everywhere. > > Dropped attaching ShenandoahNMethod to nmethod to maintain backportability. > >> >> ? *) If you use nmethod data, you need to implement >> CollectedHeap::flush_nmethod that would delete >> ShenandoahNMethod, otherwise this would leak memory. >> >> ? *) Scanning relocation stream only might be an interesting thing to >> do, but I think the performance >> improvements we would get from this does not justify the risks of >> avoiding "proper" oops_do, >> especially after code roots are scanned concurrently. > > Added assert to ensure the results are match with > ShenandoahNMethodOopDetector. > > Reran hotspot_gc_shenandoah (fastdebug and release) > > Thanks, > > -Zhengyu > > >> >> Can you say what exactly do you need to enable "more complicated >> concurrent nmethod iteration"? >> >> -Aleksey >> From zgu at redhat.com Wed Jul 31 13:32:48 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 Jul 2019 09:32:48 -0400 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing In-Reply-To: References: Message-ID: <1ad6e05d-e0a3-7497-4c28-653cb356eb96@redhat.com> Hi Roman, On 7/30/19 4:31 PM, Zhengyu Gu wrote: > > > On 7/30/19 1:26 PM, Zhengyu Gu wrote: >> >> >> On 7/30/19 12:50 PM, Roman Kennke wrote: >>> I am not sure about this. If final-mark could not finish to pre-evacuate >>> all roots we might have from-space refs there. Or does the OOM-protocol >>> ensure that any ref should be updated correctly? We need to be careful >>> here. Better safe than sorry. > > Actually, you are right. It does not work with traversal. I wonder how > the tests passed early. > > I would like to withdraw this RFR. It is not true. Traversal fixes forwarding before processes weak roots, so this patch should work. The failed tests were due to broken builds, they are passed on clean builds, also specjvm tests (normal and traversal mode). Therefore, I would like re-open this RFR. This invariant is important for implementing concurrent weak root processing (JDK-8228818). If you still have concerns, let's push it to shenandoah/jdk, Okay? Thanks, -Zhengyu > > Thanks, > > -Zhengyu > > > >> >> If pre-evacuation fails, it runs degenerated GC cycle and roots are >> updated in final_updaterefs(). >> >> We do have no-forwarded assertion in place, should catch the problem >> if otherwise. >> >> Thanks, >> >> -Zhengyu >> >>> >>> Roman >>> >>> >>>> Shenandoah pre-evacuates or updates weak roots at STW pauses. >>>> Therefore, >>>> weak roots should not have forwarded references during mark phase. >>>> >>>> Current has_forwarded_objects() branch does not break things, but does >>>> unncessary works, let's prune it. >>>> >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ >>>> >>>> Test: >>>> ?? hotspot_gc_shenandoah (fastdebug and release) >>>> >>>> Thanks, >>>> >>>> -Zhengyu >>> From rkennke at redhat.com Wed Jul 31 13:43:40 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 Jul 2019 15:43:40 +0200 Subject: RFR(S) 228777: Shenandoah: Cleanup STW weak root processing In-Reply-To: <1ad6e05d-e0a3-7497-4c28-653cb356eb96@redhat.com> References: <1ad6e05d-e0a3-7497-4c28-653cb356eb96@redhat.com> Message-ID: <52614d0c-4dc7-7176-2f1e-6769db141792@redhat.com> >>>> I am not sure about this. If final-mark could not finish to >>>> pre-evacuate >>>> all roots we might have from-space refs there. Or does the OOM-protocol >>>> ensure that any ref should be updated correctly? We need to be careful >>>> here. Better safe than sorry. >> >> Actually, you are right. It does not work with traversal. I wonder how >> the tests passed early. >> >> I would like to withdraw this RFR. > > It is not true. Traversal fixes forwarding before processes weak roots, > so this patch should work. > > The failed tests were due to broken builds, they are passed on clean > builds, also specjvm tests (normal and traversal mode). Therefore, I > would like re-open this RFR. This invariant is important for > implementing concurrent weak root processing (JDK-8228818). > > If you still have concerns, let's push it to shenandoah/jdk, Okay? Yeah, let's push it to sh/jdk and if it's ok, take it upstream to jdk/jdk. Thanks, Roman > Thanks, > > -Zhengyu > >> >> Thanks, >> >> -Zhengyu >> >> >> >>> >>> If pre-evacuation fails, it runs degenerated GC cycle and roots are >>> updated in final_updaterefs(). >>> >>> We do have no-forwarded assertion in place, should catch the problem >>> if otherwise. >>> >>> Thanks, >>> >>> -Zhengyu >>> >>>> >>>> Roman >>>> >>>> >>>>> Shenandoah pre-evacuates or updates weak roots at STW pauses. >>>>> Therefore, >>>>> weak roots should not have forwarded references during mark phase. >>>>> >>>>> Current has_forwarded_objects() branch does not break things, but does >>>>> unncessary works, let's prune it. >>>>> >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228777 >>>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/ >>>>> >>>>> Test: >>>>> ?? hotspot_gc_shenandoah (fastdebug and release) >>>>> >>>>> Thanks, >>>>> >>>>> -Zhengyu >>>> From zgu at redhat.com Wed Jul 31 14:49:49 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 31 Jul 2019 14:49:49 +0000 Subject: hg: shenandoah/jdk: 8228777: Shenandoah: Cleanup STW weak root processing Message-ID: <201907311449.x6VEnnld027307@aojmv0008.oracle.com> Changeset: 7a5cb1ead187 Author: zgu Date: 2019-07-30 09:46 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a5cb1ead187 8228777: Shenandoah: Cleanup STW weak root processing Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp From rkennke at redhat.com Wed Jul 31 16:45:15 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 Jul 2019 18:45:15 +0200 Subject: RFR: Backport recent changes to shenandoah/jdk11 Message-ID: This backports a whole bunch of recent-ish Shenandoah changes from jdk/jdk to shenandoah/jdk11. Notably it includes: - Bugfixes&general improvements - remaining LRB stuff - Elimination of fwdptr - x86_32bit - JFR Events for Shenandoah - Roots refactorings (fallouts from conc-class-unloading) List of included changesets: http://cr.openjdk.java.net/~rkennke/backport-jdk11-2019-07-31/changes.txt Full webrev: http://cr.openjdk.java.net/~rkennke/backport-jdk11-2019-07-31/webrev.00/ I have all changesets individually here, let me know if you see them one-by-one. Testing: hotspot_gc_shenandoah (x86_64) so far. Will run some more stuff while you review :-) This thing warrants a comb over the overall patch vs. upstream to catch any leftovers that we don't need anymore due to LRB or nofwdptr. Let's do that after this one's in. Roman