From rkennke at redhat.com Tue Oct 1 06:48:03 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 1 Oct 2019 08:48:03 +0200 Subject: Shenandoah 2.0 In-Reply-To: <87blv1fof4.fsf@mid.deneb.enyo.de> References: <2d926edf-67b6-4828-f26e-8f6d38c4148b@redhat.com> <87blv1fof4.fsf@mid.deneb.enyo.de> Message-ID: >>> , but what versions >>> of 11 and 8 have it? >>> Only RH builds and only available via RH Linux (i.e. no generic Linux >>> builds with Shenandoah 2.0)? Windows? MacOS? >> >> RHEL (and derivatives, CentOS, Fedora, etc) ship Shenandoah, but none >> has '2.0' yet. > > That's for java-11-openjdk, right? java-latest-openjdk has it because > it corresponds to OpenJDK 13 (at time of writing). Or does > updates-testing not count? 8-) Oh yes, that's correct. Roman From shade at redhat.com Tue Oct 1 08:08:39 2019 From: shade at redhat.com (shade at redhat.com) Date: Tue, 01 Oct 2019 08:08:39 +0000 Subject: hg: shenandoah/jdk11: 2 new changesets Message-ID: <201910010808.x9188eYO015833@aojmv0008.oracle.com> Changeset: ebc6ba18164a Author: roland Date: 2019-09-26 17:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ebc6ba18164a [backport] 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java Changeset: 9c8e6ab9894b Author: shade Date: 2019-09-30 18:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9c8e6ab9894b [backport] 8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp From simone.bordet at gmail.com Tue Oct 1 08:31:24 2019 From: simone.bordet at gmail.com (Simone Bordet) Date: Tue, 1 Oct 2019 10:31:24 +0200 Subject: Shenandoah 2.0 In-Reply-To: <92c31568-f4ff-668a-b1e3-feab16bd168f@redhat.com> References: <92c31568-f4ff-668a-b1e3-feab16bd168f@redhat.com> Message-ID: Awesome, thanks! On Mon, Sep 30, 2019 at 11:24 PM Roman Kennke wrote: > > Hi Simone, > > >> Regarding the traversal mode. It only has a single concurrent phase that > >> does all of marking, compacting and updating-references in a single > >> pass. It is book-ended by a pause each, similar to init-mark and > >> final-update-refs pause to do initialize the traversal and to do some > >> bookkeeping and cleanup stuff. The liveness data of one cycle feeds into > >> the cset decisions of the subsequent cycle. > > > > Yes I tried to capture that into slide 53. > > Is it correct? > > If I understand the slide correctly, then not. It still looks like there > 3 phase, with overlap. It is really just one phase: > > idle -> STW-init -> traversal (mark+evac+update) -> STW-end -> idle > > and so on. > > >> To be honest, I am not sure > >> this whole slide needs to exist or only serves to confuse people (even > >> more). > > > > Oh. I thought it was ok to have 1 slide about traversal for completeness. > > Why you think it's confusing? > > And why you say "even more"? > > Because concurrent GCs are confusing to begin with (what with moving > objects from under you feet while you go). Doing all in 1 phase is even > more so. > > > I'd be happy to clarify or remove confusing stuff. > > It's not you or your slides, it's the subject matter. If you like it, > leave Traversal GC in. > > >> I'd probably add one or two comparison slides at the end that highlights > >> the pros and cons of each one. > > > > "Each one" as in comparison between ZGC and Shenandoah > > yes > > >, or "each one" > > as in comparison between non-traversal and traversal? > > no > > >> That's what people usually want to know: > >> 'which concurrent GC is for me?' > > > > My experience is typically divided in 2 here, at the ends of the spectrum. > > Many don't care at all - give them ZGC or Shenandoah to replace > > G1/CMS/Parallel because "it's better" and they switch blindly. > > Few are GC maniacs and put 42 command line options to tune everything > > because they read so on StackOverflow. > > Those that can tell apart ZGC and Shenandoah may have some idea > > already of what's better for their use case, but again they are savvy > > enough to try both and actually verify what's better for them. > > Well, such slides would help the former 2 categories of users to become > more educated, and may also have something new for the experts in > category 3, I'd think :-) > > > Honestly I can't tell myself. > > I like better ZGC for simplicity than Shenandoah. > > From users perspective, both are pretty much -XX:+UseZGC or > -XX:+UseShenandoahGC and not much to configure. Even power users will > rarely need much tuning, so yeah. > > > OTOH, I think Shenandoah is more sophisticated and may deal/degrade > > better in edge cases (pacing, degenerate and full). > > Plus Shenandoah is available in many architectures, OSes, Java versions. > > yeah, and compressed oops is a big deal for some users. > > > In edge cases, I'd feel more confident in enlarging the heap than > > trying to tune edge cases. > > If both GCs are slightly overprovisioned in heap size (so that they > > never reach danger zone), GC pauses are basically a solved problem, so > > either ZGC or Shenandoah will do the job. > > I may be grossly oversimplifying here, but I'm open to hear opinions > > from the source ;) > > Yeah that's pretty much it. Shenandoah's pacing/degrading helps with > avoiding the edge-cases even with tight heaps, there's not much to tune > for this either. > > I hope this clarifies a little. > > Roman > -- Simone Bordet --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz From shade at redhat.com Tue Oct 1 10:48:35 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 1 Oct 2019 12:48:35 +0200 Subject: RFR (S) 8231667: Shenandoah: Full GC should take empty regions into slices for compaction Message-ID: <0b56c1ea-00c5-dbdc-7e2a-556c4147f26f@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8231667 Fix: https://cr.openjdk.java.net/~shade/8231667/wevrev.01/ There is a problem with current Full GC that makes some tests fail with OOME unnecessarily. See details in the bug report. Testing: {x86_64, x86_32} hotspot_gc_shenandoah, affected tests -- Thanks, -Aleksey From simone.bordet at gmail.com Tue Oct 1 10:50:53 2019 From: simone.bordet at gmail.com (Simone Bordet) Date: Tue, 1 Oct 2019 12:50:53 +0200 Subject: ClassUnloadingWithConcurrentMark Message-ID: eHi, I'm a bit confused by this flag so I'd like some clarification. AFAIU, it's recently (JDK 9+?) possible to do class unloading without being at a safepoint. There is now a lock for the ClassLoaderDataGraph that can be grabbed outside safepoint to do class unloading. Do I understand right that Shenandoah does class unloading "concurrently", i.e. without being at a safepoint? I skimmed over the code, and seems to be that SystemDictionary::do_unload() is called from ShenandoahHeap::unload_classes_and_cleanup_tables() that is called from ShenandoahConcurrentMark::finish_mark_from_roots(), which can only be called at safepoint, so apparently the answer to my question is "no"? Thanks! -- Simone Bordet --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz From shade at redhat.com Tue Oct 1 11:11:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 1 Oct 2019 13:11:46 +0200 Subject: ClassUnloadingWithConcurrentMark In-Reply-To: References: Message-ID: On 10/1/19 12:50 PM, Simone Bordet wrote: > I'm a bit confused by this flag so I'd like some clarification. The description is: \ product(bool, ClassUnloadingWithConcurrentMark, true, \ "Do unloading of classes with a concurrent marking cycle") \ This is not Shenandoah-specific. G1 reacts to it as well. Both G1 and Shenandoah do the same thing there: do not directly visit "weak" roots during mark, and at final mark pause see what weak roots were not visited, and infer from there which classes are dead and can be unloaded. The actual unloading work happens during the pause, and adds to latency. Which is why Shenandoah does not do it by default with normal concurrent cycles, and asks users to opt-in to that with +ClassUnloadingWithConcurrentMark. Recovery paths (degenerated/full gc) or special explicit GC requests (like Metadata GC request) would do this to unload classes even without this opt-in. (That can be disabled by the global -ClassUnloading kill switch). > AFAIU, it's recently (JDK 9+?) possible to do class unloading without being at a safepoint. There > is now a lock for the ClassLoaderDataGraph that can be grabbed outside safepoint to do class > unloading. There is so much more to class unloading than grabbing the lock to CLDG. IIRC, a lot of work went into runtime in JDK 12 to make fully concurrent class unloading happen. > Do I understand right that Shenandoah does class unloading > "concurrently", i.e. without being at a safepoint? Shenandoah does it concurrently only in sh/jdk, that work is stabilizing, but not yet in mainline. -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 1 12:07:38 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 1 Oct 2019 14:07:38 +0200 Subject: RFR (S) 8231667: Shenandoah: Full GC should take empty regions into slices for compaction In-Reply-To: <0b56c1ea-00c5-dbdc-7e2a-556c4147f26f@redhat.com> References: <0b56c1ea-00c5-dbdc-7e2a-556c4147f26f@redhat.com> Message-ID: Ok. Thanks, Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8231667 > > Fix: > https://cr.openjdk.java.net/~shade/8231667/wevrev.01/ > > There is a problem with current Full GC that makes some tests fail with OOME unnecessarily. See > details in the bug report. > > Testing: {x86_64, x86_32} hotspot_gc_shenandoah, affected tests > From gnu.andrew at redhat.com Tue Oct 1 19:05:58 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 1 Oct 2019 20:05:58 +0100 Subject: Shenandoah 2.0 In-Reply-To: <2d926edf-67b6-4828-f26e-8f6d38c4148b@redhat.com> References: <2d926edf-67b6-4828-f26e-8f6d38c4148b@redhat.com> Message-ID: <2c7ffd4d-a166-46f8-6139-38fd354cb73e@redhat.com> On 30/09/2019 21:25, Roman Kennke wrote: snip... > RHEL (and derivatives, CentOS, Fedora, etc) ship Shenandoah, but none > has '2.0' yet. LRB+friends will be released with 11.0.5. I'm currently > working on 8, no date yet, though. We're also working on upstreaming to > 11u (and later maybe 8u), but also not date yet. > > Roman > As far as 8u is concerned, IcedTea has also offered the ability to build with Shenandoah since July 2016 [0]. If enabled, the HotSpot tree is switched to the Shenandoah 8u one from the AArch64 project [1]. This allows it to be offered as a build option in Gentoo, and potentially other distros that use OpenJDK via IcedTea. If we ever finally get an 11u version released, that will support it too :) [0] http://bitly.com/it30100 [1] https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/ -- 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 zgu at redhat.com Wed Oct 2 16:50:48 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 2 Oct 2019 12:50:48 -0400 Subject: Cherry-picks from jdk/jdk to shenandoah/jdk Message-ID: Hi, I would like to cherry pick following changes from jdk/jdk to shenandoah/jdk, as they are needed for x86_32 nmethod barrier and concurrent class unloading work. Cherry-pick 8231250: Shenandoah: Traversal GC should keep alive weak load from heap Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/JDK-8231250/webrev.00/ Cherry-pick 8231410: Shenandoah: clone barrier should use base pointer Cherry-pick 8231447: Shenandoah: Compilation-time regression after JDK-8231086 Cherry-pick 8231499: Shenandoah: compiler/arraycopy /TestDefaultMethodArrayCloneDeoptC2 fails http://cr.openjdk.java.net/~zgu/shenandoah/JDK-8231499/webrev.00/ Test: hotspot_gc_shenandoah Linux x86_64 and x86_32 Thanks, -Zhengyu From rkennke at redhat.com Wed Oct 2 17:19:32 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 2 Oct 2019 19:19:32 +0200 Subject: Cherry-picks from jdk/jdk to shenandoah/jdk In-Reply-To: References: Message-ID: <873c8099-1546-27b7-107e-98993fae23be@redhat.com> Looks ok. Tomorrow I would have picked it up anyway. Roman > Hi, > > I would like to cherry pick following changes from jdk/jdk to > shenandoah/jdk, as they are needed for x86_32 nmethod barrier and > concurrent class unloading work. > > Cherry-pick 8231250: Shenandoah: Traversal GC should keep alive weak > load from heap > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/JDK-8231250/webrev.00/ > > Cherry-pick 8231410: Shenandoah: clone barrier should use base pointer > Cherry-pick 8231447: Shenandoah: Compilation-time regression after > ???????????????????? JDK-8231086 > Cherry-pick 8231499: Shenandoah: compiler/arraycopy > ???????????????????? /TestDefaultMethodArrayCloneDeoptC2 fails > http://cr.openjdk.java.net/~zgu/shenandoah/JDK-8231499/webrev.00/ > > Test: > ? hotspot_gc_shenandoah Linux x86_64 and x86_32 > > Thanks, > > -Zhengyu > > > > From zgu at redhat.com Wed Oct 2 17:27:18 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 02 Oct 2019 17:27:18 +0000 Subject: hg: shenandoah/jdk: Cherry-pick 8231410: Shenandoah: clone barrier should use base pointer Message-ID: <201910021727.x92HRIwN012654@aojmv0008.oracle.com> Changeset: 829d3468be9b Author: shade Date: 2019-09-25 12:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/829d3468be9b Cherry-pick 8231410: Shenandoah: clone barrier should use base pointer Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp + test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java From zgu at redhat.com Wed Oct 2 17:27:43 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 02 Oct 2019 17:27:43 +0000 Subject: hg: shenandoah/jdk: Cherry-pick 8231447: Shenandoah: Compilation-time regression after JDK-8231086 Message-ID: <201910021727.x92HRhWr012835@aojmv0008.oracle.com> Changeset: 0d81e8944082 Author: rkennke Date: 2019-09-25 12:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0d81e8944082 Cherry-pick 8231447: Shenandoah: Compilation-time regression after JDK-8231086 Reviewed-by: shade ! 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/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp From zgu at redhat.com Wed Oct 2 17:28:08 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 02 Oct 2019 17:28:08 +0000 Subject: hg: shenandoah/jdk: Cherry-pick 8231499: Shenandoah: compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2 fails Message-ID: <201910021728.x92HS8Bf013054@aojmv0008.oracle.com> Changeset: e8cf2f5a2230 Author: rkennke Date: 2019-09-30 17:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e8cf2f5a2230 Cherry-pick 8231499: Shenandoah: compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2 fails Reviewed-by: shade, roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp From zgu at redhat.com Wed Oct 2 17:28:37 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 02 Oct 2019 17:28:37 +0000 Subject: hg: shenandoah/jdk: Cherry-pick 8231250: Shenandoah: Traversal GC should keep alive weak load from heap Message-ID: <201910021728.x92HSbLo013221@aojmv0008.oracle.com> Changeset: 4c83ed00c058 Author: zgu Date: 2019-09-23 14:39 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4c83ed00c058 Cherry-pick 8231250: Shenandoah: Traversal GC should keep alive weak load from heap Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp From zgu at redhat.com Thu Oct 3 14:06:31 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 3 Oct 2019 10:06:31 -0400 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier Message-ID: In SBSA::load_at(), it calls shenandoah_write_barrier_pre() for references that need to be kept alive. However, the call has side-effects that may mess up registers. Especially, the slow-path contains runtime call. This problem impacts c2i_entry_barrier(), where upstream uses resolve_weak_handle() which keeps the handle alive, while Shenandoah uses peek_weak_handle(), which does not keep the handle alive, so it bypasses SATB barrier. I think this just hides the problem. Shenandoah should just save and restore register around shenandoah_write_barrier_pre() call to eliminate register issues, hence, it can fallback to upstream c2i_entry_barrier() implementation and eliminate the need for peek_weak_handle(). This fix also fixes the intermittent is_loader_alive() assertion we have seen in nightly tests. While this assertion is relative rare on x86_64, but it is quite reproducible on x86_32 (because of it has less registers(?)). With this fix, I have yet seen once. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on Linux Thanks, -Zhengyu From zgu at redhat.com Thu Oct 3 14:30:00 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 3 Oct 2019 10:30:00 -0400 Subject: Shenandoah: Enable concurrent class unloading on x86_32 Message-ID: <19dfb7d0-8bd0-2169-5fba-3847577448ac@redhat.com> Prerequisites: 1) Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier [1] 2) JDK-8230765: Implement nmethod barrier for x86_32 platforms [2] (2) is upstream CR, should be reviewed here. However, there is no implementation there that can exercise this implementation. I would prefer to bake here for sometime, before upstreaming it. Combined webrev: http://cr.openjdk.java.net/~zgu/shenandoah/conc-class_unloading_x86_32/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) on Linux with x86_32 JVM. [1] https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010681.html [2] http://cr.openjdk.java.net/~zgu/JDK-8230765/webrev.00/ Thanks, -Zhengyu From zgu at redhat.com Fri Oct 4 14:51:33 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 4 Oct 2019 10:51:33 -0400 Subject: RFR 8231324: Shenandoah: avoid duplicated weak root works during final traversal Message-ID: Please review this patch that avoids traversal GC to walk weak roots twice during final traversal. Also, it should process weak roots first, so that, fixup phase does not visit dead CLDs/codes, etc. Bug: https://bugs.openjdk.java.net/browse/JDK-8231324 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231324/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 Thanks, -Zhengyu From shade at redhat.com Fri Oct 4 15:45:35 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 4 Oct 2019 17:45:35 +0200 Subject: Pick up jdk-14+17+ to sh/jdk Message-ID: <04e04b09-3dbd-1ec0-3597-aed6f410cbb9@redhat.com> Let's pick up current state of jdk/jdk to sh/jdk for additional testing. I opted to pick up from the tip, because it include 32-bit build fixes. There were merge conflicts in shenandoahCodeRoots.cpp, due to 8231197 changing the block that was removed in sh/jdk. I made sure that the current sh/jdk version wins. Note it would require JDK 13 as boot JDK. Changsets: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk-14%2b17%2b/changesets.txt Testing: {x86_64, x86_32} fastdebug hotspot_gc_shenandoah. -- Thanks, -Aleksey From zgu at redhat.com Fri Oct 4 16:10:01 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 4 Oct 2019 12:10:01 -0400 Subject: Pick up jdk-14+17+ to sh/jdk In-Reply-To: <04e04b09-3dbd-1ec0-3597-aed6f410cbb9@redhat.com> References: <04e04b09-3dbd-1ec0-3597-aed6f410cbb9@redhat.com> Message-ID: Okay. -Zhengyu On 10/4/19 11:45 AM, Aleksey Shipilev wrote: > Let's pick up current state of jdk/jdk to sh/jdk for additional testing. > > I opted to pick up from the tip, because it include 32-bit build fixes. There were merge conflicts > in shenandoahCodeRoots.cpp, due to 8231197 changing the block that was removed in sh/jdk. I made > sure that the current sh/jdk version wins. > > Note it would require JDK 13 as boot JDK. > > Changsets: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk-14%2b17%2b/changesets.txt > > Testing: {x86_64, x86_32} fastdebug hotspot_gc_shenandoah. > From shade at redhat.com Fri Oct 4 16:35:11 2019 From: shade at redhat.com (shade at redhat.com) Date: Fri, 04 Oct 2019 16:35:11 +0000 Subject: hg: shenandoah/jdk: 172 new changesets Message-ID: <201910041635.x94GZWxW006709@aojmv0008.oracle.com> Changeset: 94f71d633542 Author: jwilhelm Date: 2019-09-19 00:19 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94f71d633542 Added tag jdk-14+15 for changeset 778fc2dcbdaa ! .hgtags Changeset: 4eebb9aadbe3 Author: shade Date: 2019-09-19 09:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4eebb9aadbe3 8231201: hs_err should print coalesced safepoint operations in Events section Reviewed-by: phh, dholmes ! src/hotspot/share/runtime/vmThread.cpp Changeset: 408c445d04e8 Author: rehn Date: 2019-09-19 10:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/408c445d04e8 8226705: [REDO] Deoptimize with handshakes Reviewed-by: eosterlund, dcubed, dlong, pchilanomate ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/compiledMethod.cpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zNMethod.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/oops/instanceKlass.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/sharedRuntime.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! 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: 722a19a45994 Author: pliden Date: 2019-09-19 16:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/722a19a45994 8231113: Remove CollectedHeap::check_oop_location() Reviewed-by: stefank, eosterlund, tschatzl ! src/hotspot/share/gc/cms/cmsHeap.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/serial/markSweep.inline.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/oop.cpp Changeset: 0ff1aeedc338 Author: joehw Date: 2019-09-19 16:53 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0ff1aeedc338 8230814: Enable SAX ContentHandler to handle XML Declaration Reviewed-by: lancea, dfuchs, alanb ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java ! src/java.xml/share/classes/org/xml/sax/ContentHandler.java + test/jaxp/javax/xml/jaxp/unittest/sax/DeclarationTest.java Changeset: 13e041be4e5c Author: shade Date: 2019-09-19 20:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/13e041be4e5c 8231197: Shenandoah: JVMTI heap walking cleanup crashes with NULL forwardee Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: de9d23469c68 Author: shade Date: 2019-09-19 20:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de9d23469c68 8231198: Shenandoah: heap walking should visit all roots most of the time Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 89033e6641ed Author: shade Date: 2019-09-19 20:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/89033e6641ed 8231244: Shenandoah: all-roots heap walking misses some weak roots Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 0cc0fd308822 Author: bpb Date: 2019-09-19 12:01 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0cc0fd308822 8231149: (fs) Small verbiage errors in java.nio.file package documentation Reviewed-by: lancea, alanb ! src/java.base/share/classes/java/nio/file/package-info.java Changeset: 932b94295034 Author: stefank Date: 2019-09-10 17:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/932b94295034 8230756: ZGC: Remove redundant memset in ZStatValue Reviewed-by: tschatzl, pliden ! src/hotspot/share/gc/z/zStat.cpp Changeset: 312126722609 Author: stefank Date: 2019-09-10 17:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/312126722609 8230758: ZGC: Add missing precompiled include and fix friend declaration Reviewed-by: tschatzl, pliden ! src/hotspot/share/gc/z/zForwardingEntry.hpp ! src/hotspot/share/gc/z/zNUMA.cpp Changeset: 944b58cbaf93 Author: stefank Date: 2019-09-11 09:47 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/944b58cbaf93 8230759: ZGC: Fix integer types Reviewed-by: pliden ! src/hotspot/share/gc/z/zAttachedArray.hpp ! src/hotspot/share/gc/z/zAttachedArray.inline.hpp ! src/hotspot/share/gc/z/zForwarding.cpp ! src/hotspot/share/gc/z/zForwarding.hpp ! src/hotspot/share/gc/z/zForwarding.inline.hpp ! src/hotspot/share/gc/z/zNMethodData.cpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zUncommitter.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp Changeset: 3386b9a8ef4d Author: redestad Date: 2019-09-19 23:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3386b9a8ef4d 8230768: Arrays of SoftReferences in MethodTypeForm should not be @Stable Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/MethodTypeForm.java Changeset: 046533575954 Author: cito Date: 2019-01-26 15:47 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/046533575954 8216565: Specifying the same path creates a new directory in JFR.configure Reviewed-by: ysuenaga, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/Repository.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java ! test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java Changeset: 33de7752835c Author: tschatzl Date: 2019-09-20 11:33 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/33de7752835c 8231242: G1CollectedHeap::print_regions_on() does not print description for "OA" and "CA" regions Reviewed-by: tschatzl, jiangli Contributed-by: huangjia at loongson.cn ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: 94bb65cb37d3 Author: jboes Date: 2019-09-20 11:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94bb65cb37d3 8230648: Replace @exception tag with @throws in java.base Summary: Minor coding style update of javadoc tag in any file in java.base Reviewed-by: prappo, lancea ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/BufferedOutputStream.java ! src/java.base/share/classes/java/io/BufferedReader.java ! src/java.base/share/classes/java/io/BufferedWriter.java ! src/java.base/share/classes/java/io/CharArrayReader.java ! src/java.base/share/classes/java/io/CharArrayWriter.java ! src/java.base/share/classes/java/io/DataInput.java ! src/java.base/share/classes/java/io/DataInputStream.java ! src/java.base/share/classes/java/io/DataOutputStream.java ! src/java.base/share/classes/java/io/Externalizable.java ! src/java.base/share/classes/java/io/FileDescriptor.java ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/FileReader.java ! src/java.base/share/classes/java/io/FilterInputStream.java ! src/java.base/share/classes/java/io/FilterOutputStream.java ! src/java.base/share/classes/java/io/FilterReader.java ! src/java.base/share/classes/java/io/FilterWriter.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/classes/java/io/InputStreamReader.java ! src/java.base/share/classes/java/io/LineNumberInputStream.java ! src/java.base/share/classes/java/io/ObjectInput.java ! src/java.base/share/classes/java/io/ObjectInputValidation.java ! src/java.base/share/classes/java/io/ObjectOutput.java ! src/java.base/share/classes/java/io/OutputStream.java ! src/java.base/share/classes/java/io/OutputStreamWriter.java ! src/java.base/share/classes/java/io/PipedInputStream.java ! src/java.base/share/classes/java/io/PipedOutputStream.java ! src/java.base/share/classes/java/io/PipedReader.java ! src/java.base/share/classes/java/io/PipedWriter.java ! src/java.base/share/classes/java/io/PushbackInputStream.java ! src/java.base/share/classes/java/io/PushbackReader.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/io/SequenceInputStream.java ! src/java.base/share/classes/java/io/StreamTokenizer.java ! src/java.base/share/classes/java/io/StringReader.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/share/classes/java/lang/SecurityManager.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/reflect/Array.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/net/ContentHandler.java ! src/java.base/share/classes/java/net/DatagramPacket.java ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/DatagramSocketImpl.java ! src/java.base/share/classes/java/net/HttpURLConnection.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/JarURLConnection.java ! src/java.base/share/classes/java/net/MulticastSocket.java ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/share/classes/java/net/ProxySelector.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/java/net/SocketImpl.java ! src/java.base/share/classes/java/net/SocketInputStream.java ! src/java.base/share/classes/java/net/SocketOptions.java ! src/java.base/share/classes/java/net/SocketOutputStream.java ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/java/net/URLClassLoader.java ! src/java.base/share/classes/java/net/URLConnection.java ! src/java.base/share/classes/java/net/URLPermission.java ! src/java.base/share/classes/java/net/URLStreamHandler.java ! src/java.base/share/classes/java/nio/Buffer.java ! src/java.base/share/classes/java/nio/MappedByteBuffer.java ! src/java.base/share/classes/java/security/AccessControlContext.java ! src/java.base/share/classes/java/security/AccessController.java ! src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java ! src/java.base/share/classes/java/security/AlgorithmParameterGeneratorSpi.java ! src/java.base/share/classes/java/security/AlgorithmParameters.java ! src/java.base/share/classes/java/security/AlgorithmParametersSpi.java ! src/java.base/share/classes/java/security/AllPermission.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/java/security/Certificate.java ! src/java.base/share/classes/java/security/DigestInputStream.java ! src/java.base/share/classes/java/security/DigestOutputStream.java ! src/java.base/share/classes/java/security/DomainLoadStoreParameter.java ! src/java.base/share/classes/java/security/Guard.java ! src/java.base/share/classes/java/security/GuardedObject.java ! src/java.base/share/classes/java/security/Identity.java ! src/java.base/share/classes/java/security/IdentityScope.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyFactorySpi.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyPairGeneratorSpi.java ! src/java.base/share/classes/java/security/KeyRep.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/KeyStoreSpi.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/MessageDigestSpi.java ! src/java.base/share/classes/java/security/PKCS12Attribute.java ! src/java.base/share/classes/java/security/PermissionCollection.java ! src/java.base/share/classes/java/security/Permissions.java ! src/java.base/share/classes/java/security/Policy.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecureClassLoader.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/SignatureSpi.java ! src/java.base/share/classes/java/security/SignedObject.java ! src/java.base/share/classes/java/security/Signer.java ! src/java.base/share/classes/java/security/URIParameter.java ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/CertPathValidator.java ! src/java.base/share/classes/java/security/cert/CertPathValidatorSpi.java ! src/java.base/share/classes/java/security/cert/Certificate.java ! src/java.base/share/classes/java/security/cert/CertificateFactory.java ! src/java.base/share/classes/java/security/cert/CertificateFactorySpi.java ! src/java.base/share/classes/java/security/cert/CollectionCertStoreParameters.java ! src/java.base/share/classes/java/security/cert/Extension.java ! src/java.base/share/classes/java/security/cert/LDAPCertStoreParameters.java ! src/java.base/share/classes/java/security/cert/PKIXCertPathChecker.java ! src/java.base/share/classes/java/security/cert/PolicyQualifierInfo.java ! src/java.base/share/classes/java/security/cert/X509CRL.java ! src/java.base/share/classes/java/security/cert/X509CRLEntry.java ! src/java.base/share/classes/java/security/cert/X509Certificate.java ! src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java ! src/java.base/share/classes/java/security/spec/DSAGenParameterSpec.java ! src/java.base/share/classes/java/security/spec/ECFieldF2m.java ! src/java.base/share/classes/java/security/spec/ECFieldFp.java ! src/java.base/share/classes/java/security/spec/ECParameterSpec.java ! src/java.base/share/classes/java/security/spec/ECPoint.java ! src/java.base/share/classes/java/security/spec/ECPrivateKeySpec.java ! src/java.base/share/classes/java/security/spec/ECPublicKeySpec.java ! src/java.base/share/classes/java/security/spec/EllipticCurve.java ! src/java.base/share/classes/java/security/spec/MGF1ParameterSpec.java ! src/java.base/share/classes/java/security/spec/PSSParameterSpec.java ! src/java.base/share/classes/java/security/spec/RSAOtherPrimeInfo.java ! src/java.base/share/classes/java/text/AttributedString.java ! src/java.base/share/classes/java/text/BreakIterator.java ! src/java.base/share/classes/java/text/ChoiceFormat.java ! src/java.base/share/classes/java/text/CollationKey.java ! src/java.base/share/classes/java/text/Collator.java ! src/java.base/share/classes/java/text/CompactNumberFormat.java ! src/java.base/share/classes/java/text/DateFormat.java ! src/java.base/share/classes/java/text/DateFormatSymbols.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! src/java.base/share/classes/java/text/DecimalFormatSymbols.java ! src/java.base/share/classes/java/text/DigitList.java ! src/java.base/share/classes/java/text/Format.java ! src/java.base/share/classes/java/text/MergeCollation.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/text/NumberFormat.java ! src/java.base/share/classes/java/text/RBTableBuilder.java ! src/java.base/share/classes/java/text/RuleBasedCollator.java ! src/java.base/share/classes/java/text/SimpleDateFormat.java ! src/java.base/share/classes/java/text/spi/BreakIteratorProvider.java ! src/java.base/share/classes/java/text/spi/CollatorProvider.java ! src/java.base/share/classes/java/text/spi/DateFormatProvider.java ! src/java.base/share/classes/java/text/spi/DateFormatSymbolsProvider.java ! src/java.base/share/classes/java/text/spi/DecimalFormatSymbolsProvider.java ! src/java.base/share/classes/java/text/spi/NumberFormatProvider.java ! src/java.base/share/classes/java/util/Calendar.java ! src/java.base/share/classes/java/util/Currency.java ! src/java.base/share/classes/java/util/Date.java ! src/java.base/share/classes/java/util/Dictionary.java ! src/java.base/share/classes/java/util/Enumeration.java ! src/java.base/share/classes/java/util/GregorianCalendar.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/Properties.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/StringTokenizer.java ! src/java.base/share/classes/java/util/TimeZone.java ! src/java.base/share/classes/java/util/jar/Attributes.java ! src/java.base/share/classes/java/util/jar/JarEntry.java ! src/java.base/share/classes/java/util/jar/JarInputStream.java ! src/java.base/share/classes/java/util/jar/JarOutputStream.java ! src/java.base/share/classes/java/util/jar/Manifest.java ! src/java.base/share/classes/java/util/jar/Pack200.java ! src/java.base/share/classes/java/util/regex/Matcher.java ! src/java.base/share/classes/java/util/spi/CurrencyNameProvider.java ! src/java.base/share/classes/java/util/spi/LocaleNameProvider.java ! src/java.base/share/classes/java/util/spi/TimeZoneNameProvider.java ! src/java.base/share/classes/java/util/zip/CheckedInputStream.java ! src/java.base/share/classes/java/util/zip/CheckedOutputStream.java ! src/java.base/share/classes/java/util/zip/Deflater.java ! src/java.base/share/classes/java/util/zip/DeflaterOutputStream.java ! src/java.base/share/classes/java/util/zip/GZIPInputStream.java ! src/java.base/share/classes/java/util/zip/GZIPOutputStream.java ! src/java.base/share/classes/java/util/zip/InflaterInputStream.java ! src/java.base/share/classes/java/util/zip/ZipInputStream.java ! src/java.base/share/classes/java/util/zip/ZipOutputStream.java Changeset: c67f514fdd54 Author: coleenp Date: 2019-09-20 10:23 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c67f514fdd54 8225628: Remove unused Thread::muxAcquireW function Reviewed-by: dcubed, hseigel ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: da8673f61e94 Author: darcy Date: 2019-09-20 09:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/da8673f61e94 8199424: consider removing ObjectInputStream and ObjectOutputStream native methods Reviewed-by: bpb, rriggs, redestad ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectOutputStream.java - src/java.base/share/native/libjava/ObjectInputStream.c - src/java.base/share/native/libjava/ObjectOutputStream.c Changeset: bff49841aabe Author: lmesnik Date: 2019-09-20 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bff49841aabe 8229853: Problemlist compiler/codecache/jmx/PoolsIndependenceTest.java Reviewed-by: thartmann ! test/hotspot/jtreg/ProblemList.txt Changeset: 3c8f89e2ec03 Author: valeriep Date: 2019-09-20 21:33 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3c8f89e2ec03 8176837: SunPKCS11 provider needs to check more details on PKCS11 Mechanism Summary: Disable mechanisms with partial support, e.g. can decrypt but cannot encrypt Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java Changeset: 3aef3bccfae3 Author: joehw Date: 2019-09-20 22:11 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3aef3bccfae3 8231083: Clarify SAX documentation Reviewed-by: lancea, alanb ! src/java.xml/share/classes/org/xml/sax/AttributeList.java ! src/java.xml/share/classes/org/xml/sax/Attributes.java ! src/java.xml/share/classes/org/xml/sax/ContentHandler.java ! src/java.xml/share/classes/org/xml/sax/DTDHandler.java ! src/java.xml/share/classes/org/xml/sax/DocumentHandler.java ! src/java.xml/share/classes/org/xml/sax/EntityResolver.java ! src/java.xml/share/classes/org/xml/sax/ErrorHandler.java ! src/java.xml/share/classes/org/xml/sax/HandlerBase.java ! src/java.xml/share/classes/org/xml/sax/InputSource.java ! src/java.xml/share/classes/org/xml/sax/Locator.java ! src/java.xml/share/classes/org/xml/sax/Parser.java ! src/java.xml/share/classes/org/xml/sax/SAXException.java ! src/java.xml/share/classes/org/xml/sax/SAXNotRecognizedException.java ! src/java.xml/share/classes/org/xml/sax/SAXNotSupportedException.java ! src/java.xml/share/classes/org/xml/sax/SAXParseException.java ! src/java.xml/share/classes/org/xml/sax/XMLFilter.java ! src/java.xml/share/classes/org/xml/sax/XMLReader.java ! src/java.xml/share/classes/org/xml/sax/ext/Attributes2.java ! src/java.xml/share/classes/org/xml/sax/ext/Attributes2Impl.java ! src/java.xml/share/classes/org/xml/sax/ext/DeclHandler.java ! src/java.xml/share/classes/org/xml/sax/ext/DefaultHandler2.java ! src/java.xml/share/classes/org/xml/sax/ext/EntityResolver2.java ! src/java.xml/share/classes/org/xml/sax/ext/LexicalHandler.java ! src/java.xml/share/classes/org/xml/sax/ext/Locator2.java ! src/java.xml/share/classes/org/xml/sax/ext/Locator2Impl.java ! src/java.xml/share/classes/org/xml/sax/ext/package-info.java ! src/java.xml/share/classes/org/xml/sax/helpers/AttributeListImpl.java ! src/java.xml/share/classes/org/xml/sax/helpers/AttributesImpl.java ! src/java.xml/share/classes/org/xml/sax/helpers/DefaultHandler.java ! src/java.xml/share/classes/org/xml/sax/helpers/LocatorImpl.java ! src/java.xml/share/classes/org/xml/sax/helpers/NamespaceSupport.java ! src/java.xml/share/classes/org/xml/sax/helpers/NewInstance.java ! src/java.xml/share/classes/org/xml/sax/helpers/ParserAdapter.java ! src/java.xml/share/classes/org/xml/sax/helpers/ParserFactory.java ! src/java.xml/share/classes/org/xml/sax/helpers/XMLFilterImpl.java ! src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderAdapter.java ! src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java ! src/java.xml/share/classes/org/xml/sax/helpers/package-info.java ! src/java.xml/share/classes/org/xml/sax/package-info.java Changeset: e6231dbaa862 Author: jjiang Date: 2019-09-21 08:06 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6231dbaa862 8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID Reviewed-by: xuelei ! test/jdk/ProblemList.txt ! test/jdk/sun/security/pkcs11/PKCS11Test.java ! test/jdk/sun/security/pkcs11/Secmod/AddTrustedCert.java ! test/jdk/sun/security/pkcs11/tls/TestKeyMaterial.java Changeset: 14c1ff687621 Author: dcubed Date: 2019-09-21 10:13 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/14c1ff687621 8231323: ProblemList jdk/jfr/jcmd/TestJcmdConfigure.java Reviewed-by: ysuenaga ! test/jdk/ProblemList.txt Changeset: 704e4ff399a2 Author: iklam Date: 2019-09-22 17:16 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/704e4ff399a2 8231125: Improve testing of parallel loading of shared classes by the boot class loader Reviewed-by: ccheung, coleenp, dholmes ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/klass.hpp ! test/hotspot/jtreg/runtime/cds/appcds/ParallelLoadTest.java ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/ParallelLoad.java Changeset: 01c5971b0a2c Author: iklam Date: 2019-09-22 17:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/01c5971b0a2c 8231275: Remove null check in the beginning of SystemDictionary::load_shared_class() Reviewed-by: ccheung, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 001153ffc143 Author: tschatzl Date: 2019-09-23 11:36 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/001153ffc143 8231117: Remove G1EvacuationRootClosures::raw_strong_oops() Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RootClosures.cpp ! src/hotspot/share/gc/g1/g1RootClosures.hpp Changeset: 4fbc534fdf69 Author: tschatzl Date: 2019-09-23 11:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4fbc534fdf69 8159984: Remove call to ClassLoaderDataGraph::clear_claimed_marks during the initial mark pause Summary: The CLDG is only iterated once during garbage collection, so we do not need to claim CLDs any more. Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1OopClosures.cpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1RootClosures.cpp ! src/hotspot/share/gc/g1/g1RootClosures.hpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp ! src/hotspot/share/gc/g1/g1SharedClosures.hpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 4e96939a5746 Author: tschatzl Date: 2019-09-23 11:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4e96939a5746 8231189: Rename worker_i parameters to worker_id Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HotCardCache.cpp ! src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1OopClosures.hpp ! src/hotspot/share/gc/g1/g1OopClosures.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp Changeset: 577e17cab93f Author: clanger Date: 2019-09-23 12:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/577e17cab93f 8230857: Avoid reflection in sun.tools.common.ProcessHelper Reviewed-by: sspitsyn, dholmes - src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java + src/jdk.jcmd/linux/classes/sun/tools/common/ProcessHelper.java ! src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java ! src/jdk.jcmd/share/classes/sun/tools/common/ProcessHelper.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java Changeset: 501df37ce76b Author: zgu Date: 2019-09-23 07:45 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/501df37ce76b 8231293: Shenandoah: Traversal should not revive dead weak roots Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: acc7ea6bf0b4 Author: thartmann Date: 2019-09-23 14:30 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/acc7ea6bf0b4 8231058: VerifyOops crashes with assert(_offset >= 0) failed: offset for non comment? Summary: Offset method should only be called for comments. Reviewed-by: roland, dholmes ! src/hotspot/share/asm/codeBuffer.cpp + test/hotspot/jtreg/runtime/CheckUnhandledOops/TestVerifyOops.java Changeset: bc696d87d032 Author: shade Date: 2019-09-23 16:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bc696d87d032 8231249: Shenandoah: GC retries are too aggressive for tests that expect OOME Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 7a8de392f9e1 Author: erikj Date: 2019-09-23 09:00 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a8de392f9e1 8150741: make not equivalent to make Reviewed-by: mchung ! make/Main.gmk Changeset: 2921ee5e9881 Author: erikj Date: 2019-09-23 08:52 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2921ee5e9881 8206125: [windows] cannot pass relative path to --with-boot-jdk Reviewed-by: tbell ! make/autoconf/basics.m4 ! make/autoconf/basics_windows.m4 Changeset: e27564cd10e3 Author: zgu Date: 2019-09-23 14:39 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e27564cd10e3 8231250: Shenandoah: Traversal GC should keep alive weak load from heap Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: 08a5148e7c4e Author: lfoltan Date: 2019-09-23 14:49 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/08a5148e7c4e 8230505: Replace JVM type comparisons to T_OBJECT and T_ARRAY with call to is_reference_type Summary: Consistently use is_reference_type when comparing type for T_OBJECT or T_ARRAY. Reviewed-by: dlong, coleenp, hseigel Contributed-by: lois.foltan at oracle.com, john.r.rose at oracle.com ! src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/modRefBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/sparc/c1_FrameMap_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/c1_LIRGenerator_sparc.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/gc/shared/modRefBarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/x86/c1_FrameMap_x86.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_Optimizer.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciArray.cpp ! src/hotspot/share/ci/ciConstant.cpp ! src/hotspot/share/ci/ciConstant.hpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/ci/ciType.hpp ! src/hotspot/share/ci/ciTypeFlow.cpp ! src/hotspot/share/classfile/bytecodeAssembler.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/zBarrierSet.cpp ! src/hotspot/share/interpreter/bytecodeTracer.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/reflection.cpp Changeset: 71f50513d5e6 Author: shade Date: 2019-09-23 21:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/71f50513d5e6 8231375: AArch64 build failure after JDK-8230505 Reviewed-by: dcubed ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Changeset: 2dedeaa537a2 Author: erikj Date: 2019-09-23 12:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2dedeaa537a2 8210794: Incorrect escaping of in native test libraries Reviewed-by: tbell ! make/common/TestFilesCompilation.gmk Changeset: 1e57d3774190 Author: bpb Date: 2019-09-23 13:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1e57d3774190 8231254: (fs) Add test for macOS Catalina changes to protect system software Reviewed-by: alanb + test/jdk/java/nio/file/etc/MacVolumesTest.java Changeset: 00a98f0aa1b3 Author: iklam Date: 2019-09-23 19:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/00a98f0aa1b3 8231257: Avoid calling FileMapInfo::write_region twice Reviewed-by: ccheung ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: e47b459b315c Author: iklam Date: 2019-09-23 19:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e47b459b315c 8231278: Rename FileMapHeader::_read_only_tables_start to _serialized_data_start Reviewed-by: ccheung ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 448fe2bfd505 Author: rehn Date: 2019-09-24 08:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/448fe2bfd505 8229778: TestJstatdDefaults.java failed due to "fatal error: LEAF method calling lock?" Reviewed-by: dholmes, dcubed ! src/hotspot/share/runtime/thread.cpp Changeset: ef8c8cf9256a Author: mbaesken Date: 2019-09-20 10:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef8c8cf9256a 8231171: remove remaining sun.java.launcher.pid references Reviewed-by: alanb, dholmes ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/java.base/macosx/native/libjli/java_md_macosx.m ! src/java.base/share/native/libjli/java.c ! src/java.base/share/native/libjli/java.h ! src/java.base/unix/native/libjli/java_md_solinux.c ! src/java.base/windows/native/libjli/java_md.c ! test/jdk/tools/launcher/TestSpecialArgs.java Changeset: 49836127542b Author: mbaesken Date: 2019-09-23 17:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/49836127542b 8231222: fix pkcs11 P11_DEBUG guarded native traces Reviewed-by: clanger ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_general.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_objmgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sessmgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c Changeset: 03fce7b04b42 Author: dholmes Date: 2019-09-24 03:28 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/03fce7b04b42 8230395: Code checks for NULL value returned from NEW_C_HEAP_ARRAY which can not happen Reviewed-by: lkorinth, hseigel, thartmann, dnsimon ! src/hotspot/os/aix/os_perf_aix.cpp ! src/hotspot/os/bsd/os_perf_bsd.cpp ! src/hotspot/os/linux/os_perf_linux.cpp ! src/hotspot/os/solaris/os_perf_solaris.cpp ! src/hotspot/os/windows/os_perf_windows.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotLoader.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java Changeset: cdce40c3286f Author: shade Date: 2019-09-24 09:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cdce40c3286f 8231395: Backout JDK-8231249 Reviewed-by: tschatzl ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Changeset: 59f7c242ccb8 Author: rpatil Date: 2019-09-24 10:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/59f7c242ccb8 8231098: (tz) Upgrade time-zone data to tzdata2019c Reviewed-by: martin, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/europe ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica Changeset: 1182ff8929cc Author: roland Date: 2019-08-28 15:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1182ff8929cc 8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/loopstripmining/DeadNodesInOuterLoopAtLoopCloning.java Changeset: e4d90117c5de Author: hannesw Date: 2019-09-24 11:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e4d90117c5de 8231122: @index tag with newline causes tag search to fail Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! test/langtools/jdk/javadoc/doclet/testSearchScript/TestSearchScript.java ! test/langtools/jdk/javadoc/doclet/testSearchScript/listpkg/Nolist.java ! test/langtools/jdk/javadoc/doclet/testSearchScript/mapmodule/mappkg/Map.java Changeset: a7f16447085e Author: eosterlund Date: 2019-09-24 10:04 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a7f16447085e 8224820: ZGC: Support discontiguous heap reservations Reviewed-by: pliden, stefank - src/hotspot/os/linux/gc/z/zVirtualMemory_linux.cpp + src/hotspot/os/posix/gc/z/zVirtualMemory_posix.cpp ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zVirtualMemory.cpp ! src/hotspot/share/gc/z/zVirtualMemory.hpp Changeset: 48e480e56aad Author: jboes Date: 2019-09-24 09:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/48e480e56aad 8231186: Replace html tag foo with javadoc tag {@code foo} in java.base Summary: Minor coding style update of javadoc tag in any file in java.base Reviewed-by: bchristi, lancea ! src/java.base/share/classes/java/io/BufferedInputStream.java ! src/java.base/share/classes/java/io/BufferedOutputStream.java ! src/java.base/share/classes/java/io/BufferedReader.java ! src/java.base/share/classes/java/io/CharArrayReader.java ! src/java.base/share/classes/java/io/DataInputStream.java ! src/java.base/share/classes/java/io/DataOutput.java ! src/java.base/share/classes/java/io/DataOutputStream.java ! src/java.base/share/classes/java/io/EOFException.java ! src/java.base/share/classes/java/io/File.java ! src/java.base/share/classes/java/io/FileFilter.java ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/FileNotFoundException.java ! src/java.base/share/classes/java/io/FileOutputStream.java ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/FileSystem.java ! src/java.base/share/classes/java/io/FilenameFilter.java ! src/java.base/share/classes/java/io/FilterInputStream.java ! src/java.base/share/classes/java/io/FilterOutputStream.java ! src/java.base/share/classes/java/io/FilterReader.java ! src/java.base/share/classes/java/io/FilterWriter.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/classes/java/io/InputStreamReader.java ! src/java.base/share/classes/java/io/InterruptedIOException.java ! src/java.base/share/classes/java/io/InvalidObjectException.java ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/ObjectStreamField.java ! src/java.base/share/classes/java/io/OptionalDataException.java ! src/java.base/share/classes/java/io/OutputStream.java ! src/java.base/share/classes/java/io/OutputStreamWriter.java ! src/java.base/share/classes/java/io/PipedInputStream.java ! src/java.base/share/classes/java/io/PipedOutputStream.java ! src/java.base/share/classes/java/io/PipedReader.java ! src/java.base/share/classes/java/io/PipedWriter.java ! src/java.base/share/classes/java/io/PushbackInputStream.java ! src/java.base/share/classes/java/io/PushbackReader.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/io/SequenceInputStream.java ! src/java.base/share/classes/java/io/Serializable.java ! src/java.base/share/classes/java/io/SerializablePermission.java ! src/java.base/share/classes/java/io/StringBufferInputStream.java ! src/java.base/share/classes/java/io/StringReader.java ! src/java.base/share/classes/java/io/UTFDataFormatException.java ! src/java.base/share/classes/java/lang/AbstractMethodError.java ! src/java.base/share/classes/java/lang/ArrayStoreException.java ! src/java.base/share/classes/java/lang/AssertionError.java ! src/java.base/share/classes/java/lang/ClassCastException.java ! src/java.base/share/classes/java/lang/ClassFormatError.java ! src/java.base/share/classes/java/lang/ClassNotFoundException.java ! src/java.base/share/classes/java/lang/CloneNotSupportedException.java ! src/java.base/share/classes/java/lang/Cloneable.java ! src/java.base/share/classes/java/lang/ConditionalSpecialCasing.java ! src/java.base/share/classes/java/lang/ExceptionInInitializerError.java ! src/java.base/share/classes/java/lang/IllegalAccessError.java ! src/java.base/share/classes/java/lang/IllegalAccessException.java ! src/java.base/share/classes/java/lang/IllegalArgumentException.java ! src/java.base/share/classes/java/lang/IllegalMonitorStateException.java ! src/java.base/share/classes/java/lang/IllegalStateException.java ! src/java.base/share/classes/java/lang/IllegalThreadStateException.java ! src/java.base/share/classes/java/lang/IncompatibleClassChangeError.java ! src/java.base/share/classes/java/lang/InstantiationError.java ! src/java.base/share/classes/java/lang/InternalError.java ! src/java.base/share/classes/java/lang/InterruptedException.java ! src/java.base/share/classes/java/lang/NegativeArraySizeException.java ! src/java.base/share/classes/java/lang/NoClassDefFoundError.java ! src/java.base/share/classes/java/lang/NoSuchFieldError.java ! src/java.base/share/classes/java/lang/NoSuchMethodError.java ! src/java.base/share/classes/java/lang/NoSuchMethodException.java ! src/java.base/share/classes/java/lang/NumberFormatException.java ! src/java.base/share/classes/java/lang/Runnable.java ! src/java.base/share/classes/java/lang/RuntimePermission.java ! src/java.base/share/classes/java/lang/SecurityManager.java ! src/java.base/share/classes/java/lang/StackOverflowError.java ! src/java.base/share/classes/java/lang/UnknownError.java ! src/java.base/share/classes/java/lang/UnsatisfiedLinkError.java ! src/java.base/share/classes/java/lang/UnsupportedClassVersionError.java ! src/java.base/share/classes/java/lang/UnsupportedOperationException.java ! src/java.base/share/classes/java/lang/VerifyError.java ! src/java.base/share/classes/java/lang/VirtualMachineError.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/invoke/package-info.java ! src/java.base/share/classes/java/lang/ref/Reference.java ! src/java.base/share/classes/java/text/AttributedString.java ! src/java.base/share/classes/java/text/Bidi.java ! src/java.base/share/classes/java/text/BreakIterator.java ! src/java.base/share/classes/java/text/CharacterIteratorFieldDelegate.java ! src/java.base/share/classes/java/text/ChoiceFormat.java ! src/java.base/share/classes/java/text/CollationElementIterator.java ! src/java.base/share/classes/java/text/CollationKey.java ! src/java.base/share/classes/java/text/Collator.java ! src/java.base/share/classes/java/text/DateFormat.java ! src/java.base/share/classes/java/text/DateFormatSymbols.java ! src/java.base/share/classes/java/text/DigitList.java ! src/java.base/share/classes/java/text/FieldPosition.java ! src/java.base/share/classes/java/text/Format.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/text/Normalizer.java ! src/java.base/share/classes/java/text/NumberFormat.java ! src/java.base/share/classes/java/text/ParsePosition.java ! src/java.base/share/classes/java/text/RuleBasedCollator.java ! src/java.base/share/classes/java/text/SimpleDateFormat.java ! src/java.base/share/classes/java/text/StringCharacterIterator.java ! src/java.base/share/classes/java/text/spi/BreakIteratorProvider.java ! src/java.base/share/classes/java/text/spi/CollatorProvider.java ! src/java.base/share/classes/java/text/spi/DateFormatProvider.java ! src/java.base/share/classes/java/text/spi/DateFormatSymbolsProvider.java ! src/java.base/share/classes/java/text/spi/DecimalFormatSymbolsProvider.java ! src/java.base/share/classes/java/text/spi/NumberFormatProvider.java ! src/java.base/share/classes/java/time/ZoneId.java ! src/java.base/share/classes/java/util/Calendar.java ! src/java.base/share/classes/java/util/ConcurrentModificationException.java ! src/java.base/share/classes/java/util/Currency.java ! src/java.base/share/classes/java/util/GregorianCalendar.java ! src/java.base/share/classes/java/util/IllformedLocaleException.java ! src/java.base/share/classes/java/util/ListResourceBundle.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.base/share/classes/java/util/PropertyResourceBundle.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/TimeZone.java ! src/java.base/share/classes/java/util/TooManyListenersException.java ! src/java.base/share/classes/java/util/jar/JarEntry.java ! src/java.base/share/classes/java/util/jar/JarInputStream.java ! src/java.base/share/classes/java/util/jar/JarOutputStream.java ! src/java.base/share/classes/java/util/jar/package-info.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/regex/package-info.java ! src/java.base/share/classes/java/util/spi/CalendarNameProvider.java ! src/java.base/share/classes/java/util/spi/CurrencyNameProvider.java ! src/java.base/share/classes/java/util/spi/LocaleNameProvider.java ! src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java ! src/java.base/share/classes/java/util/spi/TimeZoneNameProvider.java ! src/java.base/share/classes/java/util/zip/CheckedInputStream.java ! src/java.base/share/classes/java/util/zip/GZIPInputStream.java ! src/java.base/share/classes/java/util/zip/InflaterInputStream.java ! src/java.base/share/classes/java/util/zip/ZipException.java ! src/java.base/share/classes/java/util/zip/ZipInputStream.java Changeset: 3a79d4cccbcb Author: pconcannon Date: 2019-09-23 16:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3a79d4cccbcb 8217825: Verify @AfterTest is used correctly in WebSocket tests Summary: Remove @AfterTest tags; added in explicit closing of resources e.g. httpServer, webSocket, etc Reviewed-by: dfuchs, prappo ! test/jdk/java/net/httpclient/websocket/Abort.java ! test/jdk/java/net/httpclient/websocket/AutomaticPong.java ! test/jdk/java/net/httpclient/websocket/SendTest.java ! test/jdk/java/net/httpclient/websocket/WebSocketTest.java Changeset: a013100f7a35 Author: coleenp Date: 2019-09-24 10:12 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a013100f7a35 8213150: Add verification for locking by VMThread Summary: extend verification for all locking not just VMOperations, and fix CLDG lock to not be taken by VM thread. Reviewed-by: rehn, dholmes ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! src/hotspot/share/utilities/events.hpp Changeset: a8f06f2b84b0 Author: pliden Date: 2019-09-24 17:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a8f06f2b84b0 8231251: ZGC: Fix ZHeap includes Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp Changeset: f2bd6a3993a7 Author: pliden Date: 2019-09-24 17:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f2bd6a3993a7 8231266: ZGC: Minor cleanups in ZCollectedHeap and ZHeap Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp Changeset: 872465abbfe3 Author: pliden Date: 2019-09-24 17:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/872465abbfe3 8231270: ZGC: Remove ZAddressSpace* and ZAddressReserved* Reviewed-by: stefank, eosterlund ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.hpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.cpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.hpp ! src/hotspot/share/gc/z/vmStructs_z.hpp ! src/hotspot/share/gc/z/zAddress.cpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zDebug.gdb ! src/hotspot/share/gc/z/zGlobals.cpp ! src/hotspot/share/gc/z/zGlobals.hpp Changeset: 7973073dd048 Author: michaelm Date: 2019-09-24 16:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7973073dd048 8231187: SelectorProvider.inheritedChannel() returns TCP socket channel for Unix domain socket Reviewed-by: alanb, chegar ! src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorProvider.java ! src/java.base/unix/classes/sun/nio/ch/InheritedChannel.java + src/java.base/unix/classes/sun/nio/ch/UnixDomainSocketChannelImpl.java ! src/java.base/unix/native/libnio/ch/InheritedChannel.c ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java + test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/UnixDomainChannelTest.java ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/UnixDomainSocket.java ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c Changeset: 7b534a5088d9 Author: erikj Date: 2019-09-24 11:39 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b534a5088d9 8231351: Add notes for PKCS11 tests in the test doc Reviewed-by: erikj, jjiang Contributed-by: huangjia at loongson.cn ! doc/testing.html ! doc/testing.md Changeset: 01f7ba3a4905 Author: naoto Date: 2019-09-24 08:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/01f7ba3a4905 8230531: API Doc for CharsetEncoder.maxBytesPerChar() should be clearer about BOMs Reviewed-by: martin, alanb ! src/java.base/share/classes/java/nio/charset/Charset-X-Coder.java.template Changeset: 0152ad7b38b8 Author: epavlova Date: 2019-09-24 08:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0152ad7b38b8 8231376: Unproblem list compiler/unsafe/Unsafe{Off,On}HeapBooleanTest.java tests Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 6df94ce3ab2f Author: dlong Date: 2019-09-24 12:47 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6df94ce3ab2f 8229201: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java ! src/jdk.aot/share/classes/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/NativeOrderOutputStreamTest.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Collector.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.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalManagement.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalRuntimeMBean.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/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/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.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.amd64/src/org/graalvm/compiler/asm/amd64/AMD64BaseAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.amd64/src/org/graalvm/compiler/asm/amd64/AMD64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.test/src/org/graalvm/compiler/asm/test/AssemblerTest.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/CompilationResult.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.code/src/org/graalvm/compiler/code/HexCodeFileDisassemblerProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64.test/src/org/graalvm/compiler/core/aarch64/test/AArch64CbzTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LoweringProviderMixin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64SuitesCreator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/AMD64MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/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/AMD64LoweringProviderMixin.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/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/FieldsScanner.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/calc/CanonicalCondition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/AbstractBlockBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/Loop.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/spi/ForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/AbstractObjectStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/AbstractPointerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/FloatStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IllegalStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/IntegerStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/PrimitiveStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/Stamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/VoidStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/TypeReader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/TypeWriter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeArrayTypeReader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsignedLong.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.match.processor/src/org/graalvm/compiler/core/match/processor/MatchProcessor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SPARCNodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SparcLoweringProviderMixin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BasePhaseBinaryGraphTest.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/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/ConditionalNodeTest.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/DumpPathTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/EnumSwitchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FinalizableSubclassTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/FindUniqueConcreteMethodBugTest.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/GraphPrinterTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GraphResetDebugTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/GuardPrioritiesTest.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/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/NestedLoopTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NewInstanceTest.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/SubprocessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SwitchCanonicalizerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SwitchDyingLoopTest.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/TypeWriterTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnbalancedMonitorsTest.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/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/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/backend/BackendTest.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/RethrowDeoptMaterializeTest.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/EATestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EscapeAnalysisTest.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/ea/UnsafeCompareAndSwapVirtualizationTest.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.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysis.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysisTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/CompilationPrinter.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/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/DebugInfoBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/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/gen/NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchPattern.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchStatement.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchableNode.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.core/src/org/graalvm/compiler/core/target/Backend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugOptions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/GlobalMetrics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/IgvDumpChannel.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MemUseTrackerKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/PathUtilities.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/Edges.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/IterableNodeType.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.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeSourcePosition.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotForeignCallsProvider.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.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64IndirectCallOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/StubAVXTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/UnaryMathStubTest.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/AMD64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/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/AMD64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64X87MathIntrinsicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64X87MathSnippets.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/MathFMAConstantInputTest.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/BenchmarkCounterOverflowTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/AheadOfTimeCompilationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest.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/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompileTheWorld.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompileTheWorldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompressedOopTest.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/EliminateRedundantInitializationPhaseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/GraalOSRTestBase.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotCryptoSubstitutionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalCompilerTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotGraalManagementTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotInvokeDynamicPluginTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotLazyInitializationTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/HotSpotMethodSubstitutionTest.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/JVMCIInfopointErrorTest.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/MemoryUsageBenchmark.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/OptionsInFileTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/PolymorphicInliningTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ReplaceConstantNodesPhaseTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ReservedStackAccessTest.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/src/org/graalvm/compiler/hotspot/BootstrapWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationCounters.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/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigVersioned.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotCompiledCodeBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkageImpl.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/HotSpotGraalJVMCIServiceLocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalOptionValues.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/HotSpotHostBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLIRGenerationResult.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/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/lir/HotSpotZapRegistersPhase.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/HotSpotAOTClassInitializationPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotClassInitializationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProviderImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGraalConstantFieldProvider.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/HotSpotInvocationPlugins.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotJITClassInitializationPlugin.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/HotSpotStampProvider.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/meta/HotSpotWordOperationPlugin.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/KlassBeingInitializedCheckNode.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/type/KlassPointerStamp.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/aot/AOTInliningPolicy.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/AssertionSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotClassSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/InstanceOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/MonitorSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/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/StringUTF16Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ThreadSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/CreateExceptionStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ExceptionHandlerStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/stubs/ForeignCallStub.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/Stub.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.hotspot/src/org/graalvm/compiler/hotspot/stubs/UnwindExceptionToCallerStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BciBlockMapping.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 ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/GraphBuilderPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/JsrScope.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_currentTimeMillis02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/jdk/System_nanoTime02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/lang/Math_log10.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/IfNodeCanonicalizationsTest.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/threads/SynchronizedLoopExit01.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Call.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Compare.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ControlFlow.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.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64RestoreRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64SaveRegistersOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayCompareToOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Binary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64BinaryConsumer.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathCosOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathExpOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathIntrinsicBinaryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathLog10Op.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathLogOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathPowOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathSinOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64MathTanOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64RestoreRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64SaveRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringLatin1InflateOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringUTF16CompressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64VZeroUpper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ZapRegistersOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorCompareOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/vector/AMD64VectorMove.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCSaveRegistersOp.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/LIRInstructionVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRVerifier.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/StandardOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/LinearScanWalker.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/asm/CompilationResultBuilderFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/constopt/ConstantLoadOptimization.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/dfa/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/ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerationResult.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.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/ssa/SSAVerifier.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/LoopSafepointEliminationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.test/src/org/graalvm/compiler/loop/test/LoopPartialUnrollTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/CountedLoopInfo.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/DefaultLoopPolicies.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopEx.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/ConditionalEliminationBenchmark.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/GraalCompilerState.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/PrimitiveStampBoundaryTest.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/AbstractFixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/CallTargetNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ComputeObjectAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ControlSplitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/DeoptimizingNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FixedGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/FrameState.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/Invoke.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InvokeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/InvokeWithExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LogicNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopExitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/PiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AbstractNormalizeCompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/CompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConditionalNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatNormalizeCompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerDivRemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLessThanNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLowerThanNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerNormalizeCompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerTestNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IsNullNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NormalizeCompareNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/PointerEqualsNode.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/cfg/Block.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/ControlFlowGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ArrayRangeWrite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BranchProbabilityNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/ForeignCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode.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/extended/JavaWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadHubNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/LoadHubOrNullNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MultiGuardNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/SwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins.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/AbstractNewObjectNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/ArrayLengthNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/LoadIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/MonitorExitNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewArrayNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/NewInstanceNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreFieldNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/StoreIndexedNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/TypeSwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/address/IndexAddressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/DelegatingReplacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Replacements.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/StampProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/type/NarrowOopStamp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/IntegerHelper.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/SignedIntegerHelper.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/UnsignedIntegerHelper.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options.processor/src/org/graalvm/compiler/options/processor/OptionProcessor.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/ModuleSupport.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/OptionDescriptor.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.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/AddressLoweringByUsePhase.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/DeoptimizationGroupingPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ExpandLogicPhase.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/FrameStateAssignmentPhase.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/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/OptimizeDivPhase.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/RemoveValueProxyPhase.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/inlining/InliningUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/info/elem/InlineableGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/GreedyInliningPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InlineEverythingPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/policy/InliningPolicy.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/src/org/graalvm/compiler/phases/PhaseSuite.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/VerifyPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/graph/ReentrantBlockIterator.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/util/GraphOrder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/Providers.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/BinaryGraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CFGPrinterObserver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraalDebugHandlersFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinterDumpHandler.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.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64IntegerArithmeticSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOf.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/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.processor/src/org/graalvm/compiler/replacements/processor/GeneratedFoldPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.processor/src/org/graalvm/compiler/replacements/processor/GeneratedPlugin.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/DeoptimizeOnIntegerExactTest.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/IntegerExactExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/IntegerExactFoldTest.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/MethodSubstitutionTest.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/SnippetsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StandardMethodSubstitutionsTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringCompareToAVX512Test.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/StringIndexOfCharTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringIndexOfTestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/StringSubstitutionTestBase.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/SubstitutionNodeSourcePositionTest.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/ArraySubstitutions.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/ConstantStringIndexOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/GraphKit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/InlineDuringParsingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/IntrinsicGraphBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/MethodHandlePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetCounter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetCounterNode.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/TargetGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicObjectCloneNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/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.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/WriteRegisterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ZeroMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerAddExactNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerExactArithmeticSplitNode.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/SpeculationEncodingAdapter.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/UnencodedSpeculationReason.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/ModuleSupport.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/EffectsClosure.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/PEReadEliminationClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapePhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/Word.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordOperationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.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/ProtocolImpl.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: c3b93d6603f5 Author: iklam Date: 2019-09-24 10:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c3b93d6603f5 8231367: [TESTBUG] ParallelLoadTest.java fails with "test.dynamic.dump not supported" Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/ParallelLoadTest.java ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java Changeset: b7192797f434 Author: prappo Date: 2019-09-24 22:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b7192797f434 8228580: DnsClient TCP socket timeout Reviewed-by: vtewari, chegar, prappo Contributed-by: Milan Mimica ! src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsClient.java ! src/jdk.naming.dns/share/classes/module-info.java + test/jdk/com/sun/jndi/dns/ConfigTests/TcpTimeout.dns + test/jdk/com/sun/jndi/dns/ConfigTests/TcpTimeout.java Changeset: c6f8b2c3dc66 Author: darcy Date: 2019-09-24 18:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c6f8b2c3dc66 8231334: Suppress warnings on non-serializable instance fields in client libs serializable classes Reviewed-by: prr ! src/java.desktop/share/classes/java/applet/Applet.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Container.java ! src/java.desktop/share/classes/java/awt/Event.java ! src/java.desktop/share/classes/java/awt/FileDialog.java ! src/java.desktop/share/classes/java/awt/MediaTracker.java ! src/java.desktop/share/classes/java/awt/MenuComponent.java ! src/java.desktop/share/classes/java/awt/ScrollPaneAdjustable.java ! src/java.desktop/share/classes/java/awt/SentEvent.java ! src/java.desktop/share/classes/java/awt/SequencedEvent.java ! src/java.desktop/share/classes/java/awt/Window.java ! src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java ! src/java.desktop/share/classes/java/awt/event/AdjustmentEvent.java ! src/java.desktop/share/classes/java/awt/event/InvocationEvent.java ! src/java.desktop/share/classes/java/awt/event/ItemEvent.java ! src/java.desktop/share/classes/java/beans/PropertyChangeEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextChildSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextServicesSupport.java ! src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java ! src/java.desktop/share/classes/javax/imageio/metadata/IIOInvalidTreeException.java ! src/java.desktop/share/classes/javax/imageio/spi/DigraphNode.java ! src/java.desktop/share/classes/javax/print/attribute/AttributeSetUtilities.java ! src/java.desktop/share/classes/javax/print/event/PrintJobAttributeEvent.java ! src/java.desktop/share/classes/javax/print/event/PrintServiceAttributeEvent.java ! src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java ! src/java.desktop/share/classes/sun/awt/EmbeddedFrame.java Changeset: 81134def991d Author: ccheung Date: 2019-09-24 20:16 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/81134def991d 8231097: [TESTBUG] runtime/cds/appcds/DirClasspathTest.java can fail with a mapping error Summary: Check output for mapping failure and throw a SkippedException. Reviewed-by: iklam, dholmes ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java Changeset: 88fce7eea1f6 Author: roland Date: 2019-09-23 16:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/88fce7eea1f6 8229483: Sinking load out of loop may trigger: assert(found_sfpt) failed: no node in loop that's not input to safepoint Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopstripmining/AntiDependentLoadInOuterStripMinedLoop.java Changeset: ce960527ecee Author: alanb Date: 2019-09-25 09:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ce960527ecee 8231413: Several test/hotspot/jtreg/runtime tests updates to run with --illegal-access=deny Reviewed-by: hseigel, lfoltan, dholmes ! test/hotspot/jtreg/runtime/InvocationTests/invocationC1Tests.java ! test/hotspot/jtreg/runtime/InvocationTests/invocationGraalTests.java ! test/hotspot/jtreg/runtime/InvocationTests/invokeinterfaceTests.java ! test/hotspot/jtreg/runtime/InvocationTests/invokespecialTests.java ! test/hotspot/jtreg/runtime/InvocationTests/invokevirtualTests.java ! test/hotspot/jtreg/runtime/Unsafe/InternalErrorTest.java Changeset: 8a2bc12d2a9a Author: michaelm Date: 2019-09-25 09:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8a2bc12d2a9a 8231450: Copyright header line omitted from 8231187 changeset Reviewed-by: chegar ! test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java Changeset: 170b727a240a Author: psadhukhan Date: 2019-08-26 11:20 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/170b727a240a Merge - make/jdk/src/classes/build/tools/tzdb/ZoneRules.java - src/hotspot/cpu/aarch64/aarch64_call.cpp - src/hotspot/cpu/aarch64/aarch64_linkage.S - src/hotspot/cpu/aarch64/cpustate_aarch64.hpp - src/hotspot/cpu/aarch64/decode_aarch64.hpp - src/hotspot/os_cpu/linux_aarch64/linux_aarch64.S - src/hotspot/share/gc/parallel/gcTaskManager.cpp - src/hotspot/share/gc/parallel/gcTaskManager.hpp - src/hotspot/share/gc/parallel/gcTaskThread.cpp - src/hotspot/share/gc/parallel/gcTaskThread.hpp - src/hotspot/share/gc/parallel/pcTasks.cpp - src/hotspot/share/gc/parallel/pcTasks.hpp - src/hotspot/share/gc/parallel/psTasks.cpp - src/hotspot/share/gc/parallel/psTasks.hpp - src/hotspot/share/oops/markOop.cpp - src/hotspot/share/oops/markOop.hpp - src/hotspot/share/oops/markOop.inline.hpp - src/java.base/share/classes/java/security/acl/Acl.java - src/java.base/share/classes/java/security/acl/AclEntry.java - src/java.base/share/classes/java/security/acl/AclNotFoundException.java - src/java.base/share/classes/java/security/acl/Group.java - src/java.base/share/classes/java/security/acl/LastOwnerException.java - src/java.base/share/classes/java/security/acl/NotOwnerException.java - src/java.base/share/classes/java/security/acl/Owner.java - src/java.base/share/classes/java/security/acl/Permission.java - src/java.base/share/classes/java/security/acl/package-info.java - test/hotspot/jtreg/runtime/SharedArchiveFile/ArchiveDoesNotExist.java - test/hotspot/jtreg/runtime/SharedArchiveFile/BootAppendTests.java - test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentCompactStrings.java - test/hotspot/jtreg/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java - test/hotspot/jtreg/runtime/SharedArchiveFile/CdsSameObjectAlignment.java - test/hotspot/jtreg/runtime/SharedArchiveFile/CheckDefaultArchiveFile.java - test/hotspot/jtreg/runtime/SharedArchiveFile/CheckSharingWithDefaultArchive.java - test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSharedDictionary.java - test/hotspot/jtreg/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java - test/hotspot/jtreg/runtime/SharedArchiveFile/LoadClass.java - test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java - test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java - test/hotspot/jtreg/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedArchiveFile.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedBaseAddress.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStrings.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsDedup.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsRunAuto.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedStringsWb.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SharedSymbolTableBucketSize.java - test/hotspot/jtreg/runtime/SharedArchiveFile/SpaceUtilizationCheck.java - test/hotspot/jtreg/runtime/SharedArchiveFile/TestInterpreterMethodEntries.java - test/hotspot/jtreg/runtime/SharedArchiveFile/javax/annotation/processing/FilerException.jasm - test/hotspot/jtreg/runtime/SharedArchiveFile/javax/sound/sampled/MyClass.jasm - test/hotspot/jtreg/runtime/SharedArchiveFile/nonjdk/myPackage/MyClass.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClassesForSubgraphs.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/Implementor.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/Interface.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/SubClass.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/SuperClazz.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TestEntry.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformInterfaceAndImplementor.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformRelatedClasses.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformSuperAndSubClasses.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformSuperSubTwoPckgs.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformTestCommon.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/myPkg1/SuperClazz.java - test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/transformRelatedClasses/myPkg2/SubClass.java - 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/CDSandJFR.java - test/hotspot/jtreg/runtime/appcds/CaseSensitiveClassPath.java - test/hotspot/jtreg/runtime/appcds/ClassLoaderTest.java - test/hotspot/jtreg/runtime/appcds/ClassPathAttr.java - test/hotspot/jtreg/runtime/appcds/CommandLineFlagCombo.java - test/hotspot/jtreg/runtime/appcds/CommandLineFlagComboNegative.java - test/hotspot/jtreg/runtime/appcds/CompilerUtils.java - test/hotspot/jtreg/runtime/appcds/DirClasspathTest.java - test/hotspot/jtreg/runtime/appcds/DumpClassList.java - test/hotspot/jtreg/runtime/appcds/ExtraSymbols.invalid_1.txt - test/hotspot/jtreg/runtime/appcds/ExtraSymbols.invalid_2.txt - test/hotspot/jtreg/runtime/appcds/ExtraSymbols.invalid_3.txt - test/hotspot/jtreg/runtime/appcds/ExtraSymbols.java - test/hotspot/jtreg/runtime/appcds/ExtraSymbols.symbols.txt - test/hotspot/jtreg/runtime/appcds/FieldAnnotationsTest.java - test/hotspot/jtreg/runtime/appcds/FreeUnusedMetadata.java - test/hotspot/jtreg/runtime/appcds/GraalWithLimitedMetaspace.java - test/hotspot/jtreg/runtime/appcds/HelloExtTest.java - test/hotspot/jtreg/runtime/appcds/HelloTest.java - test/hotspot/jtreg/runtime/appcds/IgnoreEmptyClassPaths.java - test/hotspot/jtreg/runtime/appcds/JarBuilder.java - test/hotspot/jtreg/runtime/appcds/JvmtiAddPath.java - test/hotspot/jtreg/runtime/appcds/LongClassListPath.java - test/hotspot/jtreg/runtime/appcds/LotsOfClasses.java - test/hotspot/jtreg/runtime/appcds/MissingSuperTest.java - test/hotspot/jtreg/runtime/appcds/MoveJDKTest.java - test/hotspot/jtreg/runtime/appcds/MultiProcessSharing.java - test/hotspot/jtreg/runtime/appcds/MultiReleaseJars.java - test/hotspot/jtreg/runtime/appcds/OldClassTest.java - test/hotspot/jtreg/runtime/appcds/PackageSealing.java - test/hotspot/jtreg/runtime/appcds/ParallelLoad2.java - test/hotspot/jtreg/runtime/appcds/ParallelLoadTest.java - test/hotspot/jtreg/runtime/appcds/PrintSharedArchiveAndExit.java - test/hotspot/jtreg/runtime/appcds/ProhibitedPackage.java - test/hotspot/jtreg/runtime/appcds/ProtectionDomain.java - test/hotspot/jtreg/runtime/appcds/RelativePath.java - test/hotspot/jtreg/runtime/appcds/RewriteBytecodesTest.java - test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java - test/hotspot/jtreg/runtime/appcds/SharedBaseAddress.java - test/hotspot/jtreg/runtime/appcds/SharedPackages.java - test/hotspot/jtreg/runtime/appcds/SignedJar.java - test/hotspot/jtreg/runtime/appcds/SpecifySysLoaderProp.java - test/hotspot/jtreg/runtime/appcds/TestCommon.java - test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java - test/hotspot/jtreg/runtime/appcds/TraceLongClasspath.java - test/hotspot/jtreg/runtime/appcds/UnusedCPDuringDump.java - test/hotspot/jtreg/runtime/appcds/UseAppCDS_Test.java - test/hotspot/jtreg/runtime/appcds/VerifierTest.java - test/hotspot/jtreg/runtime/appcds/VerifierTest_0.java - test/hotspot/jtreg/runtime/appcds/VerifierTest_1A.java - test/hotspot/jtreg/runtime/appcds/VerifierTest_1B.java - test/hotspot/jtreg/runtime/appcds/VerifierTest_2.java - test/hotspot/jtreg/runtime/appcds/WideIloadTest.java - test/hotspot/jtreg/runtime/appcds/WrongClasspath.java - test/hotspot/jtreg/runtime/appcds/XShareAutoWithChangedJar.java - test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleCompareTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedMirrorTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferences.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckCachedResolvedReferencesApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/CheckIntegerCacheApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java - test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.config.txt - test/hotspot/jtreg/runtime/appcds/cacheObject/DumpTimeVerifyFailure.java - test/hotspot/jtreg/runtime/appcds/cacheObject/GCStress.config.txt - test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/GCStressTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/InstrumentationAgent.mf - test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/MirrorWithReferenceFieldsTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/MyException.java - test/hotspot/jtreg/runtime/appcds/cacheObject/MyOuter.java - test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java - test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/PrimitiveTypesTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/PrintSystemModulesApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassApp.java - test/hotspot/jtreg/runtime/appcds/cacheObject/RedefineClassTest.java - test/hotspot/jtreg/runtime/appcds/cacheObject/src/test/jdk/test/Test.java - test/hotspot/jtreg/runtime/appcds/cacheObject/src/test/module-info.java - test/hotspot/jtreg/runtime/appcds/cdsutils/DynamicDumpHelper.java - test/hotspot/jtreg/runtime/appcds/condy/CondyHello.jasm - test/hotspot/jtreg/runtime/appcds/condy/CondyHelloApp.java - test/hotspot/jtreg/runtime/appcds/condy/CondyHelloTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatA.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatB.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatBase.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatC.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatD.java - test/hotspot/jtreg/runtime/appcds/customLoader/ClassListFormatE.java - test/hotspot/jtreg/runtime/appcds/customLoader/CustomLoaderApp.java - test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java - test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom_JFR.java - test/hotspot/jtreg/runtime/appcds/customLoader/LoaderSegregationTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestBase.java - test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestMultiFP.java - test/hotspot/jtreg/runtime/appcds/customLoader/ParallelTestSingleFP.java - test/hotspot/jtreg/runtime/appcds/customLoader/ProhibitedPackageNamesTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/ProtectionDomain.java - test/hotspot/jtreg/runtime/appcds/customLoader/SameNameInTwoLoadersTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/UnintendedLoadersTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java - test/hotspot/jtreg/runtime/appcds/customLoader/UnsupportedPlatforms.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomInterface2_ia.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomInterface2_ib.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomLoadee.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomLoadee2.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomLoadee3.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/CustomLoadee3Child.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/Hello.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/HelloUnload.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/InProhibitedPkg.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/LoaderAPI.mf - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/LoaderSegregation.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/OnlyBuiltin.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/OnlyUnregistered.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/ProtDomain.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/SameNameUnrelatedLoaders.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/SimpleHello.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/UnintendedLoaders.java - test/hotspot/jtreg/runtime/appcds/customLoader/test-classes/UnloadUnregisteredLoader.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/AppendClasspath.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/ArchiveConsistency.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/ArrayKlasses.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/ClassResolutionFailure.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/DynamicArchiveTestBase.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/DynamicFlag.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/DynamicLotsOfClasses.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/ExcludedClasses.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/HelloDynamic.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/HelloDynamicCustom.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/HelloDynamicCustomUnload.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/JITInteraction.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/MainModuleOnly.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/MethodSorting.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/MissingArchive.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/NoClassToArchive.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/RelativePath.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/SharedArchiveFileOption.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/UnsupportedBaseArchive.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/UnusedCPDuringDump.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/WrongTopClasspath.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/ArrayKlassesApp.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/ExcludedClassesApp.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/LoadClasses.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/MethodSortingApp.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/MissingDependent.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/StrConcatApp.java - test/hotspot/jtreg/runtime/appcds/dynamicArchive/test-classes/TestJIT.java - test/hotspot/jtreg/runtime/appcds/javaldr/AnonVmClassesDuringDump.java - test/hotspot/jtreg/runtime/appcds/javaldr/AnonVmClassesDuringDumpTransformer.java - test/hotspot/jtreg/runtime/appcds/javaldr/AnonVmClassesDuringDumpTransformer.mf - test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTest.java - test/hotspot/jtreg/runtime/appcds/javaldr/ArrayTestHelper.java - test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDump.java - test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.java - test/hotspot/jtreg/runtime/appcds/javaldr/GCDuringDumpTransformer.mf - test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDump.java - test/hotspot/jtreg/runtime/appcds/javaldr/GCSharedStringsDuringDumpWb.java - test/hotspot/jtreg/runtime/appcds/javaldr/HumongousDuringDump.java - test/hotspot/jtreg/runtime/appcds/javaldr/HumongousDuringDumpTransformer.java - test/hotspot/jtreg/runtime/appcds/javaldr/HumongousDuringDumpTransformer.mf - test/hotspot/jtreg/runtime/appcds/jigsaw/CheckUnsupportedDumpingOptions.java - test/hotspot/jtreg/runtime/appcds/jigsaw/JigsawOptionsCombo.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/AppClassInCP.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/CustomPackage.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/MismatchedPatchModule.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchDir.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchJavaBase.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/PatchMain.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/Simple.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/SubClassOfPatchedClass.java - test/hotspot/jtreg/runtime/appcds/jigsaw/PatchModule/TwoJars.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/BootAppendTests.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/ClassPathTests.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/DummyClassesInBootClassPath.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/EmptyClassInBootClassPath.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/src/com/sun/tools/javac/Main.jasm - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/src/com/sun/tools/javac/MyMain.jasm - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/src/jdk/test/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/src/sun/nio/cs/ext/MyClass.java - test/hotspot/jtreg/runtime/appcds/jigsaw/classpathtests/src/sun/nio/cs/ext1/MyClass.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddModules.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddOpens.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/AddReads.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ExportModule.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/MainModuleOnly.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP_JFR.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.greetings/com/greetings/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.greetings/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.hello/com/hello/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.hello/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.nomodule/com/nomodule/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.norequires/com/norequires/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.norequires/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.simple/com/simple/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/com.simple/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/org.astro/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/src/org.astro/org/astro/World.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/OverrideTests.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/java.net.http/java/net/http/HttpTimeoutException.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/java.net.http/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/jdk.compiler/com/sun/tools/javac/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/jdk.compiler/module-info.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/test/jdk/test/Main.java - test/hotspot/jtreg/runtime/appcds/jigsaw/overridetests/src/test/module-info.java - test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHook.java - test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHookTest.java - test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationAgent.mf - test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationApp.java - test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationClassFileTransformer.java - test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationRegisterClassFileTransformer.java - test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationTest.java - test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/DumpingWithJavaAgent.java - test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/DumpingWithJvmtiAgent.java - test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/SimpleAgent.java - test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/SimpleAgent.mf - test/hotspot/jtreg/runtime/appcds/jvmti/dumpingWithAgent/libAddToSystemCLSearchOnLoad.c - test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelClassesTransform.java - test/hotspot/jtreg/runtime/appcds/jvmti/parallelLoad/ParallelLoadAndTransformTest.java - test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformInterfaceImplementorAppCDS.java - test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformRelatedClassesAppCDS.java - test/hotspot/jtreg/runtime/appcds/jvmti/transformRelatedClasses/TransformSuperSubAppCDS.java - test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasic.java - test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineBasicTest.java - test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_Shared.java - test/hotspot/jtreg/runtime/appcds/redefineClass/RedefineRunningMethods_SharedHelper.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/ExerciseGC.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/ExtraSharedInput.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/HelloString.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/HelloStringGC.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/HelloStringPlus.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/InternSharedString.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/InternStringTest.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/InvalidFileFormat.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/LargePages.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/LockSharedStrings.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/LockStringTest.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/LockStringValueTest.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasicPlus.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsHumongous.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsStress.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsUtils.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWb.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsWbTest.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/CorruptDataLine.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidDataType.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidHeader.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidString.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidStringFormat.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidSymbol.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidSymbolFormat.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/InvalidVersion.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/LengthOverflow.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/OverflowPrefix.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/TruncatedString.txt - test/hotspot/jtreg/runtime/appcds/sharedStrings/invalidFormat/UnrecognizedPrefix.txt - test/hotspot/jtreg/runtime/appcds/test-classes/ArrayListTest.java - test/hotspot/jtreg/runtime/appcds/test-classes/BootClassPathAppendHelper.java - test/hotspot/jtreg/runtime/appcds/test-classes/C1.java - test/hotspot/jtreg/runtime/appcds/test-classes/C2.java - test/hotspot/jtreg/runtime/appcds/test-classes/Child.java - test/hotspot/jtreg/runtime/appcds/test-classes/CpAttr1.java - test/hotspot/jtreg/runtime/appcds/test-classes/CpAttr2.java - test/hotspot/jtreg/runtime/appcds/test-classes/CpAttr3.java - test/hotspot/jtreg/runtime/appcds/test-classes/CpAttr4.java - test/hotspot/jtreg/runtime/appcds/test-classes/CpAttr5.java - test/hotspot/jtreg/runtime/appcds/test-classes/DummyClassHelper.java - test/hotspot/jtreg/runtime/appcds/test-classes/EmptyClassHelper.java - test/hotspot/jtreg/runtime/appcds/test-classes/FieldAnnotationsApp.java - test/hotspot/jtreg/runtime/appcds/test-classes/ForNameTest.java - test/hotspot/jtreg/runtime/appcds/test-classes/GenericTestApp.java - test/hotspot/jtreg/runtime/appcds/test-classes/GetFlightRecorder.java - test/hotspot/jtreg/runtime/appcds/test-classes/Greet.java - test/hotspot/jtreg/runtime/appcds/test-classes/Hello.java - test/hotspot/jtreg/runtime/appcds/test-classes/HelloExt.java - test/hotspot/jtreg/runtime/appcds/test-classes/HelloExtApp.java - test/hotspot/jtreg/runtime/appcds/test-classes/HelloExtExt.java - test/hotspot/jtreg/runtime/appcds/test-classes/HelloMore.java - test/hotspot/jtreg/runtime/appcds/test-classes/HelloWB.java - test/hotspot/jtreg/runtime/appcds/test-classes/Hi.java - test/hotspot/jtreg/runtime/appcds/test-classes/Iloadw.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/IloadwMain.java - test/hotspot/jtreg/runtime/appcds/test-classes/JimageClassPackage.java - test/hotspot/jtreg/runtime/appcds/test-classes/JimageClassProtDomain.java - test/hotspot/jtreg/runtime/appcds/test-classes/JvmtiApp.java - test/hotspot/jtreg/runtime/appcds/test-classes/MethodNoReturn.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/MissingSuper.java - test/hotspot/jtreg/runtime/appcds/test-classes/MultiProcClass.java - test/hotspot/jtreg/runtime/appcds/test-classes/MyAnnotation.java - test/hotspot/jtreg/runtime/appcds/test-classes/MyThread.java - test/hotspot/jtreg/runtime/appcds/test-classes/PackageSealingTest.java - test/hotspot/jtreg/runtime/appcds/test-classes/PackageTest.java - test/hotspot/jtreg/runtime/appcds/test-classes/ParallelClasses.java - test/hotspot/jtreg/runtime/appcds/test-classes/ParallelLoad.java - test/hotspot/jtreg/runtime/appcds/test-classes/Prohibited.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/ProhibitedHelper.java - test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomain.java - test/hotspot/jtreg/runtime/appcds/test-classes/ProtDomainB.java - test/hotspot/jtreg/runtime/appcds/test-classes/ReportMyLoader.java - test/hotspot/jtreg/runtime/appcds/test-classes/RewriteBytecodes.java - test/hotspot/jtreg/runtime/appcds/test-classes/Super.java - test/hotspot/jtreg/runtime/appcds/test-classes/TestClassLoader.java - test/hotspot/jtreg/runtime/appcds/test-classes/TestWithProfilerHelper.java - test/hotspot/jtreg/runtime/appcds/test-classes/TrySwitchMyLoader.java - test/hotspot/jtreg/runtime/appcds/test-classes/Util.java - test/hotspot/jtreg/runtime/appcds/test-classes/VerifierTest0.java - test/hotspot/jtreg/runtime/appcds/test-classes/com/sun/tools/javac/Main.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr1.mf - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr1_long.mf - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr2.mf - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr3.mf - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr4.mf - test/hotspot/jtreg/runtime/appcds/test-classes/cpattr5_extra_long.mf - test/hotspot/jtreg/runtime/appcds/test-classes/java/net/HttpCookie.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/javax/transaction/InvalidTransactionException.jasm - test/hotspot/jtreg/runtime/appcds/test-classes/package_seal.mf - test/hotspot/jtreg/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java - test/hotspot/jtreg/serviceability/sa/LingeredAppWithLargeArray.java - test/hotspot/jtreg/serviceability/sa/LingeredAppWithLargeStringArray.java - test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java ! test/jdk/ProblemList.txt - test/jdk/java/net/Socket/reset/Test.java - test/jdk/sun/util/calendar/zi/tzdata/VERSION - test/jdk/sun/util/calendar/zi/tzdata/africa - test/jdk/sun/util/calendar/zi/tzdata/antarctica - test/jdk/sun/util/calendar/zi/tzdata/asia - test/jdk/sun/util/calendar/zi/tzdata/australasia - test/jdk/sun/util/calendar/zi/tzdata/backward - test/jdk/sun/util/calendar/zi/tzdata/etcetera - test/jdk/sun/util/calendar/zi/tzdata/europe - test/jdk/sun/util/calendar/zi/tzdata/factory - test/jdk/sun/util/calendar/zi/tzdata/gmt - test/jdk/sun/util/calendar/zi/tzdata/iso3166.tab - test/jdk/sun/util/calendar/zi/tzdata/jdk11_backward - test/jdk/sun/util/calendar/zi/tzdata/leapseconds - test/jdk/sun/util/calendar/zi/tzdata/northamerica - test/jdk/sun/util/calendar/zi/tzdata/pacificnew - test/jdk/sun/util/calendar/zi/tzdata/solar87 - test/jdk/sun/util/calendar/zi/tzdata/solar88 - test/jdk/sun/util/calendar/zi/tzdata/solar89 - test/jdk/sun/util/calendar/zi/tzdata/southamerica - test/jdk/sun/util/calendar/zi/tzdata/systemv - test/jdk/sun/util/calendar/zi/tzdata/zone.tab - test/jdk/sun/util/calendar/zi/tzdata_jdk/gmt - test/jdk/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward Changeset: 07556f8cd819 Author: serb Date: 2019-08-27 04:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/07556f8cd819 8146238: [macosx] Java2D Queue Flusher crash on OSX after switching between user accounts Reviewed-by: prr, avu ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m ! src/java.desktop/share/classes/sun/java2d/opengl/OGLSurfaceData.java ! src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.c ! src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.h ! src/java.desktop/unix/classes/sun/java2d/opengl/GLXSurfaceData.java ! src/java.desktop/unix/native/common/java2d/opengl/GLXSurfaceData.c ! src/java.desktop/windows/classes/sun/java2d/opengl/WGLSurfaceData.java ! src/java.desktop/windows/native/libawt/java2d/opengl/WGLSurfaceData.c Changeset: 718496767a7d Author: prr Date: 2019-08-28 09:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/718496767a7d 8229800: WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll Reviewed-by: jdv, serb, aaivanov ! src/java.desktop/windows/native/common/awt/systemscale/systemScale.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp Changeset: ddd26bd764e8 Author: psadhukhan Date: 2019-08-29 16:11 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ddd26bd764e8 Merge - src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingFile_linux_aarch64.cpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingFile_linux_aarch64.hpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingPath_linux_aarch64.cpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zBackingPath_linux_aarch64.hpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zPhysicalMemoryBacking_linux_aarch64.cpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zPhysicalMemoryBacking_linux_aarch64.hpp - src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zBackingFile_linux_x86.hpp - src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zBackingPath_linux_x86.hpp - src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zPhysicalMemoryBacking_linux_x86.hpp - src/hotspot/share/classfile/sharedPathsMiscInfo.cpp - src/hotspot/share/classfile/sharedPathsMiscInfo.hpp ! test/jdk/ProblemList.txt - test/jdk/javax/xml/jaxp/testng/validation/jdk8037819/BasicTest1.java Changeset: f39420849ae9 Author: trebari Date: 2019-09-04 22:18 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f39420849ae9 8194944: Regression automated test 'open/test/jdk/javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java' fails Reviewed-by: jdv, arapte ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java Changeset: 18e7ed2cd7d1 Author: mbaesken Date: 2019-09-04 10:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/18e7ed2cd7d1 8230480: check malloc/calloc results in java.desktop Reviewed-by: rriggs ! src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp ! src/java.desktop/unix/native/common/awt/X11Color.c ! src/java.desktop/unix/native/common/awt/fontpath.c ! src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c Changeset: 3020baa4efa4 Author: serb Date: 2019-09-07 11:38 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3020baa4efa4 8229515: [macos] access to window property of NSView on wrong thread Reviewed-by: prr, dmarkov ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m Changeset: 7f55aad34ac4 Author: lbourges Date: 2019-09-10 21:20 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7f55aad34ac4 8230728: Thin stroked shapes are not rendered if affine transform has flip bit Summary: use abs(at.getDeterminant()) in userSpaceLineWidth() to ensure positive value Reviewed-by: prr, jdv ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java + test/jdk/sun/java2d/marlin/FlipBitTest.java Changeset: 5028ccc17275 Author: pbansal Date: 2019-09-11 15:58 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5028ccc17275 8225805: Java Access Bridge does not close the logger Reviewed-by: dmarkov, jdv ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp Changeset: 7b3101216e61 Author: serb Date: 2019-09-12 22:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b3101216e61 8225101: Crash at sun.awt.X11.XlibWrapper.XkbGetUpdatedMap when change keybord map Reviewed-by: prr, pbansal ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 0aba35254e00 Author: serb Date: 2019-09-13 17:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0aba35254e00 8229896: Delete an unused code in the BufferedContext Reviewed-by: prr, jdv ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/java.desktop/share/classes/sun/java2d/opengl/OGLContext.java ! src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java ! src/java.desktop/share/classes/sun/java2d/pipe/BufferedOpCodes.java ! src/java.desktop/share/native/common/java2d/opengl/OGLRenderQueue.c ! src/java.desktop/unix/classes/sun/java2d/opengl/GLXGraphicsConfig.java ! src/java.desktop/windows/classes/sun/java2d/d3d/D3DContext.java ! src/java.desktop/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DContext.cpp ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DContext.h ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DRenderQueue.cpp ! test/jdk/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java - test/jdk/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java Changeset: d32a3b1ca84a Author: serb Date: 2019-09-09 12:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d32a3b1ca84a 8225372: accessibility errors in tables in java.desktop files Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/BorderLayout.java ! src/java.desktop/share/classes/java/awt/Button.java ! src/java.desktop/share/classes/java/awt/Checkbox.java ! src/java.desktop/share/classes/java/awt/CheckboxGroup.java ! src/java.desktop/share/classes/java/awt/CheckboxMenuItem.java ! src/java.desktop/share/classes/java/awt/Choice.java ! src/java.desktop/share/classes/java/awt/FlowLayout.java ! src/java.desktop/share/classes/java/awt/Frame.java ! src/java.desktop/share/classes/java/awt/GridBagLayout.java ! src/java.desktop/share/classes/java/awt/GridLayout.java ! src/java.desktop/share/classes/java/awt/Label.java ! src/java.desktop/share/classes/java/awt/List.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/MenuItem.java ! src/java.desktop/share/classes/java/awt/Scrollbar.java ! src/java.desktop/share/classes/java/awt/TextArea.java ! src/java.desktop/share/classes/java/awt/TextField.java ! src/java.desktop/share/classes/java/awt/Window.java ! src/java.desktop/share/classes/java/awt/doc-files/DesktopProperties.html ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html ! src/java.desktop/share/classes/java/awt/font/NumericShaper.java ! src/java.desktop/share/classes/java/awt/geom/Path2D.java ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/tiff_metadata.html ! src/java.desktop/share/classes/javax/print/attribute/standard/Finishings.java ! src/java.desktop/share/classes/javax/swing/BoxLayout.java ! src/java.desktop/share/classes/javax/swing/JLayeredPane.java ! src/java.desktop/share/classes/javax/swing/JRootPane.java ! src/java.desktop/share/classes/javax/swing/JScrollPane.java ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Changeset: 34b6db069d68 Author: akolarkunnu Date: 2019-09-18 07:18 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/34b6db069d68 8165828: [TEST_BUG] The reg case:javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java failed as No Metal Look and Feel Reviewed-by: psadhukhan Contributed-by: jagjot.singh at oracle.com ! test/jdk/javax/swing/plaf/metal/MetalIcons/MetalHiDPIIconsTest.java Changeset: d07dea54170b Author: psadhukhan Date: 2019-09-23 13:08 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d07dea54170b Merge - src/hotspot/os_cpu/linux_aarch64/gc/z/zArguments_linux_aarch64.cpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zGlobals_linux_aarch64.cpp - src/hotspot/os_cpu/linux_aarch64/gc/z/zGlobals_linux_aarch64.hpp - src/hotspot/os_cpu/linux_x86/gc/z/zArguments_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zGlobals_linux_x86.hpp - src/hotspot/share/gc/g1/g1HeapSizingPolicy_ext.cpp - src/hotspot/share/gc/z/zUtils.cpp - src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointBlob.cpp - src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointBlob.hpp - src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetWriter.hpp - src/hotspot/share/logging/logTag_ext.hpp - src/hotspot/share/oops/access.cpp - src/hotspot/share/runtime/arguments_ext.cpp - src/hotspot/share/runtime/globals_ext.hpp - src/hotspot/share/runtime/os_ext.hpp - src/java.base/share/native/libjava/ObjectInputStream.c - src/java.base/share/native/libjava/ObjectOutputStream.c ! src/java.desktop/unix/native/common/awt/fontpath.c - src/jdk.hotspot.agent/share/classes/META-INF/services/com.sun.jdi.connect.Connector ! test/jdk/ProblemList.txt - test/jdk/java/lang/invoke/findclass.security.policy - test/jdk/java/nio/charset/coders/SJISMappingPropTest.java - test/jdk/java/nio/charset/coders/SJISPropTest.java - test/jdk/java/nio/charset/coders/ref.windows-31j - test/jdk/java/security/testlibrary/CertUtils.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java - test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java Changeset: fe46ee1d42ee Author: dmarkov Date: 2019-09-23 17:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fe46ee1d42ee 8230782: Robot.createScreenCapture() fails if ???awt.robot.gtk??? is set to false Reviewed-by: prr, serb ! src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c Changeset: 483f14c3e0a2 Author: psadhukhan Date: 2019-09-25 13:40 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/483f14c3e0a2 Merge - src/hotspot/os/linux/gc/z/zVirtualMemory_linux.cpp ! src/java.desktop/share/classes/java/awt/Window.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotClassInitializationPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NormalizeCompareNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java - src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java Changeset: de8e08015d51 Author: psadhukhan Date: 2019-09-25 14:48 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de8e08015d51 Merge Changeset: e4ce29f6094e Author: weijun Date: 2019-09-25 17:54 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e4ce29f6094e 8228659: Record which Java methods are called by native codes in JGSS and JAAS Reviewed-by: mullan ! src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSCredElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSLibStub.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSNameElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java ! src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/EncryptionKey.java ! src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/HostAddress.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/HostAddresses.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/KerberosTime.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/Krb5.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/Ticket.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/TicketFlags.java ! src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java Changeset: b311681bc3f9 Author: roland Date: 2019-09-17 15:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b311681bc3f9 8231055: C2: arraycopy with same non escaping src and dest but different positions causes wrong execution Reviewed-by: thartmann, vlivanov ! src/hotspot/share/opto/macro.cpp ! test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java Changeset: f642ad5c655f Author: rkennke Date: 2019-09-25 12:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f642ad5c655f 8231447: Shenandoah: Compilation-time regression after JDK-8231086 Reviewed-by: shade ! 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/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp Changeset: cfef85f63f47 Author: cito Date: 2019-09-25 20:32 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cfef85f63f47 8231317: jdk/jfr/jcmd/TestJcmdConfigure.java fails with "java.lang.RuntimeException: assertTrue: expected true, was false" Reviewed-by: ysuenaga, dcubed ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java Changeset: 8573d94a3a00 Author: azeller Date: 2019-09-24 14:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8573d94a3a00 8230110: TestLinkageErrorInGenerateOopMap times out Reviewed-by: stuefe, clanger, thartmann ! test/hotspot/jtreg/compiler/linkage/TestLinkageErrorInGenerateOopMap.java Changeset: 270abce77942 Author: phh Date: 2019-09-25 08:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/270abce77942 8231387: java.security.Provider.getService returns random result due to race condition with mutating methods in the same class Summary: Synchronize access to legacyMap in Provider.getService. Reviewed-by: valeriep Contributed-by: Tianmin Shi ! src/java.base/share/classes/java/security/Provider.java + test/jdk/java/security/Provider/GetServiceRace.java Changeset: faf791c5a710 Author: darcy Date: 2019-09-25 09:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/faf791c5a710 8231442: Suppress warnings on non-serializable instance fields in java.sql.* modules Reviewed-by: lancea ! src/java.sql.rowset/share/classes/javax/sql/rowset/BaseRowSet.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/serial/SerialStruct.java ! src/java.sql.rowset/share/classes/javax/sql/rowset/spi/SyncProviderException.java ! src/java.sql/share/classes/java/sql/SQLClientInfoException.java ! src/java.sql/share/classes/javax/sql/StatementEvent.java Changeset: c7d9df2e470c Author: shade Date: 2019-09-25 12:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c7d9df2e470c 8231410: Shenandoah: clone barrier should use base pointer Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp + test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java Changeset: f4abe950c3b0 Author: dtitov Date: 2019-09-25 11:10 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f4abe950c3b0 8185005: Improve performance of ThreadMXBean.getThreadInfo(long ids[], int maxDepth) Reviewed-by: sspitsyn, dholmes, dcubed, rehn ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/threadSMR.cpp + src/hotspot/share/services/threadIdTable.cpp + src/hotspot/share/services/threadIdTable.hpp Changeset: 21a03fa2f6b6 Author: bpb Date: 2019-09-25 11:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/21a03fa2f6b6 8231174: (fs) FileTime should have 100ns resolution (win) Reviewed-by: alanb ! src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java ! test/jdk/java/nio/file/attribute/BasicFileAttributeView/SetTimesNanos.java Changeset: d29f0181ba42 Author: darcy Date: 2019-09-25 13:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d29f0181ba42 8231443: Add java.io.Serial to list of platform annotations for annotation processing Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Changeset: ac24594d2c8c Author: bchristi Date: 2019-09-25 14:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ac24594d2c8c 8221623: Add StackWalker micro benchmarks to jdk repo Reviewed-by: dfuchs, mchung, redestad + test/micro/org/openjdk/bench/java/lang/StackWalkBench.java + test/micro/org/openjdk/bench/java/util/logging/LoggingRuntimeMicros.java + test/micro/org/openjdk/bench/vm/lang/ThrowableRuntimeMicros.java Changeset: c29e49148be7 Author: phh Date: 2019-09-25 15:22 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c29e49148be7 8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread Summary: Add com.sun.management.getCurrentThreadAllocatedBytes, implement getThreadAllocatedBytes(long) independent of getThreadAllocatedBytes(long[]) Reviewed-by: mchung, dholmes, sspitsyn ! src/hotspot/share/include/jmm.h ! src/hotspot/share/services/management.cpp ! src/java.management/share/classes/java/lang/management/ThreadMXBean.java ! src/java.management/share/classes/sun/management/ThreadImpl.java ! src/java.management/share/native/libmanagement/ThreadImpl.c ! src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java ! src/jdk.management/share/classes/com/sun/management/internal/HotSpotThreadImpl.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/BaseBehaviorTest.README ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/ThreadMXBean/GetThreadAllocatedBytes/BaseBehaviorTest.java ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/server/ServerThreadMXBeanNew.java ! test/jdk/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java Changeset: 894a3d15c344 Author: jwilhelm Date: 2019-09-26 04:20 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/894a3d15c344 Added tag jdk-14+16 for changeset d29f0181ba42 ! .hgtags Changeset: e23e560afbcb Author: darcy Date: 2019-09-25 21:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e23e560afbcb 8231414: Mark various instance fields of javac internal types as transient Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/CompileStates.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java Changeset: d322bf161e31 Author: thartmann Date: 2019-09-26 09:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d322bf161e31 8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed Summary: Bail out if the range check If has an Opaque4Node input instead of a BoolNode. Reviewed-by: roland, kvn ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestCMovWithOpaque.java Changeset: 3a5f417e68a1 Author: mbaesken Date: 2019-09-25 09:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3a5f417e68a1 8231445: check ZALLOC return values in awt coding Reviewed-by: clanger, prr ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 146bb7afdcf4 Author: eosterlund Date: 2019-09-26 10:00 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/146bb7afdcf4 8219724: ZGC: Make inline cache cleaning more robust Reviewed-by: pliden ! src/hotspot/share/gc/z/zNMethod.cpp Changeset: e6b5ec45ab9e Author: phedlin Date: 2019-09-12 11:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e6b5ec45ab9e 8229499: Node budget assert in fuzzed test. Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp + test/hotspot/jtreg/compiler/loopopts/LoopUnrollBadNodeBudget.java Changeset: de246fd65587 Author: pliden Date: 2019-09-26 13:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de246fd65587 8231294: ZGC: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002 fails Reviewed-by: shade, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002/TestDescription.java Changeset: feff88c68082 Author: mbaesken Date: 2019-09-26 14:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/feff88c68082 8231448: s390 and ppc - replace JVM type comparisons to T_OBJECT and T_ARRAY with call to is_reference_type Reviewed-by: coleenp, lfoltan ! src/hotspot/cpu/ppc/c1_FrameMap_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/modRefBarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/shared/modRefBarrierSetAssembler_ppc.hpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/c1_FrameMap_s390.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/shared/modRefBarrierSetAssembler_s390.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp Changeset: d658f4379c63 Author: coleenp Date: 2019-09-26 09:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d658f4379c63 8226690: SIGSEGV in MetadataOnStackClosure::do_metadata Summary: Dont create nmethod if classes have been redefined since compilation start. Reviewed-by: sspitsyn, dlong, eosterlund, gdub ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp Changeset: ad863044567e Author: erikj Date: 2019-09-26 07:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ad863044567e 8231467: Missing make prerequisite declaration corrupts make dependency files on Windows Reviewed-by: ihse, tbell ! make/common/NativeCompilation.gmk Changeset: 628c12967b02 Author: rriggs Date: 2019-09-26 11:10 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/628c12967b02 8231314: java.time serialization warning cleanup Reviewed-by: chegar, naoto, plevart ! src/java.base/share/classes/java/time/Ser.java ! src/java.base/share/classes/java/time/chrono/AbstractChronology.java ! src/java.base/share/classes/java/time/chrono/Ser.java ! src/java.base/share/classes/java/time/zone/Ser.java Changeset: cf7c6f013d6d Author: darcy Date: 2019-09-26 12:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf7c6f013d6d 8231546: Suppress warnings on non-serializable instance fields in java.prefs module Reviewed-by: rriggs ! src/java.prefs/share/classes/java/util/prefs/NodeChangeEvent.java Changeset: 2c87d191056c Author: cjplummer Date: 2019-09-26 14:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2c87d191056c 8228625: [TESTBUG] sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr Summary: Give jshell process time to fully startup and stablize before requesting heap dump Reviewed-by: sspitsyn, amenkov ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java Changeset: 73950479184b Author: chegar Date: 2019-09-27 09:55 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/73950479184b 8231504: Update networking tests to avoid implicit dependency on the system proxies Reviewed-by: dfuchs ! test/jdk/java/net/CookieHandler/LocalHostCookie.java ! test/jdk/java/net/HttpURLConnection/SetAuthenticator/HTTPTest.java ! test/jdk/java/net/ProxySelector/NullSelector.java ! test/jdk/java/net/ResponseCache/B6181108.java ! test/jdk/java/net/ResponseCache/ResponseCacheTest.java ! test/jdk/java/net/ResponseCache/getResponseCode.java ! test/jdk/java/net/URLConnection/B5052093.java ! test/jdk/java/net/URLConnection/DisconnectAfterEOF.java ! test/jdk/java/net/URLConnection/HttpContinueStackOverflow.java ! test/jdk/java/net/URLConnection/Redirect307Test.java ! test/jdk/java/net/URLConnection/Responses.java ! test/jdk/java/net/URLConnection/URLConnectionHeaders.java ! test/jdk/java/net/URLConnection/contentHandler/UserContentHandler.java ! test/jdk/java/net/URLPermission/OpenURL.java ! test/jdk/java/net/httpclient/ManyRequestsLegacy.java ! test/jdk/java/net/httpclient/PlainProxyConnectionTest.java ! test/jdk/java/net/httpclient/ProxyTest.java ! test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java ! test/jdk/sun/net/www/protocol/http/UserAuth.java ! test/jdk/sun/net/www/protocol/http/UserCookie.java Changeset: 222a91b9438a Author: roland Date: 2019-09-26 17:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/222a91b9438a 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp + test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java Changeset: b3ca57ddfc92 Author: redestad Date: 2019-09-27 12:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b3ca57ddfc92 8231471: Obsolete -XX:CompilationPolicyChoice Reviewed-by: kvn, dholmes, thartmann ! src/hotspot/share/compiler/compilerDefinitions.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/compilationPolicy.cpp ! src/hotspot/share/runtime/compilationPolicy.hpp ! src/hotspot/share/runtime/globals.hpp - src/hotspot/share/runtime/rframe.cpp - src/hotspot/share/runtime/rframe.hpp Changeset: 43c4fb8ba96b Author: roland Date: 2019-07-16 08:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/43c4fb8ba96b 8227384: C2 compilation fails with "graph should be schedulable" when running with -XX:-EliminateLocks Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestEliminateLocksOffCrash.java Changeset: a1eba2e37671 Author: coleenp Date: 2019-09-27 07:56 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a1eba2e37671 8231472: Clean up Monitor::_safepoint_check usage to Mutex::_safepoint_check Summary: Change Monitor:: to Mutex:: when allocating a Mutex, and in mutexLocker. Reviewed-by: rehn, dholmes ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/services/memoryManager.cpp Changeset: d10b732966ba Author: jiefu Date: 2019-09-27 20:06 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d10b732966ba 8231567: minimal build failed after JDK-8226690 Reviewed-by: shade, coleenp ! src/hotspot/share/prims/jvmtiExport.hpp Changeset: 975f2d30f6b3 Author: rehn Date: 2019-09-27 15:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/975f2d30f6b3 8231321: compiler/codecache/stress/UnexpectedDeoptimizationAllTest.java failed assertion Reviewed-by: thartmann, eosterlund ! src/hotspot/share/code/nmethod.cpp Changeset: 98ea90226198 Author: dfuchs Date: 2019-09-27 14:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/98ea90226198 8231037: java/net/InetAddress/ptr/Lookup.java fails intermittently due to reverse lookup failed Summary: The test is updated to verify whether reverse lookup is altogether possible. Reviewed-by: chegar ! test/jdk/java/net/InetAddress/ptr/Lookup.java Changeset: 8511c662083b Author: darcy Date: 2019-09-27 08:57 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8511c662083b 8231557: Suppress warnings on non-serializable instance fields in jdk.scripting.nashorn module Reviewed-by: jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Property.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SharedPropertyMap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/StoredScript.java Changeset: 9a3a700ca571 Author: lmesnik Date: 2019-09-27 10:48 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9a3a700ca571 8230942: Support compressed cores in SA tests Reviewed-by: dholmes, sspitsyn ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/TestJmapCore.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 489532b89775 Author: dl Date: 2019-09-27 12:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/489532b89775 8231032: ThreadMXBean locking tests fail after JSR 166 refresh Reviewed-by: martin, mchung, dholmes ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! test/jdk/ProblemList.txt ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java ! test/jdk/java/util/concurrent/tck/ReentrantLockTest.java ! test/jdk/java/util/concurrent/tck/ReentrantReadWriteLockTest.java ! test/jdk/java/util/concurrent/tck/tck.policy Changeset: 693c1eb29b8d Author: dl Date: 2019-09-27 12:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/693c1eb29b8d 8231036: vmTestbase monitoring tests fail after JSR 166 refresh Reviewed-by: martin, dholmes ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/SynchronizerLockingThreads.java Changeset: c5b80da6b561 Author: bobv Date: 2019-09-27 18:27 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c5b80da6b561 8231431: JAOTC issues with JAR path containing spaces Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/FileSupport.java Changeset: a819c684964b Author: igerasim Date: 2019-09-27 17:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a819c684964b 8230415: Avoid redundant permission checking in FilePermissionCollection and SocketPermissionCollection Reviewed-by: mullan ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/net/SocketPermission.java Changeset: 31524b016783 Author: cjplummer Date: 2019-09-28 12:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/31524b016783 8231287: JMap should do a better job of reporting exception it catches Summary: Retrhow any caught exception, and always print exceptions before exiting Reviewed-by: sspitsyn, phh ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/JMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/Tool.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java Changeset: 4107e5a422b6 Author: azeller Date: 2019-09-28 17:52 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4107e5a422b6 8231457: Asserts on AIX because os::elapsed_counter() is not monotonic Summary: replace gettimeofday with javaTimeNanos Reviewed-by: dholmes, stuefe ! src/hotspot/os/aix/os_aix.cpp Changeset: 0df9370fee29 Author: chagedorn Date: 2019-09-30 09:29 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0df9370fee29 8230062: assert(i == p->size()-1) failed: must be last element of the pack Summary: Avoids vectorization of reduction chain in which an intermediate result is used. Reviewed-by: roland, thartmann ! src/hotspot/share/opto/superword.cpp Changeset: b1c3d24553e0 Author: tschatzl Date: 2019-09-30 10:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b1c3d24553e0 8231553: Deprecate unused G1RSetScanBlockSize command line option Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/runtime/arguments.cpp Changeset: 2d40e6a7ce8e Author: vkempik Date: 2019-09-24 14:54 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2d40e6a7ce8e 8229872: (fs) Increase buffer size used with getmntent Summary: Dynamically allocate memory for getmntent Reviewed-by: alanb ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystem.java ! src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java ! src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: ff559f979c4b Author: redestad Date: 2019-09-30 14:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff559f979c4b 8231616: Simplify compilation policy hierarchy Reviewed-by: thartmann, neliasso ! src/hotspot/share/runtime/compilationPolicy.cpp ! src/hotspot/share/runtime/compilationPolicy.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.hpp Changeset: 752bf4d5fbb7 Author: rkennke Date: 2019-09-30 17:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/752bf4d5fbb7 8231499: Shenandoah: compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2 fails Reviewed-by: shade, roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp Changeset: 3764371e022f Author: lucy Date: 2019-09-30 17:18 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3764371e022f 8231403: [ppc]: Align ReservedCodeCacheSize default value with other platforms Reviewed-by: goetz ! src/hotspot/cpu/ppc/c2_globals_ppc.hpp Changeset: b14643d898d3 Author: shade Date: 2019-09-30 18:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b14643d898d3 8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: 2c06226003aa Author: pconcannon Date: 2019-09-30 17:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2c06226003aa 8229338: clean up test/jdk/java/util/RandomAccess/Basic.java Summary: General refactoring of code and increased test coverage Reviewed-by: lancea, aefimov ! test/jdk/java/util/RandomAccess/Basic.java Changeset: a595e67d6683 Author: coleenp Date: 2019-09-30 13:10 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a595e67d6683 8184732: Deadlock detection improvements for 'special' locks Summary: Assert that special ranked locks cannot safepoint and allow_vm_block and remove locks from the exceptional lock list in no_safepoint_verifier. Reviewed-by: dholmes, eosterlund ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/vmThread.cpp + test/hotspot/jtreg/runtime/Safepoint/NoSafepointVerifier.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: a074e637aeee Author: coleenp Date: 2019-09-30 13:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a074e637aeee Merge Changeset: cece74021580 Author: joehw Date: 2019-09-30 17:54 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cece74021580 8016914: CoreDocumentImpl.setXmlVersion NPE Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.java + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.xml + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest1.xml Changeset: 35cbd86e088a Author: mbaesken Date: 2019-09-26 13:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/35cbd86e088a 8231357: sun/security/pkcs11/Cipher/TestKATForGCM.java fails on SLES11 using mozilla-nss-3.14 Reviewed-by: clanger, valeriep ! test/jdk/sun/security/pkcs11/Cipher/TestKATForGCM.java Changeset: 6fc57e391539 Author: neliasso Date: 2019-10-01 11:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6fc57e391539 8226721: Missing intrinsics for Math.ceil, floor, rint Reviewed-by: neliasso, vlivanov, ecaspole Contributed-by: jatin.bhateja at intel.com ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/convertnode.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/java.base/share/classes/java/lang/Math.java ! test/hotspot/jtreg/compiler/c2/cr6340864/TestDoubleVect.java + test/micro/org/openjdk/bench/java/math/FpRoundingBenchmark.java Changeset: d7dbabd226ff Author: pliden Date: 2019-10-01 12:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d7dbabd226ff 8231296: ZGC: vmTestbase/nsk/jvmti/Allocate/alloc001/ fails Reviewed-by: sspitsyn, dcubed, iignatyev ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/TestDescription.java Changeset: 54de0c861d32 Author: dfuchs Date: 2019-10-01 12:10 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/54de0c861d32 8231506: Fix some instabilities in a few networking tests Reviewed-by: alanb, chegar, msheppar ! test/jdk/java/net/MulticastSocket/UnreferencedMulticastSockets.java ! test/jdk/java/net/SocketImpl/SocketImplCombinations.java ! test/jdk/java/net/httpclient/DigestEchoServer.java Changeset: 94ca05133eb2 Author: jboes Date: 2019-09-26 12:35 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94ca05133eb2 8209178: Proxied HttpsURLConnection doesn't send BODY when retrying POST request Summary: Preserve BODY in poster output stream before sending CONNECT request Reviewed-by: dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/http/HttpClient.java + test/jdk/sun/net/www/http/HttpClient/B8209178.java Changeset: f4a4804ab3e6 Author: roland Date: 2019-09-30 17:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f4a4804ab3e6 8231665: 8231055 broke escapeAnalysis/TestSelfArrayCopy.java Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java Changeset: ed5e399d967d Author: rschmelter Date: 2019-10-01 14:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed5e399d967d 8191521: handle long relative path specified in -Xbootclasspath/a on windows Reviewed-by: ccheung, clanger ! src/hotspot/os/windows/os_windows.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/jtreg/runtime/LoadClass/LongBCP.java Changeset: d9b2b4085f9a Author: clanger Date: 2019-10-01 14:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d9b2b4085f9a 8223869: Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java on more platforms Reviewed-by: goetz ! test/jdk/ProblemList.txt Changeset: 9b644c06226f Author: shade Date: 2019-10-01 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b644c06226f 8231503: [TESTBUG] compiler/{jvmci,aot} tests should not run with GCs that do not support JVMCI/AOT Reviewed-by: kvn, dlong, stefank ! test/jtreg-ext/requires/VMProps.java Changeset: eba8b29bf528 Author: shade Date: 2019-10-01 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eba8b29bf528 8231667: Shenandoah: Full GC should take empty regions into slices for compaction Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 814156987833 Author: bpb Date: 2019-10-01 07:37 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/814156987833 8229333: java/io/File/SetLastModified.java timed out Reviewed-by: lancea, rriggs ! test/jdk/java/io/File/SetLastModified.java Changeset: c8b0dcab20d7 Author: erikj Date: 2019-10-01 08:11 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c8b0dcab20d7 8231594: Configure fails on some Linux systems Reviewed-by: tbell, ihse ! make/autoconf/basics.m4 Changeset: a7c95e2f8814 Author: fweimer Date: 2019-09-28 11:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a7c95e2f8814 8231600: Avoid GCC 8 strncpy error in jdk.jdwp.agent Reviewed-by: cjplummer, amenkov ! src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c Changeset: 91d236715160 Author: darcy Date: 2019-10-01 20:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/91d236715160 8231545: Suppress warnings on non-serializable instance fields in jdk.jshell module Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/ExpressionToTypeInfo.java Changeset: 1181f58f30e2 Author: chagedorn Date: 2019-10-02 08:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1181f58f30e2 8231626: DeoptimizeRandom should not be a product flag Summary: The DeoptimizeRandom flag is changed to develop since it has no effect in production. Reviewed-by: neliasso, thartmann ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationAllTest.java ! test/hotspot/jtreg/compiler/codecache/stress/UnexpectedDeoptimizationTest.java Changeset: b25362cec8ce Author: alanb Date: 2019-10-02 09:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b25362cec8ce 8231603: (se) Selector implementations do not need to use cancelledKeys Reviewed-by: chegar, bpb ! src/java.base/share/classes/java/nio/channels/spi/AbstractSelectionKey.java ! src/java.base/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/java.base/share/classes/sun/nio/ch/SelectorImpl.java Changeset: 299756f23687 Author: lkorinth Date: 2019-10-02 16:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/299756f23687 8231671: Fix copyright headers in hotspot (missing comma after year) Reviewed-by: tschatzl, dholmes ! src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp ! src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/logging/logSelectionList.hpp ! src/hotspot/share/prims/jvmtiThreadState.hpp Changeset: ed0058d06107 Author: bpb Date: 2019-10-02 07:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ed0058d06107 8229022: BufferedReader performance can be improved by using StringBuilder Reviewed-by: igerasim, vtewari, dfuchs ! src/java.base/share/classes/java/io/BufferedReader.java Changeset: 0aa2cdae73ce Author: erikj Date: 2019-10-02 10:04 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0aa2cdae73ce 8231505: Bump required boot jdk version to 13 Reviewed-by: darcy, ihse ! make/autoconf/version-numbers ! make/conf/jib-profiles.js Changeset: 5c83830390ba Author: rriggs Date: 2019-10-02 13:57 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5c83830390ba 8231663: Incorrect GPL header in some RMI/SQL package-info.java files Reviewed-by: bpb, iris, lancea ! src/java.rmi/share/classes/java/rmi/activation/package-info.java ! src/java.rmi/share/classes/java/rmi/dgc/package-info.java ! src/java.rmi/share/classes/java/rmi/package-info.java ! src/java.rmi/share/classes/java/rmi/registry/package-info.java ! src/java.rmi/share/classes/java/rmi/server/package-info.java ! src/java.sql/share/classes/javax/sql/package-info.java Changeset: 319173c62caa Author: ccheung Date: 2019-10-02 16:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/319173c62caa 8231606: _method_ordering is not set during CDS dynamic dump time Summary: Add the missing DynamicDumpSharedSpaces check in sort_methods(); replace the (DumpSharedSpaces || DynamicDumpSharedSpaces) with the Arguments::is_dumping_archive() function call. Reviewed-by: iklam, coleenp, jiangli ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoader.inline.hpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/compactHashtable.cpp ! src/hotspot/share/classfile/dictionary.cpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/constMethod.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/arguments.hpp ! src/hotspot/share/runtime/thread.cpp ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/HelloDynamic.java Changeset: f45278353668 Author: cjplummer Date: 2019-10-02 17:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f45278353668 8231288: "jhsdb jmap" test needed to reproduce issues that used to be reproduced by JShellHeapDumpTest Reviewed-by: sgehwolf, sspitsyn ! test/jdk/ProblemList.txt + test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java Changeset: e606e9b6ba7a Author: jwilhelm Date: 2019-10-03 07:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e606e9b6ba7a Added tag jdk-14+17 for changeset 5c83830390ba ! .hgtags Changeset: 67b3480882b4 Author: shade Date: 2019-10-03 07:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/67b3480882b4 8231713: x86_32 build failures after JDK-8226721 (Missing intrinsics for Math.ceil, floor, rint) Reviewed-by: kvn ! src/hotspot/cpu/x86/x86.ad Changeset: 389e50d98dc3 Author: stefank Date: 2019-09-27 09:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/389e50d98dc3 8231563: ZGC: Fails to warn when user sets the max heap size to larger than 16TB Reviewed-by: tschatzl, pliden ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.hpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.hpp Changeset: 61437e06602a Author: pliden Date: 2019-10-03 10:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/61437e06602a 8231774: ZGC: ZVirtualMemoryManager unmaps incorrect address Reviewed-by: kbarrett, stefank ! src/hotspot/os/posix/gc/z/zVirtualMemory_posix.cpp Changeset: ca80b8395923 Author: pliden Date: 2019-10-03 10:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ca80b8395923 8231776: ZGC: Fix incorrect address space description Reviewed-by: eosterlund ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.cpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.cpp Changeset: d873ce07465d Author: redestad Date: 2019-10-03 13:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d873ce07465d 8231707: Improve Mutex inlining Reviewed-by: rehn, dholmes, coleenp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutex.hpp Changeset: 9759972b4f1c Author: darcy Date: 2019-10-03 08:49 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9759972b4f1c 8231777: Remove extraneous @serial javadoc tag in NodeChangeEvent.java Reviewed-by: alanb, chegar ! src/java.prefs/share/classes/java/util/prefs/NodeChangeEvent.java Changeset: 7a4183b8062f Author: lmesnik Date: 2019-10-03 08:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a4183b8062f 8231768: Remove duplicate if/else in vmTestbase/nsk/share/jdi/Binder.java Reviewed-by: sspitsyn, phh, cjplummer ! test/hotspot/jtreg/vmTestbase/nsk/share/jdi/Binder.java Changeset: 3ab9f0464a7d Author: lmesnik Date: 2019-10-03 08:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3ab9f0464a7d Merge Changeset: e25b317d0350 Author: jboes Date: 2019-10-03 18:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e25b317d0350 8231161: Wrong return type in code sample in Collector API documentation Summary: Correct declaration of container from R to A and add compilation test Reviewed-by: smarks, lancea ! src/java.base/share/classes/java/util/stream/Collector.java + test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/CollectorExample.java Changeset: 13f29c43b6c7 Author: fmatte Date: 2019-10-04 07:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/13f29c43b6c7 8216352: SA: ClhsdbLauncher should throw errors on Unrecognized commands Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java Changeset: 732d70096c41 Author: shade Date: 2019-10-04 16:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/732d70096c41 Merge ! .hgtags ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp ! src/hotspot/cpu/ppc/gc/g1/g1BarrierSetAssembler_ppc.cpp ! src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp ! src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp ! src/hotspot/cpu/sparc/c1_LIRAssembler_sparc.cpp ! src/hotspot/cpu/sparc/gc/g1/g1BarrierSetAssembler_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp - src/hotspot/os/linux/gc/z/zVirtualMemory_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/classfile/classLoaderData.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/c1/barrierSetC1.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! 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/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/zForwarding.cpp ! src/hotspot/share/gc/z/zForwarding.hpp ! src/hotspot/share/gc/z/zForwarding.inline.hpp ! src/hotspot/share/gc/z/zForwardingEntry.hpp ! src/hotspot/share/oops/compressedOops.inline.hpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/parse3.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.cpp - src/hotspot/share/runtime/rframe.cpp - src/hotspot/share/runtime/rframe.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/tieredThresholdPolicy.cpp ! src/hotspot/share/runtime/tieredThresholdPolicy.hpp ! src/hotspot/share/runtime/vmOperations.hpp - src/java.base/share/native/libjava/ObjectInputStream.c - src/java.base/share/native/libjava/ObjectOutputStream.c - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotClassInitializationPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NormalizeCompareNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java - src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java ! test/hotspot/gtest/gc/z/test_zForwarding.cpp ! test/hotspot/jtreg/ProblemList.txt - test/jdk/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java From rkennke at redhat.com Fri Oct 4 19:07:46 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 4 Oct 2019 21:07:46 +0200 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: References: Message-ID: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> Is it ok for that particular piece of code to not push/pop rax and rbx? Otherwise you may just use push_CPU_state() and pop_CPU_state() which may also fit your bill? Otherwise seems ok. Roman > In SBSA::load_at(), it calls shenandoah_write_barrier_pre() for > references that need to be kept alive. However, the call has > side-effects that may mess up registers. Especially, the slow-path > contains runtime call. > > This problem impacts c2i_entry_barrier(), where upstream uses > resolve_weak_handle() which keeps the handle alive, while Shenandoah > uses peek_weak_handle(), which does not keep the handle alive, so it > bypasses SATB barrier. I think this just hides the problem. > > Shenandoah should just save and restore register around > shenandoah_write_barrier_pre() call to eliminate register issues, hence, > it can fallback to upstream c2i_entry_barrier() implementation and > eliminate the need for peek_weak_handle(). > > This fix also fixes the intermittent is_loader_alive() assertion we have > seen in nightly tests. While this assertion is relative rare on x86_64, > but it is quite reproducible on x86_32 (because of it has less > registers(?)). With this fix, I have yet seen once. > > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on Linux > > Thanks, > > -Zhengyu > From zgu at redhat.com Fri Oct 4 19:22:46 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 4 Oct 2019 15:22:46 -0400 Subject: RFR 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms In-Reply-To: <34499f22-9db4-38d5-abf6-f0aed6c99795@redhat.com> References: <6f6afdc5-cb13-6c8c-98f8-47917793545c@redhat.com> <34499f22-9db4-38d5-abf6-f0aed6c99795@redhat.com> Message-ID: <6a1385ba-ab76-c6e6-df7c-ad6f0f6baa1e@redhat.com> Ping! May I get a second review? Thanks, -Zhengyu On 9/18/19 10:46 AM, Roman Kennke wrote: > Hi Zhengyu, > > It looks good to me! > > Thanks, > Roman > > >> Please review this patch that supports JNI critical functions in >> object pinning capable GCs on x86_32 platforms. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8229919 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8229919/webrev.00/ >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) with 32-bit VM on >> Linux x86_64. >> ?? hotspot_gc, hotspot_runtime and hotspot_compiler >> ?? Submit tests in progress. >> >> Thanks, >> >> -Zhengyu From zgu at redhat.com Fri Oct 4 19:32:37 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 4 Oct 2019 15:32:37 -0400 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> Message-ID: <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> Hi Roman, Thanks for reviewing. On 10/4/19 3:07 PM, Roman Kennke wrote: > Is it ok for that particular piece of code to not push/pop rax and rbx? save_registers()/restore_registers() do not push/pop rax and rbx. > Otherwise you may just use push_CPU_state() and pop_CPU_state() which > may also fit your bill?Nope, does not work. Thanks, -Zhengyu > > Otherwise seems ok. > > Roman > > >> In SBSA::load_at(), it calls shenandoah_write_barrier_pre() for >> references that need to be kept alive. However, the call has >> side-effects that may mess up registers. Especially, the slow-path >> contains runtime call. >> >> This problem impacts c2i_entry_barrier(), where upstream uses >> resolve_weak_handle() which keeps the handle alive, while Shenandoah >> uses peek_weak_handle(), which does not keep the handle alive, so it >> bypasses SATB barrier. I think this just hides the problem. >> >> Shenandoah should just save and restore register around >> shenandoah_write_barrier_pre() call to eliminate register issues, hence, >> it can fallback to upstream c2i_entry_barrier() implementation and >> eliminate the need for peek_weak_handle(). >> >> This fix also fixes the intermittent is_loader_alive() assertion we have >> seen in nightly tests. While this assertion is relative rare on x86_64, >> but it is quite reproducible on x86_32 (because of it has less >> registers(?)). With this fix, I have yet seen once. >> >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on Linux >> >> Thanks, >> >> -Zhengyu >> > From rkennke at redhat.com Fri Oct 4 20:00:09 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 4 Oct 2019 22:00:09 +0200 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> Message-ID: <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> >> Is it ok for that particular piece of code to not push/pop rax and rbx? > > save_registers()/restore_registers() do not push/pop rax and rbx. Yes, that's what I mean. Do you require this particular behaviour? If not, i.e. if you're good to simply push/pop all registers, then you can use push_CPU_state() and pop_CPU_state() instead. The LRB stub doesn't push/pop rax because that's where the result comes back. Roman >> Otherwise you may just use push_CPU_state() and pop_CPU_state() which >> may also fit your bill?Nope, does not work. > > Thanks, > > -Zhengyu > >> >> Otherwise seems ok. >> >> Roman >> >> >>> In SBSA::load_at(), it calls shenandoah_write_barrier_pre() for >>> references that need to be kept alive. However, the call has >>> side-effects that may mess up registers. Especially, the slow-path >>> contains runtime call. >>> >>> This problem impacts c2i_entry_barrier(), where upstream uses >>> resolve_weak_handle() which keeps the handle alive, while Shenandoah >>> uses peek_weak_handle(), which does not keep the handle alive, so it >>> bypasses SATB barrier. I think this just hides the problem. >>> >>> Shenandoah should just save and restore register around >>> shenandoah_write_barrier_pre() call to eliminate register issues, hence, >>> it can fallback to upstream c2i_entry_barrier() implementation and >>> eliminate the need for peek_weak_handle(). >>> >>> This fix also fixes the intermittent is_loader_alive() assertion we have >>> seen in nightly tests. While this assertion is relative rare on x86_64, >>> but it is quite reproducible on x86_32 (because of it has less >>> registers(?)). With this fix, I have yet seen once. >>> >>> >>> Webrev: >>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>> >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on >>> Linux >>> >>> Thanks, >>> >>> -Zhengyu >>> >> From zgu at redhat.com Fri Oct 4 20:22:22 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 4 Oct 2019 16:22:22 -0400 Subject: RFR Shenandoah: Fix compilation errors after jdk-14+17+ merge Message-ID: <035ed531-a02c-4248-9c84-7ce5f1792bda@redhat.com> Upstream changed method signature. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/fix_comp_errors/webrev.00/ Test: fastdebug and release build on Linux. Thanks, -Zhengyu From rkennke at redhat.com Fri Oct 4 21:17:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 4 Oct 2019 23:17:55 +0200 Subject: RFR Shenandoah: Fix compilation errors after jdk-14+17+ merge In-Reply-To: <035ed531-a02c-4248-9c84-7ce5f1792bda@redhat.com> References: <035ed531-a02c-4248-9c84-7ce5f1792bda@redhat.com> Message-ID: Yes. Thanks! Roman > Upstream changed method signature. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/fix_comp_errors/webrev.00/ > > Test: > ? fastdebug and release build on Linux. > > > Thanks, > > -Zhengyu > From zgu at redhat.com Fri Oct 4 21:39:22 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Fri, 04 Oct 2019 21:39:22 +0000 Subject: hg: shenandoah/jdk: Fix compilation errors after jdk-14+17 merge Message-ID: <201910042139.x94LdN6b013625@aojmv0008.oracle.com> Changeset: d29bfa3c2e2a Author: zgu Date: 2019-10-04 17:36 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d29bfa3c2e2a Fix compilation errors after jdk-14+17 merge Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp From shade at redhat.com Sat Oct 5 09:17:36 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 5 Oct 2019 11:17:36 +0200 Subject: RFR Shenandoah: Fix compilation errors after jdk-14+17+ merge In-Reply-To: <035ed531-a02c-4248-9c84-7ce5f1792bda@redhat.com> References: <035ed531-a02c-4248-9c84-7ce5f1792bda@redhat.com> Message-ID: On 10/4/19 10:22 PM, Zhengyu Gu wrote: > Upstream changed method signature. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/fix_comp_errors/webrev.00/ I wonder how did that slipped my testing. Oh well, thanks for fixing! -- Thanks, -Aleksey From zgu at redhat.com Mon Oct 7 00:36:11 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Sun, 6 Oct 2019 20:36:11 -0400 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> Message-ID: <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> On 10/4/19 4:00 PM, Roman Kennke wrote: >>> Is it ok for that particular piece of code to not push/pop rax and rbx? >> >> save_registers()/restore_registers() do not push/pop rax and rbx. > > Yes, that's what I mean. Do you require this particular behaviour? If > not, i.e. if you're good to simply push/pop all registers, then you can > use push_CPU_state() and pop_CPU_state() instead. > > The LRB stub doesn't push/pop rax because that's where the result comes > back. Right, we should save rax and rbx, as from c2i_entry_barrier, rbx has Method pointer, which needs to be preserved. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/ >>>> This fix also fixes the intermittent is_loader_alive() assertion we have >>>> seen in nightly tests. While this assertion is relative rare on x86_64, >>>> but it is quite reproducible on x86_32 (because of it has less >>>> registers(?)). With this fix, I have yet seen once. Unfortunately, this assertion failure came back during stress runs (put tier3 tests in loop) over the weekend, sigh! But I think they are different issues and this change should stay. Thanks, -Zhengyu >>>> >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>>> >>>> >>>> Test: >>>> ?? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on >>>> Linux >>>> >>>> Thanks, >>>> >>>> -Zhengyu >>>> >>> > From rkennke at redhat.com Mon Oct 7 08:36:01 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 7 Oct 2019 10:36:01 +0200 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> Message-ID: <5563e056-cc75-03a9-8830-ce1640e371ab@redhat.com> >>>> Is it ok for that particular piece of code to not push/pop rax and rbx? >>> >>> save_registers()/restore_registers() do not push/pop rax and rbx. >> >> Yes, that's what I mean. Do you require this particular behaviour? If >> not, i.e. if you're good to simply push/pop all registers, then you can >> use push_CPU_state() and pop_CPU_state() instead. >> >> The LRB stub doesn't push/pop rax because that's where the result comes >> back. > > Right, we should save rax and rbx, as from c2i_entry_barrier, rbx has > Method pointer, which needs to be preserved. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/ Is that the same patch as before? Roman >>>>> This fix also fixes the intermittent is_loader_alive() assertion we >>>>> have >>>>> seen in nightly tests. While this assertion is relative rare on >>>>> x86_64, >>>>> but it is quite reproducible on x86_32 (because of it has less >>>>> registers(?)). With this fix, I have yet seen once. > > Unfortunately, this assertion failure came back during stress runs (put > tier3 tests in loop) over the weekend, sigh! But I think they are > different issues and this change should stay. > > Thanks, > > -Zhengyu > > >>>>> >>>>> >>>>> Webrev: >>>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>>>> >>>>> >>>>> >>>>> Test: >>>>> ??? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on >>>>> Linux >>>>> >>>>> Thanks, >>>>> >>>>> -Zhengyu >>>>> >>>> >> From shade at redhat.com Mon Oct 7 10:49:39 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 7 Oct 2019 12:49:39 +0200 Subject: RFR (XS/T) 8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah Message-ID: <64c689a2-2894-3ea7-52f9-3906fa04a9ee@redhat.com> Trivial test bug: https://bugs.openjdk.java.net/browse/JDK-8231931 Fix: diff -r f9cd97ec8549 test/hotspot/jtreg/serviceability/sa/TestUniverse.java --- a/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 11:45:11 2019 +0200 +++ b/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 12:48:25 2019 +0200 @@ -87,5 +87,5 @@ case Shenandoah: - expStrings.add("Shenandoah Heap"); + expStrings.add("Shenandoah heap"); break; } Testing: affected test with Shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 7 11:09:29 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 7 Oct 2019 13:09:29 +0200 Subject: RFR (XS/T) 8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah In-Reply-To: <64c689a2-2894-3ea7-52f9-3906fa04a9ee@redhat.com> References: <64c689a2-2894-3ea7-52f9-3906fa04a9ee@redhat.com> Message-ID: <00b996d9-091a-5f7a-d4a3-e641ca481bec@redhat.com> Looks good to me. Thanks, Roman > Trivial test bug: > https://bugs.openjdk.java.net/browse/JDK-8231931 > > Fix: > > diff -r f9cd97ec8549 test/hotspot/jtreg/serviceability/sa/TestUniverse.java > --- a/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 11:45:11 2019 +0200 > +++ b/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 12:48:25 2019 +0200 > @@ -87,5 +87,5 @@ > > case Shenandoah: > - expStrings.add("Shenandoah Heap"); > + expStrings.add("Shenandoah heap"); > break; > } > > Testing: affected test with Shenandoah > From zgu at redhat.com Mon Oct 7 11:31:53 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 7 Oct 2019 07:31:53 -0400 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <5563e056-cc75-03a9-8830-ce1640e371ab@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> <5563e056-cc75-03a9-8830-ce1640e371ab@redhat.com> Message-ID: <3eee358a-03c8-3116-c833-d132fff52dd0@redhat.com> >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/ > > Is that the same patch as before? No. This patch pushes/pops rax and rbx in SBSA::load_at() (Line# 495 - 499 and 512 - 514. Thanks, -Zhengyu > > Roman > > >>>>>> This fix also fixes the intermittent is_loader_alive() assertion we >>>>>> have >>>>>> seen in nightly tests. While this assertion is relative rare on >>>>>> x86_64, >>>>>> but it is quite reproducible on x86_32 (because of it has less >>>>>> registers(?)). With this fix, I have yet seen once. >> >> Unfortunately, this assertion failure came back during stress runs (put >> tier3 tests in loop) over the weekend, sigh! But I think they are >> different issues and this change should stay. >> >> Thanks, >> >> -Zhengyu >> >> >>>>>> >>>>>> >>>>>> Webrev: >>>>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>>>>> >>>>>> >>>>>> >>>>>> Test: >>>>>> ??? hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on >>>>>> Linux >>>>>> >>>>>> Thanks, >>>>>> >>>>>> -Zhengyu >>>>>> >>>>> >>> > From shade at redhat.com Mon Oct 7 12:51:19 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 7 Oct 2019 14:51:19 +0200 Subject: RFR (S) 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings Message-ID: <4e63d1e7-0c98-a491-f954-7c6b7048602c@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8231932 Fix: https://cr.openjdk.java.net/~shade/8231932/webrev.01/ This manifests in tier1 tests, and that is actually the UX problem. New test captures it directly. Patched code favors adjusting the setting that was selected ergonomically, which leaves the user setting alone. Also, it is awkward to adjust the GC threads settings silently (which is why test failed without proper message), and we should fail on misconfiguration right away, which explains the adjustments in existing tests. Testing: new test, hotspot_gc (with Shenandoah), tier1 (with Shenandoah), hotspot_gc_shenandoah -- Thanks, -Aleksey From holger at applied-asynchrony.com Mon Oct 7 13:07:08 2019 From: holger at applied-asynchrony.com (=?UTF-8?Q?Holger_Hoffst=c3=a4tte?=) Date: Mon, 7 Oct 2019 15:07:08 +0200 Subject: Humongous objects vs. ShenandoahHumongousMoves Message-ID: <158c5656-f559-0f1d-f425-702036198149@applied-asynchrony.com> Hi, While spelunking around in JDK13's Shenandoah flags I found ShenandoahHumongousMoves, which is *en*abled by default. This made me curious: why would it make sense to copy large objects around (a potentially rather slow thing in terms of memory bandwidth) when they are likely to live long and cover multiple pages (or a large one)? My understanding was that this was only really necessary for compacting linearly allocated heaps (like e.g. ParallelGC), but not for regionalized GCs where you can just reuse/deallocate regions in the middle of your heap. In other words, what disadvantages would disabling this have? More and/or less compacted regions? Intuitively it seems to me that this would likely be in the noise (esp. the larger the allocated heap gets), but then I figured this is likely enabled for a good reason. Thanks! Holger From shade at redhat.com Mon Oct 7 13:16:38 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 7 Oct 2019 15:16:38 +0200 Subject: Humongous objects vs. ShenandoahHumongousMoves In-Reply-To: <158c5656-f559-0f1d-f425-702036198149@applied-asynchrony.com> References: <158c5656-f559-0f1d-f425-702036198149@applied-asynchrony.com> Message-ID: Hi, On 10/7/19 3:07 PM, Holger Hoffst?tte wrote: > In other words, what disadvantages would disabling this have? More and/or > less compacted regions? Intuitively it seems to me that this would likely be > in the noise (esp. the larger the allocated heap gets), but then I figured > this is likely enabled for a good reason. External heap fragmentation is a thing with humongous objects. If you churn through enough humongous objects, you can shred your heap and another humongous allocation may fail to find an appropriate contiguous space to allocate to, which would then fail with OOME. E.g. if every 2nd region is reserved for a humongous object, then formally the heap is only 50% full, but it cannot allocate the humongous object that takes 2 regions. Concurrent GC cycle in Shenandoah does not move humongous objects, because it costs too much. The heuristics for concurrent cycle tries to free up the contiguous blocks for allocations to feel well. But sometimes that is not enough. This is why the last-ditch Full GC would try to compact the humongous objects by sliding all live humongous objects to one side of the heap, thus defragmenting it. This is what ShenandoahHumongousMoves enables. See: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2017-December/004398.html -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 7 13:36:38 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 07 Oct 2019 15:36:38 +0200 Subject: RFR (S) 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings In-Reply-To: <4e63d1e7-0c98-a491-f954-7c6b7048602c@redhat.com> References: <4e63d1e7-0c98-a491-f954-7c6b7048602c@redhat.com> Message-ID: <155246FC-4947-48BA-93BF-29B895F49B19@redhat.com> Looks OK to me. Thanks! Roman Am 7. Oktober 2019 14:51:19 MESZ schrieb Aleksey Shipilev : >Bug: > https://bugs.openjdk.java.net/browse/JDK-8231932 > >Fix: > https://cr.openjdk.java.net/~shade/8231932/webrev.01/ > >This manifests in tier1 tests, and that is actually the UX problem. New >test captures it directly. >Patched code favors adjusting the setting that was selected >ergonomically, which leaves the user >setting alone. > >Also, it is awkward to adjust the GC threads settings silently (which >is why test failed without >proper message), and we should fail on misconfiguration right away, >which explains the adjustments >in existing tests. > >Testing: new test, hotspot_gc (with Shenandoah), tier1 (with >Shenandoah), hotspot_gc_shenandoah > >-- >Thanks, >-Aleksey -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From shade at redhat.com Mon Oct 7 14:08:18 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 7 Oct 2019 16:08:18 +0200 Subject: RFR (XS/T) 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag Message-ID: <2ac7e61d-4f52-79aa-239f-80b4a1bbd019@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8231946 This flag was obsoleted and not used for a while. Let's remove it: diff -r de43643147c6 src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Mon Oct 07 15:30:29 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Mon Oct 07 16:07:09 2019 +0200 @@ -315,7 +315,4 @@ "Tracing task termination timings") \ \ - develop(bool, ShenandoahVerifyObjectEquals, false, \ - "Verify that == and != are not used on oops. Only in fastdebug") \ - \ diagnostic(bool, ShenandoahAlwaysPreTouch, false, \ "Pre-touch heap memory, overrides global AlwaysPreTouch") \ Testing: x86_64 build, hotspot_gc_shenandoah (running) -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 7 14:19:11 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 07 Oct 2019 16:19:11 +0200 Subject: RFR (XS/T) 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag In-Reply-To: <2ac7e61d-4f52-79aa-239f-80b4a1bbd019@redhat.com> References: <2ac7e61d-4f52-79aa-239f-80b4a1bbd019@redhat.com> Message-ID: <1D29E0A2-0EF2-4C52-80B9-9EB7229E202D@redhat.com> Yup. (I believe we have some more unused flags like ShStoreCheck) Am 7. Oktober 2019 16:08:18 MESZ schrieb Aleksey Shipilev : >RFE: > https://bugs.openjdk.java.net/browse/JDK-8231946 > >This flag was obsoleted and not used for a while. Let's remove it: > >diff -r de43643147c6 >src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp >--- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Mon Oct >07 15:30:29 2019 +0200 >+++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Mon Oct >07 16:07:09 2019 +0200 >@@ -315,7 +315,4 @@ > "Tracing task termination timings") \ > \ >- develop(bool, ShenandoahVerifyObjectEquals, false, > \ >- "Verify that == and != are not used on oops. Only in >fastdebug") \ >- > \ >diagnostic(bool, ShenandoahAlwaysPreTouch, false, > \ > "Pre-touch heap memory, overrides global AlwaysPreTouch") \ > >Testing: x86_64 build, hotspot_gc_shenandoah (running) > >-- >Thanks, >-Aleksey -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From shade at redhat.com Mon Oct 7 15:21:56 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 7 Oct 2019 17:21:56 +0200 Subject: Humongous objects vs. ShenandoahHumongousMoves In-Reply-To: References: <158c5656-f559-0f1d-f425-702036198149@applied-asynchrony.com> Message-ID: On 10/7/19 3:16 PM, Aleksey Shipilev wrote: > This is what ShenandoahHumongousMoves enables. I think we would just remove the flag in the future: https://bugs.openjdk.java.net/browse/JDK-8231947 -- Thanks, -Aleksey From zgu at redhat.com Mon Oct 7 17:52:06 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 7 Oct 2019 13:52:06 -0400 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <3eee358a-03c8-3116-c833-d132fff52dd0@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> <5563e056-cc75-03a9-8830-ce1640e371ab@redhat.com> <3eee358a-03c8-3116-c833-d132fff52dd0@redhat.com> Message-ID: <48216464-8205-c88d-adfd-1fbd10deb00b@redhat.com> Hi Roman, As you suggested offline, uses push_IU_state()/pop_IU_state() instead. http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.02/ Test: hotspot_gc_shenandoah (fastdebug and release) with x86_64 and x86_32 JVM on Linux. Thanks, -Zhengyu On 10/7/19 7:31 AM, Zhengyu Gu wrote: >>> >>> Webrev: >>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/ >>> >> >> Is that the same patch as before? > > No. This patch pushes/pops rax and rbx in SBSA::load_at() (Line# 495 - > 499 and 512 - 514. > > Thanks, > > -Zhengyu > >> >> Roman >> >> >>>>>>> This fix also fixes the intermittent is_loader_alive() assertion we >>>>>>> have >>>>>>> seen in nightly tests. While this assertion is relative rare on >>>>>>> x86_64, >>>>>>> but it is quite reproducible on x86_32 (because of it has less >>>>>>> registers(?)). With this fix, I have yet seen once. >>> >>> Unfortunately, this assertion failure came back during stress runs (put >>> tier3 tests in loop) over the weekend, sigh! But I think they are >>> different issues and this change should stay. >>> >>> Thanks, >>> >>> -Zhengyu >>> >>> >>>>>>> >>>>>>> >>>>>>> Webrev: >>>>>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Test: >>>>>>> ???? hotspot_gc_shenandoah (fastdebug and release) x86_64 and >>>>>>> x86_32 on >>>>>>> Linux >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> -Zhengyu >>>>>>> >>>>>> >>>> >> From rkennke at redhat.com Mon Oct 7 18:12:27 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 7 Oct 2019 20:12:27 +0200 Subject: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier In-Reply-To: <48216464-8205-c88d-adfd-1fbd10deb00b@redhat.com> References: <18539dae-6fa9-77c8-ed32-43ada2e8d773@redhat.com> <5313ea0d-3fe4-d004-aa65-9cf9c504f5e7@redhat.com> <0ead7a2f-2d91-7610-388d-ea7d3aaeb9ab@redhat.com> <1461b9eb-2990-9aa2-ec79-e669fdc7c427@redhat.com> <5563e056-cc75-03a9-8830-ce1640e371ab@redhat.com> <3eee358a-03c8-3116-c833-d132fff52dd0@redhat.com> <48216464-8205-c88d-adfd-1fbd10deb00b@redhat.com> Message-ID: Good! That seems much simpler! Thanks, Roman > Hi Roman, > > As you suggested offline, uses push_IU_state()/pop_IU_state() instead. > > http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.02/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) with x86_64 and x86_32 > JVM on Linux. > > Thanks, > > -Zhengyu > > On 10/7/19 7:31 AM, Zhengyu Gu wrote: >>>> >>>> Webrev: >>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/ >>>> >>> >>> Is that the same patch as before? >> >> No. This patch pushes/pops rax and rbx in SBSA::load_at() (Line# 495 - >> 499 and 512 - 514. >> >> Thanks, >> >> -Zhengyu >> >>> >>> Roman >>> >>> >>>>>>>> This fix also fixes the intermittent is_loader_alive() assertion we >>>>>>>> have >>>>>>>> seen in nightly tests. While this assertion is relative rare on >>>>>>>> x86_64, >>>>>>>> but it is quite reproducible on x86_32 (because of it has less >>>>>>>> registers(?)). With this fix, I have yet seen once. >>>> >>>> Unfortunately, this assertion failure came back during stress runs (put >>>> tier3 tests in loop) over the weekend, sigh! But I think they are >>>> different issues and this change should stay. >>>> >>>> Thanks, >>>> >>>> -Zhengyu >>>> >>>> >>>>>>>> >>>>>>>> >>>>>>>> Webrev: >>>>>>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Test: >>>>>>>> ???? hotspot_gc_shenandoah (fastdebug and release) x86_64 and >>>>>>>> x86_32 on >>>>>>>> Linux >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> -Zhengyu >>>>>>>> >>>>>>> >>>>> >>> From zgu at redhat.com Mon Oct 7 23:00:13 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 07 Oct 2019 23:00:13 +0000 Subject: hg: shenandoah/jdk: Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier Message-ID: <201910072300.x97N0EOi011994@aojmv0008.oracle.com> Changeset: 06904b2b3b0f Author: zgu Date: 2019-10-07 17:50 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/06904b2b3b0f Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp From shade at redhat.com Tue Oct 8 09:43:25 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 8 Oct 2019 11:43:25 +0200 Subject: RFR (XS/T) 8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah In-Reply-To: <00b996d9-091a-5f7a-d4a3-e641ca481bec@redhat.com> References: <64c689a2-2894-3ea7-52f9-3906fa04a9ee@redhat.com> <00b996d9-091a-5f7a-d4a3-e641ca481bec@redhat.com> Message-ID: Thanks, I also think it is trivial, and going to push it soon. -Aleksey On 10/7/19 1:09 PM, Roman Kennke wrote: > Looks good to me. > > Thanks, > Roman > > >> Trivial test bug: >> https://bugs.openjdk.java.net/browse/JDK-8231931 >> >> Fix: >> >> diff -r f9cd97ec8549 test/hotspot/jtreg/serviceability/sa/TestUniverse.java >> --- a/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 11:45:11 2019 +0200 >> +++ b/test/hotspot/jtreg/serviceability/sa/TestUniverse.java Mon Oct 07 12:48:25 2019 +0200 >> @@ -87,5 +87,5 @@ >> >> case Shenandoah: >> - expStrings.add("Shenandoah Heap"); >> + expStrings.add("Shenandoah heap"); >> break; >> } >> >> Testing: affected test with Shenandoah >> > -- Thanks, -Aleksey From amirhadadi at hotmail.com Tue Oct 8 14:34:21 2019 From: amirhadadi at hotmail.com (Amir Hadadi) Date: Tue, 8 Oct 2019 14:34:21 +0000 Subject: heap memory usage increasing over time with a fixed live set size Message-ID: Hello all, I've encountered a problem of increasing heap usage with Shenandoah. For a workload with a non increasing live set, the used memory as reported in the logs at the end of a gc cycle is constantly increasing. The total time spent in concurrent gc as reported by GarbageCollectorMXBean::getCollectionTime is also constantly increasing, starting at 5% of the time going up to 60% and more. The memory usage is going up from 500MB to 2500MB over a period of 2-3 days, again without the live set materially changing. At this point I'm forced to restart the nodes. I'm using an OpenJDK 12.0.2 binary from AdoptOpenJdk in a container based on alpine linux. No special command line flags, I'm only setting the number of concurrent gc threads to 2. Any pointers on what can be the issue and how to debug it will be greatly appreciated! This is an excerpt from the gc logs at a stage where the used memory is 985MB: [60988.631s][info][gc ] Trigger: Average GC time (338.67 ms) is above the time for allocation rate (628.11 MB/s) to deplete free headroom (212M) [60988.631s][info][gc,ergo ] Free headroom: 366M (free) - 153M (spike) - 0M (penalties) = 212M [60988.631s][info][gc,ergo ] Free: 366M (373 regions), Max regular: 1024K, Max humongous: 161792K, External frag: 57%, Internal frag: 1% [60988.631s][info][gc,ergo ] Evacuation Reserve: 154M (154 regions), Max regular: 1024K [60988.631s][info][gc,start ] GC(16150) Concurrent reset [60988.631s][info][gc,task ] GC(16150) Using 2 of 6 workers for concurrent reset [60988.634s][info][gc ] GC(16150) Concurrent reset 2540M->2541M(3072M) 2.908ms [60988.635s][info][gc,start ] GC(16150) Pause Init Mark (process weakrefs) [60988.635s][info][gc,task ] GC(16150) Using 6 of 6 workers for init marking [60988.640s][info][gc,ergo ] GC(16150) Pacer for Mark. Expected Live: 512M, Free: 365M, Non-Taxable: 36M, Alloc Tax Rate: 5.1x [60988.640s][info][gc ] GC(16150) Pause Init Mark (process weakrefs) 5.468ms [60988.641s][info][gc,start ] GC(16150) Concurrent marking (process weakrefs) [60988.641s][info][gc,task ] GC(16150) Using 2 of 6 workers for concurrent marking [60988.838s][info][gc ] GC(16150) Concurrent marking (process weakrefs) 2543M->2648M(3072M) 196.966ms [60988.838s][info][gc,start ] GC(16150) Concurrent precleaning [60988.838s][info][gc,task ] GC(16150) Using 1 of 6 workers for concurrent preclean [60988.839s][info][gc ] GC(16150) Concurrent precleaning 2648M->2649M(3072M) 1.010ms [60988.840s][info][gc,start ] GC(16150) Pause Final Mark (process weakrefs) [60988.840s][info][gc,task ] GC(16150) Using 6 of 6 workers for final marking [60988.841s][info][gc,ergo ] GC(16150) Adaptive CSet Selection. Target Free: 307M, Actual Free: 1071M, Max CSet: 128M, Min Garbage: 0M [60988.842s][info][gc,ergo ] GC(16150) Collectable Garbage: 923M (45% of total), 4M CSet, 928 CSet regions [60988.842s][info][gc,ergo ] GC(16150) Immediate Garbage: 856M (42% of total), 857 regions [60988.843s][info][gc,ergo ] GC(16150) Pacer for Evacuation. Used CSet: 927M, Free: 1113M, Non-Taxable: 111M, Alloc Tax Rate: 2.0x [60988.843s][info][gc ] GC(16150) Pause Final Mark (process weakrefs) 2.489ms [60988.843s][info][gc,start ] GC(16150) Concurrent cleanup [60988.843s][info][gc ] GC(16150) Concurrent cleanup 2649M->1800M(3072M) 0.581ms [60988.843s][info][gc,ergo ] GC(16150) Free: 1106M (1113 regions), Max regular: 1024K, Max humongous: 61440K, External frag: 95%, Internal frag: 0% [60988.843s][info][gc,ergo ] GC(16150) Evacuation Reserve: 153M (154 regions), Max regular: 1024K [60988.843s][info][gc,start ] GC(16150) Concurrent evacuation [60988.843s][info][gc,task ] GC(16150) Using 2 of 6 workers for concurrent evacuation [60988.849s][info][gc ] GC(16150) Concurrent evacuation 1800M->1834M(3072M) 5.537ms [60988.850s][info][gc,start ] GC(16150) Pause Init Update Refs [60988.850s][info][gc,ergo ] GC(16150) Pacer for Update Refs. Used: 1834M, Free: 1078M, Non-Taxable: 107M, Alloc Tax Rate: 2.1x [60988.850s][info][gc ] GC(16150) Pause Init Update Refs 0.163ms [60988.850s][info][gc,start ] GC(16150) Concurrent update references [60988.850s][info][gc,task ] GC(16150) Using 2 of 6 workers for concurrent reference update [60988.955s][info][gc ] GC(16150) Concurrent update references 1834M->1913M(3072M) 104.698ms [60988.955s][info][gc,start ] GC(16150) Pause Final Update Refs [60988.955s][info][gc,task ] GC(16150) Using 6 of 6 workers for final reference update [60988.958s][info][gc ] GC(16150) Pause Final Update Refs 2.189ms [60988.958s][info][gc,start ] GC(16150) Concurrent cleanup [60988.958s][info][gc ] GC(16150) Concurrent cleanup 1913M->985M(3072M) 0.464ms [60988.958s][info][gc,ergo ] Free: 1921M (1928 regions), Max regular: 1024K, Max humongous: 1040384K, External frag: 48%, Internal frag: 0% [60988.958s][info][gc,ergo ] Evacuation Reserve: 154M (154 regions), Max regular: 1024K [60988.958s][info][gc,ergo ] Pacer for Idle. Initial: 61M, Alloc Tax Rate: 1.0x From shade at redhat.com Tue Oct 8 14:51:18 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 8 Oct 2019 16:51:18 +0200 Subject: heap memory usage increasing over time with a fixed live set size In-Reply-To: References: Message-ID: On 10/8/19 4:34 PM, Amir Hadadi wrote: > I've encountered a problem of increasing heap usage with Shenandoah. For a workload with a non > increasing live set, the used memory as reported in the logs at the end of a gc cycle is > constantly increasing. The total time spent in concurrent gc as reported by > GarbageCollectorMXBean::getCollectionTime is also constantly increasing, starting at 5% of the > time going up to 60% and more. The memory usage is going up from 500MB to 2500MB over a period > of 2-3 days, again without the live set materially changing. At this point I'm forced to restart > the nodes. Are you seeing this only with Shenandoah? This looks more like a very slow Java-level memory leak, to be honest. I think you first need to confirm the live data set indeed does not change. Doing two heap dumps, one in the early stages (when heap is not full), and the later stages (when heap is full) would tell what exactly is in the heap. This might provide a clue if that is indeed the application-level memory leak, or something that Shenandoah does not clean up (like weak references, old classes, etc). > I'm using an OpenJDK 12.0.2 binary from AdoptOpenJdk in a container based on alpine linux. > No special command line flags, I'm only setting the number of concurrent gc threads to 2. > Any pointers on what can be the issue and how to debug it will be greatly appreciated! Can you post the link to the complete GC logs, as this unfolds, somewhere? Unfortunately, a single point in GC log does not tell us much. When you reach 2500MB, does invoking explicit GC (i.e. "jcmd GC.run") help to unclutter the heap? I have a hunch that special cases like Strings from StringTable, classes, etc. are not reclaimed with the regular concurrent cycles, unless you do -XX:+ClassUnloadingWithConcurrentMark. -- Thanks, -Aleksey From amirhadadi at hotmail.com Tue Oct 8 20:37:51 2019 From: amirhadadi at hotmail.com (Amir Hadadi) Date: Tue, 8 Oct 2019 20:37:51 +0000 Subject: heap memory usage increasing over time with a fixed live set size In-Reply-To: References: , Message-ID: I had explicit gc disabled. I'm enabling it and will wait until the memory increases again and do an explicit GC.run. I'm betting your hunch is right.. ________________________________ From: Aleksey Shipilev Sent: Tuesday, October 8, 2019 5:51 PM To: Amir Hadadi ; shenandoah-dev at openjdk.java.net Subject: Re: heap memory usage increasing over time with a fixed live set size On 10/8/19 4:34 PM, Amir Hadadi wrote: > I've encountered a problem of increasing heap usage with Shenandoah. For a workload with a non > increasing live set, the used memory as reported in the logs at the end of a gc cycle is > constantly increasing. The total time spent in concurrent gc as reported by > GarbageCollectorMXBean::getCollectionTime is also constantly increasing, starting at 5% of the > time going up to 60% and more. The memory usage is going up from 500MB to 2500MB over a period > of 2-3 days, again without the live set materially changing. At this point I'm forced to restart > the nodes. Are you seeing this only with Shenandoah? This looks more like a very slow Java-level memory leak, to be honest. I think you first need to confirm the live data set indeed does not change. Doing two heap dumps, one in the early stages (when heap is not full), and the later stages (when heap is full) would tell what exactly is in the heap. This might provide a clue if that is indeed the application-level memory leak, or something that Shenandoah does not clean up (like weak references, old classes, etc). > I'm using an OpenJDK 12.0.2 binary from AdoptOpenJdk in a container based on alpine linux. > No special command line flags, I'm only setting the number of concurrent gc threads to 2. > Any pointers on what can be the issue and how to debug it will be greatly appreciated! Can you post the link to the complete GC logs, as this unfolds, somewhere? Unfortunately, a single point in GC log does not tell us much. When you reach 2500MB, does invoking explicit GC (i.e. "jcmd GC.run") help to unclutter the heap? I have a hunch that special cases like Strings from StringTable, classes, etc. are not reclaimed with the regular concurrent cycles, unless you do -XX:+ClassUnloadingWithConcurrentMark. -- Thanks, -Aleksey From zgu at redhat.com Wed Oct 9 11:47:59 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 9 Oct 2019 07:47:59 -0400 Subject: RFR 8232008: Shenandoah: C1 load barrier does not match interpreter version Message-ID: Bug: https://bugs.openjdk.java.net/browse/JDK-8232008 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232008/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) with x86_64 and x86-32 JVM on Linux. Thanks, -Zhengyu From amirhadadi at hotmail.com Wed Oct 9 12:52:25 2019 From: amirhadadi at hotmail.com (Amir Hadadi) Date: Wed, 9 Oct 2019 12:52:25 +0000 Subject: heap memory usage increasing over time with a fixed live set size In-Reply-To: References: , Message-ID: It seems not having a frequent enough class unloading is indeed the culprit! I see that when a degenerated gc occasionally happens due to allocation failure, class unloading gets the memory back to baseline level. The logs also show that there's a serious amount of strings being removed from the string table, probably due to Jackson interning field names. So basically what happens is that memory usage goes up and concurrent gc time skyrockets until a degenerated gc kicks in and gets everything back to normal. With -XX:+ClassUnloadingWithConcurrentMark the memory usage looks stable, though pauses are longer as expected. I must say I'm now advising people to move from zgc to Shenandoah, as it's more promising for our use case: 1) Heaps that can benefit from compressed oops. 2) Bounded pacing time which improves visibility. 3) Better integration with jmx beans exposing gc metrics which also improves visibility. So you've done a great work! Once Shenandoah supports concurrent class unloading it would be even better ?? ________________________________ From: Aleksey Shipilev Sent: Tuesday, October 8, 2019 5:51 PM To: Amir Hadadi ; shenandoah-dev at openjdk.java.net Subject: Re: heap memory usage increasing over time with a fixed live set size On 10/8/19 4:34 PM, Amir Hadadi wrote: > I've encountered a problem of increasing heap usage with Shenandoah. For a workload with a non > increasing live set, the used memory as reported in the logs at the end of a gc cycle is > constantly increasing. The total time spent in concurrent gc as reported by > GarbageCollectorMXBean::getCollectionTime is also constantly increasing, starting at 5% of the > time going up to 60% and more. The memory usage is going up from 500MB to 2500MB over a period > of 2-3 days, again without the live set materially changing. At this point I'm forced to restart > the nodes. Are you seeing this only with Shenandoah? This looks more like a very slow Java-level memory leak, to be honest. I think you first need to confirm the live data set indeed does not change. Doing two heap dumps, one in the early stages (when heap is not full), and the later stages (when heap is full) would tell what exactly is in the heap. This might provide a clue if that is indeed the application-level memory leak, or something that Shenandoah does not clean up (like weak references, old classes, etc). > I'm using an OpenJDK 12.0.2 binary from AdoptOpenJdk in a container based on alpine linux. > No special command line flags, I'm only setting the number of concurrent gc threads to 2. > Any pointers on what can be the issue and how to debug it will be greatly appreciated! Can you post the link to the complete GC logs, as this unfolds, somewhere? Unfortunately, a single point in GC log does not tell us much. When you reach 2500MB, does invoking explicit GC (i.e. "jcmd GC.run") help to unclutter the heap? I have a hunch that special cases like Strings from StringTable, classes, etc. are not reclaimed with the regular concurrent cycles, unless you do -XX:+ClassUnloadingWithConcurrentMark. -- Thanks, -Aleksey From gnu.andrew at redhat.com Wed Oct 9 15:39:20 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Wed, 9 Oct 2019 16:39:20 +0100 Subject: [RFR] [8u] 8u232-b08 Upstream Sync Message-ID: Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/root/merge.changeset Changes in aarch64-shenandoah-jdk8u232-b08: - S8225425: java.lang.UnsatisfiedLinkError: net.dll: Can't find dependent libraries - S8226607: Inconsistent info between pcsclite.md and MUSCLE headers - S8228469: (tz) Upgrade time-zone data to tzdata2019b - S8230085: (fs) FileStore::isReadOnly is always true on macOS Catalina - S8231098: (tz) Upgrade time-zone data to tzdata2019c - S8231463: Fix runtime/RedefineTests/RedefineDoubleDelete.java test in 8u Main issues of note: Nothing really as pretty much all changes are in the JDK repository. diffstat for root b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for corba b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for jaxp b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for jaxws b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for langtools b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for nashorn b/.hgtags | 1 + b/THIRD_PARTY_README | 15 +++++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diffstat for jdk b/.hgtags | 1 b/THIRD_PARTY_README | 15 b/make/data/tzdata/VERSION | 2 b/make/data/tzdata/africa | 168 ++++- b/make/data/tzdata/antarctica | 14 b/make/data/tzdata/asia | 243 ++++---- b/make/data/tzdata/australasia | 154 +++-- b/make/data/tzdata/europe | 298 ++++++---- b/make/data/tzdata/factory | 2 b/make/data/tzdata/leapseconds | 41 - b/make/data/tzdata/northamerica | 291 ++++++--- b/make/data/tzdata/pacificnew | 2 b/make/data/tzdata/southamerica | 79 +- b/make/data/tzdata/systemv | 2 b/make/data/tzdata/zone.tab | 5 b/make/lib/NetworkingLibraries.gmk | 2 b/src/share/classes/sun/util/calendar/ZoneInfoFile.java | 20 b/src/solaris/classes/sun/nio/fs/BsdFileStore.java | 20 b/src/solaris/classes/sun/nio/fs/BsdNativeDispatcher.java | 16 b/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java | 2 b/src/solaris/native/sun/nio/fs/BsdNativeDispatcher.c | 23 b/src/solaris/native/sun/security/smartcardio/MUSCLE/COPYING | 95 +++ b/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java | 14 b/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthentication.c | 32 - b/test/java/util/TimeZone/TimeZoneTest.java | 7 b/test/lib/testlibrary/jdk/testlibrary/net/URIBuilder.java | 111 +++ b/test/sun/net/www/protocol/http/TestTransparentNTLM.java | 203 ++++++ 27 files changed, 1350 insertions(+), 512 deletions(-) diffstat for hotspot a/test/runtime/RedefineTests/test8178870.sh | 87 ----------------- b/.hgtags | 1 b/THIRD_PARTY_README | 15 -- b/test/runtime/RedefineTests/RedefineDoubleDelete.java | 4 4 files changed, 10 insertions(+), 97 deletions(-) Successfully built on x86, x86_64, s390, s390x, ppc, ppc64, ppc64le & aarch64. Ok to push? Thanks, -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 https://keybase.io/gnu_andrew From gnu.andrew at redhat.com Wed Oct 9 20:57:00 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Wed, 9 Oct 2019 21:57:00 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u232-b08 Upstream Sync In-Reply-To: <31bd9e3b-8123-ec70-477c-99feef568362@redhat.com> References: <31bd9e3b-8123-ec70-477c-99feef568362@redhat.com> Message-ID: On 09/10/2019 17:41, Aleksey Shipilev wrote: > On 10/9/19 5:39 PM, Andrew John Hughes wrote: >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/corba/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jaxp/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jaxws/merge.changeset > > Looks trivially good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/jdk/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/hotspot/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/langtools/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/nashorn/merge.changeset >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-b08/root/merge.changeset > > Looks trivially good. > > Thumbs up, good to go. > Thanks. Pushed. -- 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 Thu Oct 10 10:53:56 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 10 Oct 2019 12:53:56 +0200 Subject: RFR (S) 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8231947 Fix: https://cr.openjdk.java.net/~shade/8231947/webrev.02/ This was enabled for a while now. Flag is changed to diagnostic, comment updated, the accessors renamed to make more sense. Testing: hotspot_gc_shenandoah, new test -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 10 11:16:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 10 Oct 2019 13:16:55 +0200 Subject: RFR (S) 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment In-Reply-To: References: Message-ID: Yup! Thanks! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8231947 > > Fix: > https://cr.openjdk.java.net/~shade/8231947/webrev.02/ > > This was enabled for a while now. Flag is changed to diagnostic, comment updated, the accessors > renamed to make more sense. > > Testing: hotspot_gc_shenandoah, new test > From shade at redhat.com Thu Oct 10 11:32:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 10 Oct 2019 13:32:28 +0200 Subject: RFR (M) 8232102: Shenandoah: print everything in proper units Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8232102 Shenandoah is used on smaller heaps as well as large ones. There, the default unit of "M" makes the logs too coarse and lose information. We have already fixed up some of the uses where it is critical. This issue handles the rest of the cases. This makes more sense after JDK-8217315 is fixed. Note the GC timings/heap-sizes themselves are handled by shared code, see JDK-8232100. Fix: https://cr.openjdk.java.net/~shade/8232102/webrev.01/ Testing: hotspot_gc_shenandoah {fastdebug, release}, eyeballing gc logs -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 10 11:43:03 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 10 Oct 2019 13:43:03 +0200 Subject: RFR (M) 8232102: Shenandoah: print everything in proper units In-Reply-To: References: Message-ID: Looks good! Thanks! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8232102 > > Shenandoah is used on smaller heaps as well as large ones. There, the default unit of "M" makes the > logs too coarse and lose information. We have already fixed up some of the uses where it is > critical. This issue handles the rest of the cases. This makes more sense after JDK-8217315 is > fixed. Note the GC timings/heap-sizes themselves are handled by shared code, see JDK-8232100. > > Fix: > https://cr.openjdk.java.net/~shade/8232102/webrev.01/ > > Testing: hotspot_gc_shenandoah {fastdebug, release}, eyeballing gc logs > From zgu at redhat.com Fri Oct 11 12:30:23 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 11 Oct 2019 08:30:23 -0400 Subject: RFR 8232010: Shenandoah: implement self-fixing native barrier Message-ID: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> Please review this patch that implements self-fixing LRB for in native oops. Bug: https://bugs.openjdk.java.net/browse/JDK-8232010 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232010/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) with x86_32 and x86_64 JVM on Linux. Thanks, -Zhengyu From shade at redhat.com Fri Oct 11 16:50:10 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 11 Oct 2019 18:50:10 +0200 Subject: [8u] RFR: Avoid initializing unused SharedHeap::_workers for Shenandoah Message-ID: <0935cc77-28ab-9cbe-9eb0-39dc89f83217@redhat.com> This is 8u-specific fix. The underlying reason for it was resolved since 9 with JDK-8076454. Roman noticed during 8u debugging that we have two sets of GC workers. One comes from SharedHeap::_workers, and another comes from ShenandoahHeap::_workers. We do that to implement our own ShenandoahWorkGang. Unfortunately, that means SharedHeap::_workers gets initialized, takes memory and is not used. Moreover, the codepaths that take SharedHeap::workers() would use the wrong set of workers! Oops. The way out is to stop initializing SharedHeap::_workers in shared code, and do that during Shenandoah initialization: https://cr.openjdk.java.net/~shade/shenandoah/8u-double-workers/webrev.01/ The improvement is clearly visible with NMT: NMT (before): Thread (reserved=49387KB, committed=49387KB) (thread #49) (stack: reserved=49176KB, committed=49176KB) (malloc=155KB #268) (arena=56KB #84) NMT (after): Thread (reserved=36021KB, committed=36021KB) (thread #36) (stack: reserved=35864KB, committed=35864KB) (malloc=116KB #190) (arena=41KB #58) Testing: hotspot_gc_shenandoah {fastdebug, release}, eyeballing NMT logs -- Thanks, -Aleksey From rkennke at redhat.com Fri Oct 11 16:59:35 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 11 Oct 2019 18:59:35 +0200 Subject: [8u] RFR: Avoid initializing unused SharedHeap::_workers for Shenandoah In-Reply-To: <0935cc77-28ab-9cbe-9eb0-39dc89f83217@redhat.com> References: <0935cc77-28ab-9cbe-9eb0-39dc89f83217@redhat.com> Message-ID: <3751801c-7fc1-40ff-427b-3f7b3a3736d1@redhat.com> Good. Thanks, Roman > This is 8u-specific fix. The underlying reason for it was resolved since 9 with JDK-8076454. > > Roman noticed during 8u debugging that we have two sets of GC workers. One comes from > SharedHeap::_workers, and another comes from ShenandoahHeap::_workers. We do that to implement our > own ShenandoahWorkGang. Unfortunately, that means SharedHeap::_workers gets initialized, takes > memory and is not used. Moreover, the codepaths that take SharedHeap::workers() would use the wrong > set of workers! Oops. > > The way out is to stop initializing SharedHeap::_workers in shared code, and do that during > Shenandoah initialization: > https://cr.openjdk.java.net/~shade/shenandoah/8u-double-workers/webrev.01/ > > The improvement is clearly visible with NMT: > > NMT (before): > > Thread (reserved=49387KB, committed=49387KB) > (thread #49) > (stack: reserved=49176KB, committed=49176KB) > (malloc=155KB #268) > (arena=56KB #84) > > NMT (after): > > Thread (reserved=36021KB, committed=36021KB) > (thread #36) > (stack: reserved=35864KB, committed=35864KB) > (malloc=116KB #190) > (arena=41KB #58) > > Testing: hotspot_gc_shenandoah {fastdebug, release}, eyeballing NMT logs > From zgu at redhat.com Fri Oct 11 17:11:57 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 11 Oct 2019 13:11:57 -0400 Subject: RFR 8232009: Shenandoah: C2 load barrier does not match interpreter version Message-ID: <689f5b52-de3b-6a1a-0032-365dedf58414@redhat.com> Please review this patch that matches C2 load barrier to interpreter's implementation. Bug: https://bugs.openjdk.java.net/browse/JDK-8232009 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232009/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) with x86_32 and x86_64 JVMs on Linux Thanks, -Zhengyu From shade at redhat.com Fri Oct 11 18:36:02 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 11 Oct 2019 20:36:02 +0200 Subject: RFR (XS/T) 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong Message-ID: Recent regression: https://bugs.openjdk.java.net/browse/JDK-8232176 JDK-8231947 added the assert in ShenandoahEvacuationTask that is too strong. There is a corner case when the region is collection-set-pinned (CSP), and the oom-evac-protocol waits for GC thread to complete the evacuation. There is a short window where GC thread can see the CSP region before seeing cancellation request. It seems easier to remove the too strong assert for now. is_conc_move_allowed() == true is a lie right now. We can add cancelled_gc() check inside of it, but that would only be safe if we know that caller holds oom-evac-scope. The assertion failure reliably reproduces with -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot on SPECjvm2008. Fix: https://cr.openjdk.java.net/~shade/8232176/webrev.01/ Testing: broken tests -- Thanks, -Aleksey From stefan.reich.maker.of.eye at googlemail.com Sat Oct 12 12:03:58 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Sat, 12 Oct 2019 14:03:58 +0200 Subject: Uncommit delay option Message-ID: Hi, I'm still looking for the perfect garbage collector. Went with G1 for a long time - and happily. Then ZGC was tried, but Linux's problems with correctly reporting multi-mapped memory are a real problem. Thus now Shenandoah! My question regards this article: https://shipilev.net/jvm/anatomy-quarks/21-heap-uncommit/ from the absolutely excellent JVM Anatomy Quarks series (best JVM coder pr0n I have read in a long time). The article talks about uncommitting memory after 5 seconds. I want to try that, but can't find the option for it. I'm using JDK 13. I ship to end users, so keeping memory use compact is essential. Many greetings, Stefan -- Stefan Reich BotCompany.de // Java-based operating systems From holger at applied-asynchrony.com Sat Oct 12 13:33:15 2019 From: holger at applied-asynchrony.com (=?UTF-8?Q?Holger_Hoffst=c3=a4tte?=) Date: Sat, 12 Oct 2019 15:33:15 +0200 Subject: Uncommit delay option In-Reply-To: References: Message-ID: <652818ca-1e13-66ef-8184-2fac6686c1d0@applied-asynchrony.com> On 10/12/19 2:03 PM, Stefan Reich wrote: > Hi, > > I'm still looking for the perfect garbage collector. Went with G1 for a > long time - and happily. Then ZGC was tried, but Linux's problems with > correctly reporting multi-mapped memory are a real problem. Thus now > Shenandoah! > > My question regards this article: > https://shipilev.net/jvm/anatomy-quarks/21-heap-uncommit/ from the > absolutely excellent JVM Anatomy Quarks series (best JVM coder pr0n I have > read in a long time). > > The article talks about uncommitting memory after 5 seconds. I want to try > that, but can't find the option for it. I'm using JDK 13. I ship to end > users, so keeping memory use compact is essential. The option is called ShenandoahUncommitDelay (in milliseconds), e.g. -XX:ShenandoahUncommitDelay=60000 will try to uncommit every minute. Note that this doesn't *guarantee* RSS shrinking on every interval; it might take a concurrent cycle or two for regions to be compact enough. In JDK13 the default is 300000 (5 minutes), when you set the "compact" heuristic via -XX:ShenandoahGCHeuristics=compact it is automatically set to 1000 aka 1 second. I personally find this a bit too aggressive/overhead-y and use the above 60000; constantly shrinking the heap only to regrow it a second later is not helpful. Another and IMHO much more useful trick for generational workloads is IMHO to make sure ShenandoahAllocationThreshold is set "properly", meaning how much allocation (in terms of max. heap %) you want to allow before scheduling a concurrent cycle. By default (i.e. without compact profile) Shenandoah is great for heaps with large-ish residency, but less so for small heaps with slow-but-constant allocation that keeps residency unintentionally high between ShenandoahGuaranteedGCInterval cycles (very annoying e.g. with apps that do I/O via NIO and fill the heap with useless buffers, assuming a traditional nursery-style GC instead of recycling themselves). Setting the allocation threshold as part of compact will prevent this, at the cost of more frequent concurrent cycles. The benefit here is the ability to allow for very large -Xmx heaps when required, but cruise along with much smaller heaps before and after large outlier allocations. Whether this is something you want to allow is for you to decide. You can verify the default values and how they change with the different heuristics via -XX:+PrintFlagsFinal. In my experience Shenandoah is currently the only GC that does all these things properly and as expected (as of JDK13). hth, Holger From shade at redhat.com Mon Oct 14 07:42:12 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 09:42:12 +0200 Subject: Uncommit delay option In-Reply-To: <652818ca-1e13-66ef-8184-2fac6686c1d0@applied-asynchrony.com> References: <652818ca-1e13-66ef-8184-2fac6686c1d0@applied-asynchrony.com> Message-ID: <7bc7200f-f44d-c750-5782-1b1d65843b66@redhat.com> On 10/12/19 3:33 PM, Holger Hoffst?tte wrote: > The option is called ShenandoahUncommitDelay (in milliseconds), e.g. > -XX:ShenandoahUncommitDelay=60000 will try to uncommit every minute. > Note that this doesn't *guarantee* RSS shrinking on every interval; > it might take a concurrent cycle or two for regions to be compact > enough. To add to this, ShenandoahUncommitDelay means the time the empty region stays committed. What is important here is that regions become empty as GC acts on the heap, which means whatever small uncommit delay would be useless unless you have GC cycles running as well. When optimizing for footprint, I would start with "compact" heuristics that tunes down everything to the densest extreme, and then worked backwards opting out of some of the tuning it ergonomically applied, checking it does not regress footprint numbers for your scenario. GC logs should say at the start what adjustments the heuristics made. Stefan, be sure to read our wiki page: https://wiki.openjdk.java.net/display/Shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 14 09:02:45 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 14 Oct 2019 11:02:45 +0200 Subject: RFR (XS/T) 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong In-Reply-To: References: Message-ID: <82671652-4969-f7d2-2a0b-a8d869f9904e@redhat.com> Hmm, ok. Roman > Recent regression: > https://bugs.openjdk.java.net/browse/JDK-8232176 > > JDK-8231947 added the assert in ShenandoahEvacuationTask that is too strong. There is a corner case > when the region is collection-set-pinned (CSP), and the oom-evac-protocol waits for GC thread to > complete the evacuation. There is a short window where GC thread can see the CSP region before > seeing cancellation request. > > It seems easier to remove the too strong assert for now. is_conc_move_allowed() == true is a lie > right now. We can add cancelled_gc() check inside of it, but that would only be safe if we know that > caller holds oom-evac-scope. > > The assertion failure reliably reproduces with -XX:ShenandoahGCHeuristics=aggressive > -XX:+ShenandoahOOMDuringEvacALot on SPECjvm2008. > > Fix: > https://cr.openjdk.java.net/~shade/8232176/webrev.01/ > > Testing: broken tests > From shade at redhat.com Mon Oct 14 09:07:12 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 11:07:12 +0200 Subject: RFR (XS/T) 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong In-Reply-To: <82671652-4969-f7d2-2a0b-a8d869f9904e@redhat.com> References: <82671652-4969-f7d2-2a0b-a8d869f9904e@redhat.com> Message-ID: Thanks, pushed. -Aleksey On 10/14/19 11:02 AM, Roman Kennke wrote: > Hmm, ok. > > Roman > > >> Recent regression: >> https://bugs.openjdk.java.net/browse/JDK-8232176 >> >> JDK-8231947 added the assert in ShenandoahEvacuationTask that is too strong. There is a corner case >> when the region is collection-set-pinned (CSP), and the oom-evac-protocol waits for GC thread to >> complete the evacuation. There is a short window where GC thread can see the CSP region before >> seeing cancellation request. >> >> It seems easier to remove the too strong assert for now. is_conc_move_allowed() == true is a lie >> right now. We can add cancelled_gc() check inside of it, but that would only be safe if we know that >> caller holds oom-evac-scope. >> >> The assertion failure reliably reproduces with -XX:ShenandoahGCHeuristics=aggressive >> -XX:+ShenandoahOOMDuringEvacALot on SPECjvm2008. >> >> Fix: >> https://cr.openjdk.java.net/~shade/8232176/webrev.01/ >> >> Testing: broken tests >> > From shade at redhat.com Mon Oct 14 09:20:32 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 11:20:32 +0200 Subject: RFR (XS) 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing Message-ID: Bug: https://bugs.openjdk.java.net/browse/JDK-8232205 Noticed that -Xlog:gc+stats does not print "Update Roots" section for "Update References". This is a regression since JDK-8223951. Fix: https://cr.openjdk.java.net/~shade/8232205/webrev.01/ Testing: hotspot_gc_shenandoah, eyeballing gc+stats -- Thanks, -Aleksey From stefan.reich.maker.of.eye at googlemail.com Mon Oct 14 10:59:21 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Mon, 14 Oct 2019 12:59:21 +0200 Subject: Uncommit delay option In-Reply-To: <7bc7200f-f44d-c750-5782-1b1d65843b66@redhat.com> References: <652818ca-1e13-66ef-8184-2fac6686c1d0@applied-asynchrony.com> <7bc7200f-f44d-c750-5782-1b1d65843b66@redhat.com> Message-ID: Thanks Aleksey. I'll now be brave and run Shenandoah on my desktop, without the per-minute gc() calls which I had in place before for G1 to keep the process compact. Shenandoah should compact on its own, right? Would you say the "compact" setting is able to cause any noticeable performance degradation in general? Many greetings, Stefan On Mon, 14 Oct 2019 at 09:42, Aleksey Shipilev wrote: > On 10/12/19 3:33 PM, Holger Hoffst?tte wrote: > > The option is called ShenandoahUncommitDelay (in milliseconds), e.g. > > -XX:ShenandoahUncommitDelay=60000 will try to uncommit every minute. > > Note that this doesn't *guarantee* RSS shrinking on every interval; > > it might take a concurrent cycle or two for regions to be compact > > enough. > > To add to this, ShenandoahUncommitDelay means the time the empty region > stays committed. What is > important here is that regions become empty as GC acts on the heap, which > means whatever small > uncommit delay would be useless unless you have GC cycles running as well. > > When optimizing for footprint, I would start with "compact" heuristics > that tunes down everything to > the densest extreme, and then worked backwards opting out of some of the > tuning it ergonomically > applied, checking it does not regress footprint numbers for your scenario. > GC logs should say at the > start what adjustments the heuristics made. > > Stefan, be sure to read our wiki page: > https://wiki.openjdk.java.net/display/Shenandoah > > -- > Thanks, > -Aleksey > > -- Stefan Reich BotCompany.de // Java-based operating systems From shade at redhat.com Mon Oct 14 11:11:45 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 13:11:45 +0200 Subject: Uncommit delay option In-Reply-To: References: <652818ca-1e13-66ef-8184-2fac6686c1d0@applied-asynchrony.com> <7bc7200f-f44d-c750-5782-1b1d65843b66@redhat.com> Message-ID: <3b8e948e-ed1e-db66-6231-77d0723c1180@redhat.com> On 10/14/19 12:59 PM, Stefan Reich wrote: > Thanks Aleksey. I'll now be brave and run Shenandoah on my desktop, without the per-minute gc() > calls which I had in place before for G1 to keep the process compact. Shenandoah should compact on > its own, right? Shenandoah can schedule the GC cycles on its own, that's what ShenandoahGuaranteedGCInterval is for: it has the default of 5 minutes, and "compact" tunes it down to 30 seconds. > Would you say the "compact" setting is able to cause any noticeable performance degradation in general? In general, you can't have your cake and eat it too. Wiki page I referenced says: "compact ... ***This heuristics would normally incur throughput overheads***, but shall provide the most prompt space reclamation." My JVM AQ post says: "...we can clearly see "Shenandoah (compact)" taking quite a some additional time to work. That is the price we have to pay to have the denser footprint. Or, in other words, this is the manifestation of throughput-latency-footprint tradeoff." And you would not be able to say by how much it hurts you until you try. The only ways to hide some of that degradation is having very short GCs (which implies the workload is purely young-gc), or having spare CPUs to offload the excess GC work to. -- Thanks, -Aleksey From shade at redhat.com Mon Oct 14 11:40:40 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 13:40:40 +0200 Subject: RFC: Pick up jdk-14+18+ to sh/jdk Message-ID: This fixes a few build failures and provides better baseline for testing. Merge is trivial. Changeset list: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk-14%2b18%2b/changesets.txt Testing: hotspot_gc_shenandoah {fastdebug, release} -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 14 14:06:58 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 14 Oct 2019 16:06:58 +0200 Subject: RFC: Pick up jdk-14+18+ to sh/jdk In-Reply-To: References: Message-ID: <92716e56-4da7-cd27-db7d-0f6af629a72d@redhat.com> Ok, go! Thanks, Roman > This fixes a few build failures and provides better baseline for testing. Merge is trivial. > > Changeset list: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk-14%2b18%2b/changesets.txt > > Testing: hotspot_gc_shenandoah {fastdebug, release} > From shade at redhat.com Mon Oct 14 15:26:52 2019 From: shade at redhat.com (shade at redhat.com) Date: Mon, 14 Oct 2019 15:26:52 +0000 Subject: hg: shenandoah/jdk: 96 new changesets Message-ID: <201910141527.x9EFR2lv013245@aojmv0008.oracle.com> Changeset: 26f0ed77734e Author: ecaspole Date: 2019-10-04 12:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/26f0ed77734e 8215521: add microbenchmark to measure AccessController.getContext Reviewed-by: redestad, alanb + test/micro/org/openjdk/bench/java/security/GetContext.java Changeset: c6f1226cfb72 Author: vdeshpande Date: 2019-10-04 11:45 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c6f1226cfb72 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors Summary: Fix for UseAVX=3 has performance degredation on Skylake (X7) processors Reviewed-by: kvn ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad Changeset: ff45c1bf8129 Author: lancea Date: 2019-10-04 15:51 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff45c1bf8129 8223771: FileSystemProvider.newFileSystem(Path, Map) should throw IOException when called with a file that cannot be open Reviewed-by: alanb ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/NonExistentPathTests.java Changeset: 72ef2c0faf47 Author: lancea Date: 2019-10-06 13:08 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/72ef2c0faf47 8231093: Document the ZIP FS properties noCompression and releaseVersion Reviewed-by: clanger, martin, alanb ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java ! src/jdk.zipfs/share/classes/module-info.java + test/jdk/jdk/nio/zipfs/CompressionModeTest.java ! test/jdk/jdk/nio/zipfs/jarfs/MultiReleaseJarTest.java Changeset: 97cd0aa39787 Author: pliden Date: 2019-10-07 07:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/97cd0aa39787 8231825: ZGC: Remove ZMaxHeapSize and ZMaxHeapSizeShift Reviewed-by: tschatzl, eosterlund ! src/hotspot/cpu/aarch64/gc/z/zGlobals_aarch64.hpp ! src/hotspot/cpu/x86/gc/z/zGlobals_x86.hpp ! src/hotspot/share/gc/z/zArguments.cpp ! src/hotspot/share/gc/z/zGlobals.hpp ! src/hotspot/share/gc/z/zVirtualMemory.cpp Changeset: ccbb5a2bf3ab Author: redestad Date: 2019-10-07 12:06 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ccbb5a2bf3ab 8231895: Avoid String allocations in JVM_FindLoadedClass Reviewed-by: jiangli, dholmes, iklam ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/jvm.cpp Changeset: 8991796c17d4 Author: roland Date: 2019-10-01 10:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8991796c17d4 8231620: assert(bol->is_Bool()) crash during split if due to FastLockNode Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/split_if.cpp + test/hotspot/jtreg/compiler/loopopts/SplitIfSharedFastLockBehindCastPP.java Changeset: bada0782842a Author: roland Date: 2019-10-02 17:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bada0782842a 8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling Reviewed-by: vlivanov, thartmann ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopstripmining/TestConservativeAntiDep.java Changeset: b1da055915ef Author: clanger Date: 2019-10-07 13:32 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b1da055915ef 8231885: Fix/remove malformed assert in os_windows.cpp Reviewed-by: dcubed, stuefe, kbarrett ! src/hotspot/os/windows/os_windows.cpp Changeset: 74094a60d018 Author: shade Date: 2019-10-07 15:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/74094a60d018 8231930: Windows build fails after JDK-8191521 Reviewed-by: dholmes, clanger ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: d148a7e7160c Author: hannesw Date: 2019-10-07 15:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d148a7e7160c 8220217: Javadoc missing link to member method Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java + test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg2/DocumentedNonGenericChild.java + test/langtools/jdk/javadoc/doclet/testMemberInheritance/pkg2/UndocumentedGenericParent.java Changeset: 35ce0ad5870a Author: coleenp Date: 2019-10-07 10:04 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/35ce0ad5870a 8229900: RedefineDeleteJmethod.java fails with -Xcheck:jni Summary: Remove RedefineClasses adjustment and test, but improve checking for method/class matching. Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jniCheck.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineDeleteJmethod.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/libRedefineDeleteJmethod.c Changeset: 8ca46e186a63 Author: cito Date: 2019-10-07 16:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8ca46e186a63 8225694: Destination option missing in FlightRecorderMXBeanImpl Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/MBeanUtils.java ! test/jdk/jdk/jfr/jmx/TestRecordingOptions.java Changeset: 48a73ec3a817 Author: redestad Date: 2019-10-07 16:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/48a73ec3a817 8230043: Lazily load libverify 8230140: Remove unused mutex and monitor declarations Reviewed-by: hseigel, erikj, alanb, dholmes ! make/lib/CoreLibraries.gmk ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/include/jvm.h ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/os.cpp ! src/java.base/share/native/libjava/Class.c ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/check_classname.c + src/java.base/share/native/libjava/check_classname.h - src/java.base/share/native/libjava/verify_stub.c ! src/java.base/share/native/libverify/check_code.c - src/java.base/share/native/libverify/check_format.c ! test/hotspot/jtreg/serviceability/sa/ClhsdbPmap.java Changeset: b4c660a75b54 Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b4c660a75b54 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/options/TestThreadCounts.java + test/hotspot/jtreg/gc/shenandoah/options/TestThreadCountsOverride.java Changeset: f48737be4fd7 Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f48737be4fd7 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: dcb418f5aabd Author: jiangli Date: 2019-10-07 11:29 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dcb418f5aabd 8231630: Optimize boot loader with no bootclasspath append entry. Summary: Optimize SystemDictionary::load_instance_class for boot loader. Immediately return NULL if the requested class is either in the unnamed package or unnamed module, or in a module not defined to the boot loader, when there is no bootclasspath append entry. Reviewed-by: martin, aeubanks, dthomson, redestad, lfoltan, iklam ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 43f63f904bbc Author: dlong Date: 2019-10-07 13:56 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/43f63f904bbc 8231902: Build of jdk.internal.vm.compiler.management/module-info.java.extra failed Reviewed-by: kvn, ihse, erikj ! make/gensrc/Gensrc-jdk.internal.vm.compiler.management.gmk Changeset: 165b193b30dd Author: dholmes Date: 2019-10-07 18:44 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/165b193b30dd 8231289: Disentangle JvmtiRawMonitor from ObjectMonitor and clean it up Reviewed-by: sspitsyn, dcubed, coleenp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.hpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/services/threadService.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorWait/rawmnwait005/rawmnwait005.cpp Changeset: 2faeaa5933a6 Author: valeriep Date: 2019-10-08 00:01 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2faeaa5933a6 8229243: SunPKCS11-Solaris provider tests failing on Solaris 11.4 Summary: For CK_GCM_PARAMS, try the spec definition first before falling back to the header file definition Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Digest.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c + src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11gcm2.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h ! src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/p11_md.h ! src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/p11_md.h ! test/jdk/sun/security/pkcs11/Cipher/TestGCMKeyAndIvCheck.java Changeset: 5b5de2618756 Author: smarks Date: 2019-10-07 17:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5b5de2618756 8231977: Discuss serializability of collections Reviewed-by: darcy, plevart, chegar ! src/java.base/share/classes/java/util/Collection.java Changeset: 452ad8f882c6 Author: mbaesken Date: 2019-10-02 10:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/452ad8f882c6 8231751: on aix handle Power 9 in os::get_summary_cpu_info Reviewed-by: clanger, mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 227ddf1ff93d Author: mbaesken Date: 2019-10-08 09:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/227ddf1ff93d 8231753: use more Posix functionality in aix os::print_os_info Reviewed-by: clanger, dholmes ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/posix/os_posix.cpp Changeset: 55a8d95c7787 Author: redestad Date: 2019-10-08 10:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/55a8d95c7787 8231355: Remove unused utility methods in libjava Reviewed-by: dholmes, jrose, alanb ! src/hotspot/share/classfile/javaClasses.cpp ! src/java.base/share/native/libjava/VM.c ! src/java.base/share/native/libjava/jdk_util.h ! src/java.base/share/native/libjava/jni_util.c ! src/java.base/share/native/libjava/jni_util.h - src/java.base/unix/native/libjava/jdk_util_md.c ! src/java.base/windows/native/libjava/jdk_util_md.c Changeset: 7f34de3cdfe9 Author: alanb Date: 2019-10-08 10:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7f34de3cdfe9 8231921: (se) SelectorImpl.register does not need to set the attachment when it is null Reviewed-by: bpb ! src/java.base/share/classes/java/nio/channels/SelectionKey.java ! src/java.base/share/classes/sun/nio/ch/SelectorImpl.java Changeset: b0a731a6642b Author: shade Date: 2019-10-08 15:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b0a731a6642b 8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah Reviewed-by: rkennke ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java Changeset: d62c7224d5b7 Author: redestad Date: 2019-10-08 15:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d62c7224d5b7 8231993: Remove redundant pkg_str param from is_shared_class_visible_for_classloader Reviewed-by: hseigel, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 03165abce4cc Author: jlahoda Date: 2019-10-08 15:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/03165abce4cc 8230162: ScopeImpl.remove() has O(N) performance Reviewed-by: jlahoda Contributed-by: bcorso at google.com ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java ! test/langtools/tools/javac/lib/DPrinter.java ! test/langtools/tools/javac/scope/RemoveSymbolUnitTest.java Changeset: 6fc4a729763e Author: pconcannon Date: 2019-10-08 14:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6fc4a729763e 8230946: Clarify security manager behaviour of a connected DatagramSocket and DatagramChannel Summary: Update to API, to clarify that packets are dropped in the receive method of non-connected sockets if they fail the security manager checks Reviewed-by: alanb, chegar, dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/nio/channels/DatagramChannel.java Changeset: 7cb1218ef4d0 Author: pconcannon Date: 2019-10-08 15:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7cb1218ef4d0 8222829: DatagramSocket.setSoTimeout does not specify IAE when timeout is negative Summary: Clarifies behaviour of setSoTimeout() method when given negative timeout value. Reviewed-by: alanb, chegar, dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java ! test/jdk/java/net/DatagramSocket/DatagramTimeout.java Changeset: 726a3945e934 Author: dtitov Date: 2019-10-08 09:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/726a3945e934 8170299: Debugger does not stop inside the low memory notifications code Reviewed-by: sspitsyn, dholmes ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + src/hotspot/share/runtime/notificationThread.cpp + src/hotspot/share/runtime/notificationThread.hpp ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/runtime/serviceThread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/services/gcNotifier.cpp ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp ! src/hotspot/share/services/management.cpp + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/NotificationThread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java + test/jdk/com/sun/jdi/JdbStopInNotificationThreadTest.java Changeset: 94dd00d2da29 Author: dtitov Date: 2019-10-08 09:39 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94dd00d2da29 8231666: ThreadIdTable::grow() invokes invalid thread transition Reviewed-by: dholmes, rehn ! src/hotspot/share/runtime/serviceThread.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/services/threadIdTable.hpp + test/jdk/javax/management/mxbean/ThreadStartTest.java Changeset: c16f3a24a6fc Author: coleenp Date: 2019-10-08 13:18 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c16f3a24a6fc 8225681: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine fails due a) MT-unsafe modification of inline cache Summary: allow old methods in CompiledStaticDirectCall::set_to_interpreted Reviewed-by: sspitsyn, eosterlund ! src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp ! src/hotspot/cpu/arm/compiledIC_arm.cpp ! src/hotspot/cpu/ppc/compiledIC_ppc.cpp ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/sparc/compiledIC_sparc.cpp ! src/hotspot/cpu/x86/compiledIC_x86.cpp ! src/hotspot/share/code/compiledIC.cpp ! src/hotspot/share/code/compiledIC.hpp Changeset: dfe3d11378cc Author: dtitov Date: 2019-10-08 11:18 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dfe3d11378cc 8199136: Dead code in src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java Reviewed-by: dholmes, dtitov Contributed-by: mandrikov at gmail.com ! src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java Changeset: 7c1d0616828c Author: redestad Date: 2019-10-08 20:47 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7c1d0616828c 8232006: Remove dead code from klassVtable Reviewed-by: coleenp, jiangli, lfoltan ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/klassVtable.hpp Changeset: d6058bd73982 Author: kbarrett Date: 2019-10-08 15:15 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d6058bd73982 8231153: Improve concurrent refinement statistics 8043505: G1RemSet::_conc_refine_cards is incremented unsynchronized Summary: Added refinement rates and counts, removed _conc_refine_cards Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1Analytics.cpp ! src/hotspot/share/gc/g1/g1Analytics.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefine.hpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp ! src/hotspot/share/gc/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/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.hpp ! test/hotspot/jtreg/gc/g1/TestRemsetLoggingThreads.java ! test/hotspot/jtreg/gc/g1/TestRemsetLoggingTools.java Changeset: 7b41c88f8432 Author: dholmes Date: 2019-10-08 17:30 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7b41c88f8432 8231737: Cleanup JvmtiRawMonitor code Reviewed-by: sspitsyn, pliden, coleenp, dcubed ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.hpp Changeset: 23a06a5eeddd Author: darcy Date: 2019-10-08 15:27 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/23a06a5eeddd 8231368: Suppress warnings on non-serializable non-transient instance fields in java.security.jgss Reviewed-by: mullan, coffeys ! 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/krb5/internal/KRBError.java Changeset: eb68d459ba6a Author: pliden Date: 2019-10-09 08:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eb68d459ba6a 8231489: GC watermark_0_1 failed due to "metaspace.gc.Fault: GC has happened too rare" Reviewed-by: tschatzl, sjohanss ! test/hotspot/jtreg/vmTestbase/metaspace/gc/HighWaterMarkTest.java ! test/hotspot/jtreg/vmTestbase/metaspace/gc/watermark_0_1/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/gc/watermark_10_20/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/gc/watermark_70_80/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/gc/watermark_99_100/TestDescription.java ! test/jtreg-ext/requires/VMProps.java Changeset: 5185bc8dcbb1 Author: rrich Date: 2019-10-08 15:30 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5185bc8dcbb1 8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken Reviewed-by: sspitsyn, dholmes, kvn ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp ! src/hotspot/share/prims/jvmtiManageCapabilities.cpp + test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoWithEATest.java + test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/libGetOwnedMonitorInfoWithEATest.c + test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/GetOwnedMonitorStackDepthInfoWithEATest.java + test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/libGetOwnedMonitorStackDepthInfoWithEATest.c Changeset: 7605e97c9491 Author: coffeys Date: 2019-10-09 10:14 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7605e97c9491 8231770: Test java/util/zip/FlaterTest.java fails with -Xcheck:jni Reviewed-by: alanb, coffeys, chegar Contributed-by: kiran.sidhartha.ravikumar at oracle.com ! src/java.base/share/native/libzip/Deflater.c ! test/jdk/java/util/zip/FlaterTest.java Changeset: 270fdb5898f2 Author: coffeys Date: 2019-10-09 10:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/270fdb5898f2 8214560: Use {@systemProperty} for definitions of system properties (httpserver) Reviewed-by: dfuchs, coffeys, chegar Contributed-by: kiran.sidhartha.ravikumar at oracle.com ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java Changeset: 8f849d3ec1e5 Author: sgehwolf Date: 2019-10-08 15:30 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8f849d3ec1e5 8232003: (fs) Files.write can leak file descriptor in the exception case Summary: Be sure to close the leaked OutputStream in all cases Reviewed-by: alanb, bpb, clanger ! src/java.base/share/classes/java/nio/file/Files.java Changeset: d376d86b0a01 Author: eosterlund Date: 2019-10-09 12:30 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d376d86b0a01 8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level Reviewed-by: pliden, stefank, neliasso Contributed-by: erik.osterlund at oracle.com, per.liden at oracle.com, stefan.karlsson at oracle.com, nils.eliasson at oracle.com ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/z/z_aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/register_aarch64.hpp ! src/hotspot/cpu/x86/gc/z/zArguments_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/z/z_x86_64.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/compiler/compilerDirectives.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/gc/z/zBarrierSetAssembler.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phaseX.cpp Changeset: 252e7f4c4d92 Author: erikj Date: 2019-10-09 09:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/252e7f4c4d92 8231974: Build fails if no common legal notices are present Reviewed-by: dholmes, mchung, ihse ! make/CreateJmods.gmk Changeset: 705c3f88a409 Author: dfuchs Date: 2019-10-09 17:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/705c3f88a409 8231260: (dc) DatagramChannel::disconnect changes the port of the local address to 0 (lnx) Summary: DatagramChannel::disconnect will attempt to rebind to the original port if the local port switches back to 0 after the association is disolved by the system. Reviewed-by: alanb, chegar, fweimer ! src/java.base/share/classes/java/nio/channels/DatagramChannel.java ! src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java + test/jdk/java/nio/channels/DatagramChannel/AddressesAfterDisconnect.java Changeset: 6e017b301287 Author: darcy Date: 2019-10-09 09:57 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e017b301287 8231262: Suppress warnings on non-serializable instance fields in security libs serializable classes Reviewed-by: mullan, chegar ! src/java.base/share/classes/java/security/GuardedObject.java ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/javax/crypto/CryptoPermission.java ! src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java ! src/java.base/share/classes/javax/security/auth/Subject.java ! src/java.base/share/classes/javax/security/auth/callback/UnsupportedCallbackException.java ! src/java.base/share/classes/sun/security/internal/spec/TlsKeyMaterialSpec.java ! src/java.base/share/classes/sun/security/provider/PolicyParser.java ! src/java.base/share/classes/sun/security/provider/SubjectCodeSource.java ! src/java.base/share/classes/sun/security/provider/certpath/X509CertPath.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java ! src/java.base/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java ! src/java.base/share/classes/sun/security/rsa/RSAPublicKeyImpl.java ! src/java.base/share/classes/sun/security/util/ObjectIdentifier.java ! src/java.base/share/classes/sun/security/validator/ValidatorException.java ! src/java.base/share/classes/sun/security/x509/AlgorithmId.java ! src/java.base/share/classes/sun/security/x509/X509CertImpl.java ! src/java.base/share/classes/sun/security/x509/X509Key.java Changeset: e036ee8bae56 Author: darcy Date: 2019-10-09 10:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e036ee8bae56 8231202: Suppress warnings on non-serializable non-transient instance fields in serializable classes Reviewed-by: rriggs, chegar ! src/java.base/share/classes/java/lang/Throwable.java ! src/java.base/share/classes/java/lang/invoke/SerializedLambda.java ! src/java.base/share/classes/java/lang/reflect/Proxy.java ! src/java.base/share/classes/java/time/Clock.java ! src/java.base/share/classes/java/time/chrono/ChronoPeriodImpl.java ! src/java.base/share/classes/java/util/AbstractMap.java ! src/java.base/share/classes/java/util/ArrayPrefixHelpers.java ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/ArraysParallelSortHelpers.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/Comparators.java ! src/java.base/share/classes/java/util/PriorityQueue.java ! src/java.base/share/classes/java/util/TreeMap.java ! src/java.base/share/classes/java/util/Vector.java ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ! src/java.base/share/classes/sun/reflect/annotation/AnnotationTypeMismatchExceptionProxy.java Changeset: 55d2e10ea134 Author: cushon Date: 2019-10-09 10:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/55d2e10ea134 8231990: Remove unnecessary else-if branch in Types.union Reviewed-by: mcimadamore Contributed-by: Brad Corso ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java Changeset: 17a34e111667 Author: pliden Date: 2019-10-09 20:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/17a34e111667 8232056: GetOwnedMonitorInfoWithEATest.java fails with ZGC: Heap too small Reviewed-by: dholmes, rrich ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoWithEATest.java ! test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/GetOwnedMonitorStackDepthInfoWithEATest.java Changeset: fb3d408c7a7e Author: epavlova Date: 2019-10-09 10:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fb3d408c7a7e 8231903: [Graal] Update com.oracle.mxtool.junit classes Reviewed-by: kvn ! test/hotspot/jtreg/ProblemList-graal.txt + test/hotspot/jtreg/compiler/graalunit/CoreAarch64Test.java + test/hotspot/jtreg/compiler/graalunit/CoreJdk9Test.java - test/hotspot/jtreg/compiler/graalunit/EA9Test.java ! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt ! test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/FindClassesByAnnotatedMethods.java - test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/JLModule.java + test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/ModuleSupport.java ! test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/MxJUnitWrapper.java ! test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/TextRunListener.java ! test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/TimingDecorator.java ! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Changeset: e84d8379815b Author: rhalade Date: 2019-10-09 12:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e84d8379815b 8231887: ComodoCA.java fails because certificate was revoked Reviewed-by: mullan, clanger ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java Changeset: f9cc0141574c Author: never Date: 2019-10-09 16:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f9cc0141574c 8231586: enlarge encoding space for OopMapValue offsets Reviewed-by: dlong ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/compiler/OopMapValue.java Changeset: d0519b8bd8d9 Author: ccheung Date: 2019-10-09 16:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d0519b8bd8d9 8231529: [TESTBUG] runtime/cds/appcds/dynamicArchive/DynamicLotsOfClasses.java shouldn't wrap SkippedException into Exception Summary: Removed the try-catch in the test. Reviewed-by: iklam, lfoltan ! test/hotspot/jtreg/runtime/cds/appcds/LotsOfClasses.java ! test/hotspot/jtreg/runtime/cds/appcds/TestCommon.java ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/DynamicLotsOfClasses.java Changeset: 36cdb1cab7b0 Author: jwilhelm Date: 2019-10-10 01:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/36cdb1cab7b0 Added tag jdk-14+18 for changeset e84d8379815b ! .hgtags Changeset: 865c889ce351 Author: sspitsyn Date: 2019-10-10 01:10 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/865c889ce351 8231595: [TEST] develop a test case for SuspendThreadList including current thread Summary: Extend test coverage for SuspendThreadList Reviewed-by: amenkov, cjplummer, dholmes + test/hotspot/jtreg/serviceability/jvmti/SuspendWithCurrentThread/SuspendWithCurrentThread.java + test/hotspot/jtreg/serviceability/jvmti/SuspendWithCurrentThread/libSuspendWithCurrentThread.cpp Changeset: 9b40d05c9f66 Author: darcy Date: 2019-10-09 18:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b40d05c9f66 8232076: Suppress warnings on non-serializable non-transient instance fields java.naming Reviewed-by: lancea ! src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java ! src/java.naming/share/classes/javax/naming/Binding.java ! src/java.naming/share/classes/javax/naming/CannotProceedException.java ! src/java.naming/share/classes/javax/naming/LinkException.java ! src/java.naming/share/classes/javax/naming/NamingException.java ! src/java.naming/share/classes/javax/naming/event/NamingEvent.java ! src/java.naming/share/classes/javax/naming/spi/ResolveResult.java Changeset: b4f2e13d20ea Author: darcy Date: 2019-10-09 19:38 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b4f2e13d20ea 8232078: Suppress warnings on non-serializable non-transient instance fields in java.datatransfer Reviewed-by: serb ! src/java.datatransfer/share/classes/java/awt/datatransfer/MimeType.java Changeset: 46b0b7fe255c Author: dlong Date: 2019-10-09 21:53 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/46b0b7fe255c 8231973: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/FileSupport.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalManagement.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalRuntimeMBean.java - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/JMXServiceProvider.java - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/package-info.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/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LoweringProviderMixin.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/AMD64LoweringProviderMixin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.sparc/src/org/graalvm/compiler/core/sparc/SparcLoweringProviderMixin.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/GraphUtilOriginalValueTests.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.graph.test/src/org/graalvm/compiler/graph/test/graphio/GraphOutputTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeList.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeMap.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/AArch64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotRegisterAllocationConfig.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.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/ConstantPoolSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalManagementRegistration.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/JVMCIVersionCheck.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/replacements/NewObjectSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BciBlockMapping.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 ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/reflect/Field_set02.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.sparc/src/org/graalvm/compiler/lir/sparc/SPARCControlFlow.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopFragmentInside.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes.test/src/org/graalvm/compiler/nodes/test/ExceptionLivenessTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/AbstractBeginNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/IfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AbsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AddNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/AndNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/BinaryArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/FloatDivNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerConvertNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerMulHighNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/LeftShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/MulNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NegateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NotNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ObjectEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/OrNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RemNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/RightShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SignExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SqrtNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/SubNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnaryArithmeticNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/UnsignedRightShiftNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/XorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ZeroExtendNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/IntegerSwitchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.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/AMD64FloatConvertNode.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/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ZeroMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.graphio/src/org/graalvm/graphio/DefaultGraphTypes.java Changeset: 6c4f71874b36 Author: yzhou Date: 2019-10-10 14:43 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6c4f71874b36 8231213: Migrate SimpleDateFormatConstTest to JDK Repo Reviewed-by: naoto + test/jdk/java/text/Format/DateFormat/SimpleDateFormatPatternTest.java Changeset: ccb7bf459cbd Author: mbaesken Date: 2019-10-09 09:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ccb7bf459cbd 8232045: cleanup AIX 5.3 workarounds from libnio/ch/Net.c Reviewed-by: alanb, clanger, chegar ! src/java.base/unix/native/libnio/ch/Net.c Changeset: 1b76d17440a0 Author: chagedorn Date: 2019-10-10 10:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1b76d17440a0 8231720: Some perf regressions after 8225653 Summary: Fixed emitting of unused assembly code in 8225653??? which had a negative impact on performance in tight loops. Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: 30a9612a657d Author: redestad Date: 2019-10-10 13:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/30a9612a657d 8232050: Improve inlining of Klass accessors Reviewed-by: lfoltan, tschatzl, coleenp, dholmes, jiangli ! src/hotspot/cpu/arm/abstractInterpreter_arm.cpp ! src/hotspot/cpu/ppc/abstractInterpreter_ppc.cpp ! src/hotspot/cpu/s390/abstractInterpreter_s390.cpp ! src/hotspot/cpu/sparc/abstractInterpreter_sparc.cpp ! src/hotspot/cpu/x86/abstractInterpreter_x86.cpp ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/aot/aotCompiledMethod.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/oops/klass.inline.hpp Changeset: 8bc609fcd691 Author: iklam Date: 2019-10-10 10:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8bc609fcd691 8231986: [SA] Consolidate parts of the Linux and MacOSX versions of ps_core.c Reviewed-by: sspitsyn, cjplummer ! src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c ! src/jdk.hotspot.agent/macosx/native/libsaproc/ps_core.c + src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c + src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.h Changeset: 94fe833a244b Author: iklam Date: 2019-10-10 10:48 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94fe833a244b 8232071: Avoid shared dictionary lookup when the class name is not shared Reviewed-by: jiangli, ccheung ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: a7a606f6311c Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a7a606f6311c 8232102: Shenandoah: print everything in proper units Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 8b60ae8a2569 Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8b60ae8a2569 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp + test/hotspot/jtreg/gc/shenandoah/options/TestHumongousMoves.java Changeset: 725244418646 Author: xliu Date: 2019-10-09 12:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/725244418646 8165056: move JIT Compiler related files from runtime/ to compiler/ directory Reviewed-by: kvn, coleenp, dholmes ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/code/codeCache.cpp + src/hotspot/share/compiler/compilationPolicy.cpp + src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp + src/hotspot/share/compiler/tieredThresholdPolicy.cpp + src/hotspot/share/compiler/tieredThresholdPolicy.hpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp - src/hotspot/share/runtime/compilationPolicy.cpp - src/hotspot/share/runtime/compilationPolicy.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sweeper.cpp - src/hotspot/share/runtime/tieredThresholdPolicy.cpp - src/hotspot/share/runtime/tieredThresholdPolicy.hpp Changeset: d94a76f5d883 Author: redestad Date: 2019-10-11 01:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d94a76f5d883 8232150: aarch64 build broken after JDK-8232050 Reviewed-by: dholmes ! src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp Changeset: 7d6ba925590f Author: mbaesken Date: 2019-10-10 08:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7d6ba925590f 8232060: add some initializations using sigemptyset in os_aix.cpp Reviewed-by: clanger, stuefe ! src/hotspot/os/aix/os_aix.cpp Changeset: 430b9a492a05 Author: mbaesken Date: 2019-10-09 14:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/430b9a492a05 8232052: use string literal for format string when handling PauseAtStartupFile Reviewed-by: clanger, stuefe ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 9d9317fad3fe Author: ihse Date: 2019-10-11 09:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9d9317fad3fe 8065704: Set LC_ALL=C for all relevant commands in the build system Reviewed-by: naoto, erikj ! make/RunTestsPrebuilt.gmk ! make/RunTestsPrebuiltSpec.gmk ! make/autoconf/basics.m4 ! make/autoconf/build-performance.m4 ! make/autoconf/configure ! make/autoconf/spec.gmk.in ! make/common/JavaCompilation.gmk ! make/scripts/compare.sh Changeset: e98509cb3867 Author: mbaesken Date: 2019-10-11 09:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e98509cb3867 8230957: [TESTBUG] containers/docker/TestJcmdWithSideCar.java sporadic failures Reviewed-by: clanger, bobv, mseledtsov ! test/hotspot/jtreg/containers/docker/EventGeneratorLoop.java ! test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java Changeset: 85e5124b0376 Author: pliden Date: 2019-10-11 10:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/85e5124b0376 8232070: ZGC: Remove unused ZVerifyLoadBarriers Reviewed-by: tschatzl ! src/hotspot/share/gc/z/z_globals.hpp Changeset: 906a9dd5d8e8 Author: tschatzl Date: 2019-10-11 11:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/906a9dd5d8e8 8231956: Remove seq_add_card/reference from PerRegionTable class Reviewed-by: sjohanss, pliden ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: 516db52daad6 Author: sgehwolf Date: 2019-09-23 20:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/516db52daad6 8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE Summary: Account for serialized null scopes in NMethod Reviewed-by: aph, never ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java + test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java + test/hotspot/jtreg/serviceability/sa/LingeredAppWithRecComputation.java Changeset: 8c3c39710a08 Author: jiefu Date: 2019-10-11 17:49 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8c3c39710a08 8232151: Minimal VM build broken after JDK-8232050 Reviewed-by: dholmes, clanger ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/s390/vtableStubs_s390.cpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/library_call.cpp Changeset: 7252d89e3a4e Author: coleenp Date: 2019-10-11 08:49 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7252d89e3a4e 8231769: Test tools/javac/tree/MakeTypeTest.java fails with -Xcheck:jni Summary: Delete local jni handles in create_from_platform_dependent_str() after upcall to Java. Reviewed-by: dholmes, hseigel ! src/hotspot/share/classfile/javaClasses.cpp Changeset: ff8716224f35 Author: adinn Date: 2019-10-10 10:59 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff8716224f35 8232046: AArch64 build failure after JDK-8225681 Reviewed-by: eosterlund ! src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp Changeset: cf3205fdb6dc Author: eosterlund Date: 2019-10-11 13:07 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cf3205fdb6dc 8232116: ZGC: Remove redundant ZLock in ZNMethodTable Reviewed-by: stefank, pliden ! src/hotspot/share/gc/z/zLock.inline.hpp ! src/hotspot/share/gc/z/zNMethodTable.cpp ! src/hotspot/share/gc/z/zNMethodTable.hpp ! src/hotspot/share/gc/z/zSafeDelete.hpp ! src/hotspot/share/gc/z/zSafeDelete.inline.hpp Changeset: 67daaa6c8d2b Author: erikj Date: 2019-10-11 06:38 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/67daaa6c8d2b 8232133: Change to GCC 8.3 for building on Linux at Oracle Reviewed-by: kbarrett, dholmes, ihse ! doc/building.html ! doc/building.md ! make/conf/jib-profiles.js ! make/devkit/Tools.gmk Changeset: 06bd38a9bc5a Author: erikj Date: 2019-10-11 06:31 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/06bd38a9bc5a 8232134: Change to Visual Studio 2017 15.9.16 for building on Windows at Oracle Reviewed-by: ihse ! doc/building.html ! doc/building.md ! make/conf/jib-profiles.js ! make/devkit/createWindowsDevkit2017.sh Changeset: 5a4b4544b810 Author: jvernee Date: 2019-10-11 06:57 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5a4b4544b810 8232167: Visual Studio install found through --with-tools-dir value is discarded Reviewed-by: erikj, ihse ! make/autoconf/toolchain_windows.m4 Changeset: 3968bf3673c5 Author: aleonard Date: 2019-10-10 10:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3968bf3673c5 8231717: Improve performance of charset decoding when charset is always compactable Reviewed-by: rriggs, redestad, alanb ! make/data/charsetmapping/SingleByte-X.java.template ! make/jdk/src/classes/build/tools/charsetmapping/SBCS.java ! src/java.base/share/classes/java/lang/StringCoding.java ! src/java.base/share/classes/sun/nio/cs/ArrayDecoder.java ! src/java.base/share/classes/sun/nio/cs/SingleByte.java Changeset: e43ac61b89ab Author: coleenp Date: 2019-10-11 11:50 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e43ac61b89ab 8232120: com/sun/jdi/InvokeTest fails with -Xcheck:jni: assert(k->is_instance_klass()) failed: cast to InstanceKlass Summary: Should have allowed recv klass to be an array. Reviewed-by: hseigel, dcubed ! src/hotspot/share/prims/jniCheck.cpp Changeset: 78bbb5dde2a3 Author: never Date: 2019-10-10 11:40 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/78bbb5dde2a3 8231659: [JVMCI] Could not work PrintAssembly for JVMCI installed code Reviewed-by: ysuenaga ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp Changeset: 218a1a642c6f Author: iignatyev Date: 2019-10-11 09:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/218a1a642c6f 8225654: rework vmTestbase/jit/graph Reviewed-by: thartmann, neliasso ! test/hotspot/jtreg/TEST.quick-groups ! test/hotspot/jtreg/vmTestbase/jit/graph/CGT.java - test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java ! test/hotspot/jtreg/vmTestbase/jit/graph/Globals.java ! test/hotspot/jtreg/vmTestbase/jit/graph/MethodData.java ! test/hotspot/jtreg/vmTestbase/jit/graph/Node.java ! test/hotspot/jtreg/vmTestbase/jit/graph/RBTree.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt0.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt1.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt10.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt11.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt2.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt3.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt4.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt5.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt6.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt7.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt8.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java + test/hotspot/jtreg/vmTestbase/jit/graph/cgt9.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test1.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test2.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test3.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test4.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test5.java ! test/hotspot/jtreg/vmTestbase/jit/graph/test6.java Changeset: baa5969ecf34 Author: rriggs Date: 2019-10-11 13:11 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/baa5969ecf34 8231427: Warning cleanup in tests of java.io.Serializable Reviewed-by: darcy, lancea ! test/jdk/java/io/ObjectInputStream/ResolveProxyClass.java ! test/jdk/java/io/ObjectInputStream/TestObjectStreamClass.java ! test/jdk/java/io/Serializable/ClassCastExceptionDetail/Read.java ! test/jdk/java/io/Serializable/ClassCastExceptionDetail/Write.java ! test/jdk/java/io/Serializable/GetField/Read2.java ! test/jdk/java/io/Serializable/InvalidClassException/noargctor/DefaultPackage.java ! test/jdk/java/io/Serializable/InvalidClassException/noargctor/Serialize/SubclassAcrossPackage.java ! test/jdk/java/io/Serializable/NPEProvoker/NPEProvoker.java ! test/jdk/java/io/Serializable/NoClassDefFoundErrorTrap/NoClassDefFoundErrorTrap.java ! test/jdk/java/io/Serializable/PutField/Write2.java ! test/jdk/java/io/Serializable/badSerialPersistentField/BadSerialPersistentField.java ! test/jdk/java/io/Serializable/badSerialVersionUID/BadSerialVersionUID.java ! test/jdk/java/io/Serializable/badSubstByReplace/BadSubstByReplace.java ! test/jdk/java/io/Serializable/checkModifiers/CheckModifiers.java ! test/jdk/java/io/Serializable/class/SerialA_2/A.java ! test/jdk/java/io/Serializable/classDescFlagConflict/Foo.java ! test/jdk/java/io/Serializable/classDescGetField/GetField.java ! test/jdk/java/io/Serializable/classDescHooks/CNFException.java ! test/jdk/java/io/Serializable/classDescHooks/ClassDescHooks.java ! test/jdk/java/io/Serializable/classDescHooks/ExternLoopback.java ! test/jdk/java/io/Serializable/classDescHooks/Loopback.java ! test/jdk/java/io/Serializable/cloneArray/CloneArray.java ! test/jdk/java/io/Serializable/concurrentClassDescLookup/ConcurrentClassDescLookup.java ! test/jdk/java/io/Serializable/defaultDataEnd/DefaultDataEnd.java ! test/jdk/java/io/Serializable/defaultReadObjectCNFException/DefaultReadObjectCNFException.java ! test/jdk/java/io/Serializable/defaulted/GetFieldRead.java ! test/jdk/java/io/Serializable/defaulted/GetFieldWrite.java ! test/jdk/java/io/Serializable/enum/classObject/Test.java ! test/jdk/java/io/Serializable/enum/ignoreSerializationFields/Test.java ! test/jdk/java/io/Serializable/enum/ignoreSerializationMethods/Test.java ! test/jdk/java/io/Serializable/enum/mismatchedTypecode/Test.java ! test/jdk/java/io/Serializable/evolution/AddedExternField/ReadAddedField.java ! test/jdk/java/io/Serializable/evolution/AddedExternField/WriteAddedField.java ! test/jdk/java/io/Serializable/evolution/AddedField/ReadAddedField.java ! test/jdk/java/io/Serializable/evolution/AddedField/WriteAddedField.java ! test/jdk/java/io/Serializable/evolution/AddedSuperClass/ReadAddedSuperClass2.java ! test/jdk/java/io/Serializable/evolution/AddedSuperClass/WriteAddedSuperClass.java ! test/jdk/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java ! test/jdk/java/io/Serializable/explicitCNFException/ExplicitCNFException.java ! test/jdk/java/io/Serializable/failureAtomicity/Bar.template ! test/jdk/java/io/Serializable/failureAtomicity/Foo.template ! test/jdk/java/io/Serializable/failureAtomicity/SerialRef.java ! test/jdk/java/io/Serializable/fieldTypeString/Write.java ! test/jdk/java/io/Serializable/finalFields/FinalFields.java ! test/jdk/java/io/Serializable/getSuidClinitError/GetSuidClinitError.java ! test/jdk/java/io/Serializable/lookupInterfaceDesc/LookupInterfaceDesc.java ! test/jdk/java/io/Serializable/misplacedArrayClassDesc/MisplacedArrayClassDesc.java ! test/jdk/java/io/Serializable/modifyStaticFields/ModifyStaticFields.java ! test/jdk/java/io/Serializable/nestedReplace/NestedReplace.java ! test/jdk/java/io/Serializable/noSuchFieldClarification/NoSuchFieldClarification.java ! test/jdk/java/io/Serializable/notAvailable/NotAvailable.java ! test/jdk/java/io/Serializable/oldTests/AnnotateClass.java ! test/jdk/java/io/Serializable/oldTests/ArrayTest.java ! test/jdk/java/io/Serializable/oldTests/ArraysOfArrays.java ! test/jdk/java/io/Serializable/oldTests/BinaryTree.java ! test/jdk/java/io/Serializable/oldTests/CheckForException.java ! test/jdk/java/io/Serializable/oldTests/CheckingEquality.java ! test/jdk/java/io/Serializable/oldTests/CircularList.java ! test/jdk/java/io/Serializable/oldTests/PrimitivesTest.java ! test/jdk/java/io/Serializable/oldTests/ValidateClass.java ! test/jdk/java/io/Serializable/optionalDataEnd/OptionalDataEnd.java ! test/jdk/java/io/Serializable/packageAccess/B.java ! test/jdk/java/io/Serializable/packageAccess/C.java ! test/jdk/java/io/Serializable/packageAccess/D.java ! test/jdk/java/io/Serializable/packageAccess/PackageAccessTest.java ! test/jdk/java/io/Serializable/parents/EvolvedClass.java ! test/jdk/java/io/Serializable/parents/OriginalClass.java ! test/jdk/java/io/Serializable/partialClassDesc/PartialClassDesc.java ! test/jdk/java/io/Serializable/primitiveClasses/PrimitiveClasses.java ! test/jdk/java/io/Serializable/proxy/Basic.java ! test/jdk/java/io/Serializable/proxy/replace/Test.java ! test/jdk/java/io/Serializable/proxy/skipMissing/Handler.java ! test/jdk/java/io/Serializable/proxy/skipMissing/Write.java ! test/jdk/java/io/Serializable/readObjectNoData/Read.java ! test/jdk/java/io/Serializable/recursiveClassDescLookup/Test.java ! test/jdk/java/io/Serializable/replaceStringArray/ReplaceStringArray.java ! test/jdk/java/io/Serializable/resolveClass/MethodTest.java ! test/jdk/java/io/Serializable/resolveClass/consTest/ConsTest.java ! test/jdk/java/io/Serializable/resolveClass/deserializeButton/DeserializeButtonTest.java ! test/jdk/java/io/Serializable/resolveClass/deserializeButton/Foo.java ! test/jdk/java/io/Serializable/resolveClassException/ResolveClassException.java ! test/jdk/java/io/Serializable/resolveProxyClass/NonPublicInterface.java ! test/jdk/java/io/Serializable/sanityCheck/SanityCheck.java ! test/jdk/java/io/Serializable/serialFilter/SerialFilterTest.java ! test/jdk/java/io/Serializable/serialver/classpath/ClasspathTest.java ! test/jdk/java/io/Serializable/serialver/nested/NestedTest.java ! test/jdk/java/io/Serializable/skipToEndOfBlockData/SkipToEndOfBlockData.java ! test/jdk/java/io/Serializable/skipWriteObject/Write.java ! test/jdk/java/io/Serializable/skippedObjCNFException/Read.java ! test/jdk/java/io/Serializable/skippedObjCNFException/Write.java ! test/jdk/java/io/Serializable/stopCustomDeserialization/Read.java ! test/jdk/java/io/Serializable/stopCustomDeserialization/Write.java ! test/jdk/java/io/Serializable/subclass/AbstractObjectInputStream.java ! test/jdk/java/io/Serializable/subclass/SubclassTest.java ! test/jdk/java/io/Serializable/subclass/XObjectInputStream.java ! test/jdk/java/io/Serializable/subclass/XObjectOutputStream.java ! test/jdk/java/io/Serializable/superclassDataLoss/A.java ! test/jdk/java/io/Serializable/superclassDataLoss/B.java ! test/jdk/java/io/Serializable/superclassDataLoss/SuperclassDataLossTest.java ! test/jdk/java/io/Serializable/survivePrematureClose/SurvivePrematureClose.java ! test/jdk/java/io/Serializable/typeSafeEnum/TypeSafeEnum.java ! test/jdk/java/io/Serializable/typeStringBackRef/TypeStringBackRef.java ! test/jdk/java/io/Serializable/underlyingOutputStreamException/UnderlyingOutputStreamException.java ! test/jdk/java/io/Serializable/unnamedPackageSwitch/UnnamedPackageSwitchTest.java ! test/jdk/java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java ! test/jdk/java/io/Serializable/unresolvedClassDesc/Foo.java ! test/jdk/java/io/Serializable/unshared/Write.java ! test/jdk/java/io/Serializable/userRWObjError/UserRWObjError.java ! test/jdk/java/io/Serializable/validate/Validate.java ! test/jdk/java/io/Serializable/verifyDynamicObjHandleTable/VerifyDynamicObjHandleTable.java ! test/jdk/java/io/Serializable/writeObjectMemory/WriteObjectMemory.java ! test/jdk/java/io/Serializable/writeReplace/WriteReplace.java ! test/jdk/java/io/Serializable/wrongReturnTypes/Read.java ! test/jdk/java/io/Serializable/wrongReturnTypes/Write.java Changeset: afbb7ec84228 Author: rriggs Date: 2019-10-11 13:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/afbb7ec84228 8232135: Add diagnostic output to test java/util/ProcessBuilder/Basic.java Reviewed-by: lancea ! test/jdk/java/lang/ProcessBuilder/Basic.java Changeset: 6c1f645bd601 Author: naoto Date: 2019-10-11 11:06 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6c1f645bd601 8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 Reviewed-by: rriggs ! make/data/lsrdata/language-subtag-registry.txt ! test/jdk/java/util/Locale/Bug8040211.java Changeset: 79da7db7e9b1 Author: mseledtsov Date: 2019-10-11 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/79da7db7e9b1 8230865: [TESTBUG] jdk/jfr/event/io/EvilInstrument.java fails at-run shell MakeJAR.sh target Summary: Prebuilding the test class before adding it into a jar file Reviewed-by: iignatyev, egahlin ! test/jdk/jdk/jfr/event/io/EvilInstrument.java Changeset: dcc760954243 Author: akozlov Date: 2019-10-11 14:49 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dcc760954243 8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call Reviewed-by: mchung ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/System.java + test/jdk/java/lang/Runtime/loadLibrary/LoadLibraryTest.java + test/jdk/java/lang/Runtime/loadLibrary/src/Target.java + test/jdk/java/lang/Runtime/loadLibrary/src/Target2.java Changeset: 6941d77417f4 Author: kbarrett Date: 2019-10-12 00:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6941d77417f4 8232147: Remove notproduct option IgnoreLockingAssertions Summary: Removed option. Reviewed-by: coleenp, dholmes ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: 05dd6144d434 Author: rehn Date: 2019-10-14 08:59 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/05dd6144d434 8218543: ThreadsList handling during error reporting can crash Reviewed-by: dcubed, dholmes ! src/hotspot/share/runtime/threadSMR.cpp ! src/hotspot/share/utilities/decoder.cpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: adbd1504c998 Author: shade Date: 2019-10-14 11:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/adbd1504c998 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 58dd8bc1b9a7 Author: shade Date: 2019-10-14 12:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/58dd8bc1b9a7 Merge ! .hgtags ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/oopMap.cpp + src/hotspot/share/compiler/tieredThresholdPolicy.cpp + src/hotspot/share/compiler/tieredThresholdPolicy.hpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/classes.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/split_if.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/whitebox.cpp - src/hotspot/share/runtime/compilationPolicy.cpp - src/hotspot/share/runtime/compilationPolicy.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp - src/hotspot/share/runtime/tieredThresholdPolicy.cpp - src/hotspot/share/runtime/tieredThresholdPolicy.hpp ! src/hotspot/share/runtime/vmStructs.cpp - src/java.base/share/native/libjava/verify_stub.c - src/java.base/share/native/libverify/check_format.c - src/java.base/unix/native/libjava/jdk_util_md.c - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/JMXServiceProvider.java - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/package-info.java - test/hotspot/jtreg/compiler/graalunit/EA9Test.java - test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/JLModule.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineDeleteJmethod.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/libRedefineDeleteJmethod.c - test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/RawMonitorWait/rawmnwait005/rawmnwait005.cpp From shade at redhat.com Mon Oct 14 20:29:25 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 14 Oct 2019 22:29:25 +0200 Subject: [11] 2019-10-16: Bulk backports to sh/jdk11 Message-ID: <20ea4886-971c-4a2d-eefb-33d48f7b974b@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191016/webrev.01/ Anticipating the final push of 11.0.5 soon, these are some outstanding Shenandoah backports for soon to be open sh/jdk11. I would obviously push this only after 11.0.5 merge lands. Reviews are appreciated meanwhile anyway. Changes: [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction [backport] 8230470: Shenandoah doesn't need change from JDK-8212610 anymore [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong [backport] 8232102: Shenandoah: print everything in proper units [backport] 8228369: Shenandoah: Refactor LRB C1 stubs [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1) [backport] 8229470: Shenandoah: Fix C1 getAndSetObject() failure [backport] 8229977: Shenandoah: save/restore FPU state aroud LRB runtime call Testing: hotspot_gc_shenandoah {fastdebug, release} x {x86_64, aarch64} -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 15 07:55:05 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 15 Oct 2019 09:55:05 +0200 Subject: [11] 2019-10-16: Bulk backports to sh/jdk11 In-Reply-To: <20ea4886-971c-4a2d-eefb-33d48f7b974b@redhat.com> References: <20ea4886-971c-4a2d-eefb-33d48f7b974b@redhat.com> Message-ID: <44794486-429d-162c-350f-5978a72acc3a@redhat.com> Looks good to me. Thanks! Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191016/webrev.01/ > > Anticipating the final push of 11.0.5 soon, these are some outstanding Shenandoah backports for soon > to be open sh/jdk11. I would obviously push this only after 11.0.5 merge lands. Reviews are > appreciated meanwhile anyway. > > Changes: > [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag > [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings > [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction > [backport] 8230470: Shenandoah doesn't need change from JDK-8212610 anymore > [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment > [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong > [backport] 8232102: Shenandoah: print everything in proper units > [backport] 8228369: Shenandoah: Refactor LRB C1 stubs > [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1) > [backport] 8229470: Shenandoah: Fix C1 getAndSetObject() failure > [backport] 8229977: Shenandoah: save/restore FPU state aroud LRB runtime call > > Testing: hotspot_gc_shenandoah {fastdebug, release} x {x86_64, aarch64} > From zgu at redhat.com Tue Oct 15 13:13:38 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 15 Oct 2019 09:13:38 -0400 Subject: RFR (XS) 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing In-Reply-To: References: Message-ID: Looks good to me. -Zhengyu On 10/14/19 5:20 AM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232205 > > Noticed that -Xlog:gc+stats does not print "Update Roots" section for "Update References". This is a > regression since JDK-8223951. > > Fix: > https://cr.openjdk.java.net/~shade/8232205/webrev.01/ > > Testing: hotspot_gc_shenandoah, eyeballing gc+stats > From rkennke at redhat.com Tue Oct 15 14:45:12 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 15 Oct 2019 16:45:12 +0200 Subject: RFR (XS) 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing In-Reply-To: References: Message-ID: <4da2e730-9649-4199-f7c2-a5fc1c64dde8@redhat.com> Ok. Thanks! Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232205 > > Noticed that -Xlog:gc+stats does not print "Update Roots" section for "Update References". This is a > regression since JDK-8223951. > > Fix: > https://cr.openjdk.java.net/~shade/8232205/webrev.01/ > > Testing: hotspot_gc_shenandoah, eyeballing gc+stats > From adinn at redhat.com Tue Oct 15 14:52:46 2019 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 15 Oct 2019 15:52:46 +0100 Subject: RFR 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms In-Reply-To: <6a1385ba-ab76-c6e6-df7c-ad6f0f6baa1e@redhat.com> References: <6f6afdc5-cb13-6c8c-98f8-47917793545c@redhat.com> <34499f22-9db4-38d5-abf6-f0aed6c99795@redhat.com> <6a1385ba-ab76-c6e6-df7c-ad6f0f6baa1e@redhat.com> Message-ID: <4edf7fe7-edfe-33b0-b1ae-cca61e02438c@redhat.com> Hi Zhengyu, On 04/10/2019 20:22, Zhengyu Gu wrote: > Ping! May I get a second review? Yes, the patch looks good. Only one tentative suggestion. It might help those coming to this from the x86_64 code to add a comment before the calls to gen_pin_object and gen_unpin_object to mention that those calls handle saving and restoring of any registers clobbered by the call i.e. 1986 if (Universe::heap()->supports_object_pinning()) { + // gen_pin_object handles save and restore + // of any clobbered registers 1987 gen_pin_object(masm, thread, in_arg); and 2209 } + // gen_pin_object handles save and restore + // of any other clobbered registers 2210 gen_unpin_object(masm, thread, in_regs[i]); (note 'other' in the 2nd comment means other than the result register) You decide. I don't need another webrev. regards, Andrew Dinn ----------- > On 9/18/19 10:46 AM, Roman Kennke wrote: >> Hi Zhengyu, >> >> It looks good to me! >> >> Thanks, >> Roman >> >> >>> Please review this patch that supports JNI critical functions in >>> object pinning capable GCs on x86_32 platforms. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8229919 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8229919/webrev.00/ >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) with 32-bit VM on >>> Linux x86_64. >>> ?? hotspot_gc, hotspot_runtime and hotspot_compiler >>> ?? Submit tests in progress. >>> >>> Thanks, >>> >>> -Zhengyu > From rkennke at redhat.com Tue Oct 15 15:03:58 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 15 Oct 2019 17:03:58 +0200 Subject: Shenandoah: Enable concurrent class unloading on x86_32 In-Reply-To: <19dfb7d0-8bd0-2169-5fba-3847577448ac@redhat.com> References: <19dfb7d0-8bd0-2169-5fba-3847577448ac@redhat.com> Message-ID: <4aa66524-21cf-ff20-838c-fdfa825aa875@redhat.com> It looks ok to me. Shared changes would need further reviewing upstream by Erik, eventually, but feel free to bake it in sh/jdk first. I'd probably use rdi and load the thread-base into it using get_thread() and keep the interface cleaner. Your call. Roman > Prerequisites: > ?1) Shenandoah: SBSA::load_at() should save/restore registers when > ??? calling SATB barrier [1] > ?2) JDK-8230765: Implement nmethod barrier for x86_32 platforms [2] > > > (2) is upstream CR, should be reviewed here. However, there is no > implementation there that can exercise this implementation. I would > prefer to bake here for sometime, before upstreaming it. > > > Combined webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/conc-class_unloading_x86_32/webrev.00/ > > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on Linux with x86_32 JVM. > > [1] > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010681.html > > [2] http://cr.openjdk.java.net/~zgu/JDK-8230765/webrev.00/ > > > Thanks, > > -Zhengyu > From zgu at redhat.com Tue Oct 15 15:04:14 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 15 Oct 2019 11:04:14 -0400 Subject: RFR 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms In-Reply-To: <4edf7fe7-edfe-33b0-b1ae-cca61e02438c@redhat.com> References: <6f6afdc5-cb13-6c8c-98f8-47917793545c@redhat.com> <34499f22-9db4-38d5-abf6-f0aed6c99795@redhat.com> <6a1385ba-ab76-c6e6-df7c-ad6f0f6baa1e@redhat.com> <4edf7fe7-edfe-33b0-b1ae-cca61e02438c@redhat.com> Message-ID: <4db7d043-7325-00e9-b3d0-a4ac314d0cfd@redhat.com> Thanks, Andrew. I will add comments as you suggested before push. -Zhengyu On 10/15/19 10:52 AM, Andrew Dinn wrote: > Hi Zhengyu, > > On 04/10/2019 20:22, Zhengyu Gu wrote: >> Ping! May I get a second review? > > Yes, the patch looks good. > > Only one tentative suggestion. It might help those coming to this from > the x86_64 code to add a comment before the calls to gen_pin_object and > gen_unpin_object to mention that those calls handle saving and restoring > of any registers clobbered by the call i.e. > > 1986 if (Universe::heap()->supports_object_pinning()) { > + // gen_pin_object handles save and restore > + // of any clobbered registers > 1987 gen_pin_object(masm, thread, in_arg); > > and > > > 2209 } > + // gen_pin_object handles save and restore > + // of any other clobbered registers > 2210 gen_unpin_object(masm, thread, in_regs[i]); > > (note 'other' in the 2nd comment means other than the result register) > > You decide. I don't need another webrev. > > regards, > > > Andrew Dinn > ----------- > >> On 9/18/19 10:46 AM, Roman Kennke wrote: >>> Hi Zhengyu, >>> >>> It looks good to me! >>> >>> Thanks, >>> Roman >>> >>> >>>> Please review this patch that supports JNI critical functions in >>>> object pinning capable GCs on x86_32 platforms. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8229919 >>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8229919/webrev.00/ >>>> >>>> Test: >>>> ?? hotspot_gc_shenandoah (fastdebug and release) with 32-bit VM on >>>> Linux x86_64. >>>> ?? hotspot_gc, hotspot_runtime and hotspot_compiler >>>> ?? Submit tests in progress. >>>> >>>> Thanks, >>>> >>>> -Zhengyu >> From gnu.andrew at redhat.com Tue Oct 15 21:22:04 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 15 Oct 2019 22:22:04 +0100 Subject: RFR: [11u] jdk-11.0.5+10 / jdk-11.0.5-ga Message-ID: <59d2079a-616d-016a-e273-eaee7eadbe8b@redhat.com> Webrev: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/ Merge changeset: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/11.0.5+10.merge Changes in shenandoah-jdk-11.0.5+10: - [backport] 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info - [backport] 8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing - S8209901: Canonical file handling - S8213429, CVE-2019-2933: Windows file handling redux - S8218573, CVE-2019-2945: Better socket support - S8218877: Help transform transformers - S8219914: Change the environment variable for Java Access Bridge logging to have a directory. - S8220186: Improve use of font temporary files - S8220302, CVE-2019-2949: Better Kerberos ccache handling - S8221497: Optional Panes in Swing - S8221858, CVE-2019-2958: Build Better Processes - S8222684, CVE-2019-2964: Better support for patterns - S8222690, CVE-2019-2962: Better Glyph Images - S8223163: Better pattern recognition - S8223505, CVE-2019-2973: Better pattern compilation - S8223518, CVE-2019-2975: Unexpected exception in jjs - S8223886: Add in font table referene - S8223892, CVE-2019-2978: Improved handling of jar files - S8224025: Fix for JDK-8220302 is not complete - S8224062, CVE-2019-2977: Improve String index handling - S8224532, CVE-2019-2981: Better Path supports - S8224915, CVE-2019-2983: Better serial attributes - S8225286, CVE-2019-2987: Better rendering of native glyphs - S8225292, CVE-2019-2988: Better Graphics2D drawing - S8225298, CVE-2019-2989: Improve TLS connection support - S8225597, CVE-2019-2992: Enhance font glyph mapping - S8226765, CVE-2019-2999: Commentary on Javadoc comments - S8227601: Better collection of references - S8228825, CVE-2019-2894: Enhance ECDSA operations Notes: 8231405 & 8231583 are already in the upstream repositories. 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 Oct 15 21:25:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 15 Oct 2019 23:25:05 +0200 Subject: RFR: [11u] jdk-11.0.5+10 / jdk-11.0.5-ga In-Reply-To: <59d2079a-616d-016a-e273-eaee7eadbe8b@redhat.com> References: <59d2079a-616d-016a-e273-eaee7eadbe8b@redhat.com> Message-ID: <8290a96b-9c05-4dad-e32a-3a190e739941@redhat.com> On 10/15/19 11:22 PM, Andrew John Hughes wrote: > Webrev: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/ > Merge changeset: > https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/11.0.5+10.merge Looks good to me, thank you. > Ok to push? This is the push to shenandoah/jdk11? If so, yes, it is OK to push. -- Thanks, -Aleksey From gnu.andrew at redhat.com Tue Oct 15 21:26:12 2019 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Tue, 15 Oct 2019 21:26:12 +0000 Subject: hg: shenandoah/jdk11: 29 new changesets Message-ID: <201910152126.x9FLQE3r028596@aojmv0008.oracle.com> Changeset: ba8c53bd0099 Author: aefimov Date: 2019-05-20 15:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ba8c53bd0099 8213429: Windows file handling redux Reviewed-by: alanb, dfuchs, weijun, bpb, rhalade, ahgross ! src/java.base/share/classes/java/io/FilePermission.java Changeset: c7602effc480 Author: michaelm Date: 2019-03-25 17:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c7602effc480 8218573: Better socket support Reviewed-by: alanb, ahgross, chegar, igerasim ! src/java.base/share/classes/java/net/NetPermission.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/sun/security/util/SecurityConstants.java Changeset: da798ca45f09 Author: alitvinov Date: 2019-05-31 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/da798ca45f09 8218877: Help transform transformers Reviewed-by: serb, prr, mschoene, bpb, ssahoo ! src/java.desktop/share/native/common/java2d/opengl/OGLBlitLoops.c ! src/java.desktop/share/native/libawt/java2d/loops/GraphicsPrimitiveMgr.h ! src/java.desktop/share/native/libawt/java2d/loops/LoopMacros.h ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DContext.cpp Changeset: 675823989775 Author: prr Date: 2019-04-23 11:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/675823989775 8220186: Improve use of font temporary files Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/FileFont.java ! src/java.desktop/share/classes/sun/font/FontScaler.java ! src/java.desktop/share/classes/sun/font/FreetypeFontScaler.java ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: a2afeadeff2a Author: weijun Date: 2019-04-19 10:22 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a2afeadeff2a 8220302: Better Kerberos ccache handling Reviewed-by: valeriep ! src/java.base/share/conf/security/java.security ! 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/Krb5MechFactory.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5NameElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5ProxyCredential.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.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/Realm.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java ! src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/Klist.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Changeset: 117a25266142 Author: weijun Date: 2019-05-21 08:37 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/117a25266142 8224025: Fix for JDK-8220302 is not complete Reviewed-by: ahgross, mullan, valeriep ! src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c Changeset: 2bf81ded4e36 Author: weijun Date: 2019-04-22 13:01 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2bf81ded4e36 8209901: Canonical file handling Reviewed-by: mullan, alanb, ahgross ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/sun/security/util/FilePermCompat.java ! src/java.base/share/conf/security/java.security ! test/jdk/java/security/testlibrary/Proc.java ! test/jdk/sun/security/util/FilePermCompat/Flag.java Changeset: 2e7f2cfa070d Author: serb Date: 2019-05-19 17:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2e7f2cfa070d 8221497: Optional Panes in Swing Reviewed-by: prr, alitvinov, mschoene, rhalade ! src/java.desktop/share/native/common/java2d/opengl/OGLBlitLoops.c + test/jdk/java/awt/image/DrawImage/IncorrectManagedImageSourceOffset.java ! test/jdk/java/awt/image/DrawImage/IncorrectUnmanagedImageSourceOffset.java + test/jdk/java/awt/image/DrawImage/SimpleManagedImage.java + test/jdk/java/awt/image/DrawImage/SimpleUnmanagedImage.java Changeset: a2ddb1a585cf Author: rriggs Date: 2019-04-30 16:45 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a2ddb1a585cf 8221858: Build Better Processes Reviewed-by: alanb, rhalade, ahgross, darcy ! src/java.base/windows/classes/java/lang/ProcessImpl.java Changeset: b0cef26e900b Author: igerasim Date: 2019-05-22 19:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b0cef26e900b 8222684: Better support for patterns 8223163: Better pattern recognition Reviewed-by: ahgross, bchristi, jeff, rhalade, rriggs, smarks ! src/java.base/share/classes/java/util/regex/Pattern.java Changeset: d8e5c7448500 Author: prr Date: 2019-05-15 12:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d8e5c7448500 8222690: Better Glyph Images Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/GlyphList.java ! src/java.desktop/share/native/libfontmanager/DrawGlyphList.c ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c ! src/java.desktop/unix/classes/sun/font/XRGlyphCache.java ! src/java.desktop/unix/classes/sun/font/XRTextRenderer.java ! src/java.desktop/unix/native/common/java2d/x11/X11FontScaler_md.c Changeset: 6522a4b3a61e Author: joehw Date: 2019-05-21 13:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6522a4b3a61e 8223505: Better pattern compilation Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: 5f4e2a53afc9 Author: hannesw Date: 2019-05-24 16:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/5f4e2a53afc9 8223518: Unexpected exception in jjs Reviewed-by: sundar, mschoene, rhalade, jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/JdkRegExp.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java Changeset: 174afa5802bd Author: prr Date: 2019-05-22 08:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/174afa5802bd 8223886: Add in font table referene Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc Changeset: 804fe860d8a3 Author: aefimov Date: 2019-06-25 00:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/804fe860d8a3 8223892: Improved handling of jar files Reviewed-by: dfuchs, chegar, michaelm, rhalade, ahgross ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/sun/net/www/protocol/jar/Handler.java Changeset: 2a4be9a65705 Author: thartmann Date: 2019-05-27 01:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2a4be9a65705 8224062: Improve String index handling Reviewed-by: kvn, rhalade, mschoene ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: bc6e1fc78cea Author: joehw Date: 2019-05-31 10:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bc6e1fc78cea 8224532: Better Path supports Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPath.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Compiler.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: b81ec8d631b3 Author: prr Date: 2019-06-14 20:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b81ec8d631b3 8224915: Better serial attributes Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/java/awt/Font.java Changeset: 839b5da37700 Author: prr Date: 2019-06-19 15:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/839b5da37700 8225286: Better rendering of native glyphs Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 3e4bd2b7b589 Author: prr Date: 2019-06-16 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3e4bd2b7b589 8225292: Better Graphics2D drawing Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java Changeset: 0d78bb7c14b3 Author: igerasim Date: 2019-06-22 20:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/0d78bb7c14b3 8225298: Improve TLS connection support Reviewed-by: dfuchs, igerasim, michaelm, rhalade, skoivu ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: e49640590658 Author: prr Date: 2019-06-19 15:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e49640590658 8225597: Enhance font glyph mapping Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/CMap.java Changeset: 8c845115ac95 Author: igerasim Date: 2019-10-09 06:58 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8c845115ac95 8226765: Commentary on Javadoc comments Reviewed-by: jjg, rhalade, skoivu, andrew ! src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavaScriptScanner.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/JavaScriptScanner.java ! test/langtools/jdk/javadoc/tool/TestScriptInComment.java Changeset: a06d262f32b1 Author: rriggs Date: 2019-01-17 10:44 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a06d262f32b1 8227601: Better collection of references Reviewed-by: smarks, ahgross, skoivu, rhalade ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Stub.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Stub.java ! src/java.rmi/share/classes/sun/rmi/transport/StreamRemoteCall.java ! test/jdk/java/rmi/testlibrary/TestSocketFactory.java Changeset: 4a01dc2f412e Author: alvdavi Date: 2019-10-09 07:05 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4a01dc2f412e 8228825: Enhance ECDSA operations Reviewed-by: andrew ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java Changeset: 6385eb06af94 Author: kaddepalli Date: 2019-04-25 15:19 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6385eb06af94 8219914: Change the environment variable for Java Access Bridge logging to have a directory. Reviewed-by: prr ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.cpp ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.h ! src/jdk.accessibility/windows/native/libjavaaccessbridge/JavaAccessBridge.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp Changeset: 893f6977febf Author: andrew Date: 2019-10-09 07:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/893f6977febf Added tag jdk-11.0.5+10 for changeset 6385eb06af94 ! .hgtags Changeset: ebfdc86014a3 Author: andrew Date: 2019-10-09 15:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ebfdc86014a3 Merge jdk-11.0.5+10 ! .hgtags ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: 4792c371e5e9 Author: andrew Date: 2019-10-09 15:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4792c371e5e9 Added tag shenandoah-jdk-11.0.5+10 for changeset ebfdc86014a3 ! .hgtags From gnu.andrew at redhat.com Tue Oct 15 21:26:51 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 15 Oct 2019 22:26:51 +0100 Subject: RFR: [11u] jdk-11.0.5+10 / jdk-11.0.5-ga In-Reply-To: <8290a96b-9c05-4dad-e32a-3a190e739941@redhat.com> References: <59d2079a-616d-016a-e273-eaee7eadbe8b@redhat.com> <8290a96b-9c05-4dad-e32a-3a190e739941@redhat.com> Message-ID: <2186d186-768f-53b6-9a01-1dc79b7cb3c9@redhat.com> On 15/10/2019 22:25, Aleksey Shipilev wrote: > On 10/15/19 11:22 PM, Andrew John Hughes wrote: >> Webrev: https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/ >> Merge changeset: >> https://cr.openjdk.java.net/~andrew/shenandoah-11/11.0.5/11.0.5+10.merge > > Looks good to me, thank you. > >> Ok to push? > > This is the push to shenandoah/jdk11? If so, yes, it is OK to push. > Thanks. Pushed. -- 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 Oct 15 22:00:36 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 15 Oct 2019 23:00:36 +0100 Subject: [RFR] [8u] 8u232-b09 / 8u232-ga Upstream Sync Message-ID: <4e75cf70-118c-eeeb-0c87-2ea1ae240e52@redhat.com> Webrevs: https://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/ Merge changesets: http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/corba/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxp/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxws/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jdk/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/hotspot/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/langtools/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/nashorn/merge.changeset http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/root/merge.changeset Changes in aarch64-shenandoah-jdk8u232-b09: - S8167646: Better invalid FilePermission - S8213429, CVE-2019-2933: Windows file handling redux - S8218573, CVE-2019-2945: Better socket support - S8218877: Help transform transformers - S8220186: Improve use of font temporary files - S8220302, CVE-2019-2949: Better Kerberos ccache handling - S8221497: Optional Panes in Swing - S8221858, CVE-2019-2958: Build Better Processes - S8222684, CVE-2019-2964: Better support for patterns - S8222690, CVE-2019-2962: Better Glyph Images - S8223163: Better pattern recognition - S8223505, CVE-2019-2973: Better pattern compilation - S8223518, CVE-2019-2975: Unexpected exception in jjs - S8223892, CVE-2019-2978: Improved handling of jar files - S8224025: Fix for JDK-8220302 is not complete - S8224532, CVE-2019-2981: Better Path supports - S8224915, CVE-2019-2983: Better serial attributes - S8225286, CVE-2019-2987: Better rendering of native glyphs - S8225292, CVE-2019-2988: Better Graphics2D drawing - S8225298, CVE-2019-2989: Improve TLS connection support - S8225597, CVE-2019-2992: Enhance font glyph mapping - S8226765, CVE-2019-2999: Commentary on Javadoc comments - S8227129: Better ligature for subtables - S8227601: Better collection of references - S8228825, CVE-2019-2894: Enhance ECDSA operations Main issues of note: No real merge as there are no HotSpot changes at all. diffstat for root b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for corba b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for jaxp b/.hgtags | 1 b/src/com/sun/org/apache/xpath/internal/XPath.java | 10 +- b/src/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java | 6 - b/src/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java | 6 - b/src/com/sun/org/apache/xpath/internal/compiler/Compiler.java | 36 ++++++++-- b/src/com/sun/org/apache/xpath/internal/compiler/XPathParser.java | 22 ++++-- b/src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java | 14 +++ 7 files changed, 74 insertions(+), 21 deletions(-) diffstat for jaxws b/.hgtags | 1 + 1 file changed, 1 insertion(+) diffstat for nashorn b/.hgtags | 1 + b/src/jdk/nashorn/internal/runtime/regexp/JdkRegExp.java | 4 +++- b/src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diffstat for langtools b/.hgtags | 1 b/src/share/classes/com/sun/tools/javadoc/JavaScriptScanner.java | 36 +--------- b/test/tools/javadoc/TestScriptInComment.java | 6 + 3 files changed, 11 insertions(+), 32 deletions(-) diffstat for jdk b/.hgtags | 1 b/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java | 12 b/src/share/classes/java/awt/Font.java | 6 b/src/share/classes/java/io/FilePermission.java | 37 ++ b/src/share/classes/java/net/NetPermission.java | 11 b/src/share/classes/java/net/ServerSocket.java | 15 b/src/share/classes/java/net/Socket.java | 18 + b/src/share/classes/java/net/URL.java | 10 b/src/share/classes/java/util/regex/Pattern.java | 14 b/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java | 10 b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java | 20 + b/src/share/classes/sun/font/CMap.java | 22 + b/src/share/classes/sun/font/FileFont.java | 2 b/src/share/classes/sun/font/FontScaler.java | 6 b/src/share/classes/sun/font/FreetypeFontScaler.java | 24 + b/src/share/classes/sun/font/GlyphList.java | 14 b/src/share/classes/sun/java2d/SunGraphics2D.java | 6 b/src/share/classes/sun/misc/Launcher.java | 3 b/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java | 4 b/src/share/classes/sun/net/www/protocol/jar/Handler.java | 15 b/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java | 20 - b/src/share/classes/sun/rmi/registry/RegistryImpl_Stub.java | 27 - b/src/share/classes/sun/rmi/transport/DGCImpl_Skel.java | 17 - b/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java | 50 +-- b/src/share/classes/sun/rmi/transport/StreamRemoteCall.java | 22 + b/src/share/classes/sun/security/jgss/krb5/Krb5Context.java | 8 b/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java | 12 b/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java | 4 b/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java | 4 b/src/share/classes/sun/security/jgss/krb5/Krb5ProxyCredential.java | 31 +- b/src/share/classes/sun/security/jgss/krb5/Krb5Util.java | 29 + b/src/share/classes/sun/security/krb5/Credentials.java | 36 +- b/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java | 15 b/src/share/classes/sun/security/krb5/Realm.java | 1 b/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java | 32 +- b/src/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java | 16 - b/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java | 20 + b/src/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java | 65 +++- b/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java | 105 ++++++ b/src/share/classes/sun/security/ssl/EllipticCurvesExtension.java | 19 - b/src/share/classes/sun/security/util/SecurityConstants.java | 6 b/src/share/classes/sun/security/util/SecurityProperties.java | 82 +++++ b/src/share/lib/security/java.security-aix | 29 + b/src/share/lib/security/java.security-linux | 29 + b/src/share/lib/security/java.security-macosx | 29 + b/src/share/lib/security/java.security-solaris | 29 + b/src/share/lib/security/java.security-windows | 29 + b/src/share/native/sun/font/DrawGlyphList.c | 18 + b/src/share/native/sun/font/freetypeScaler.c | 82 ++++- b/src/share/native/sun/font/layout/AlternateSubstSubtables.cpp | 4 b/src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp | 4 b/src/share/native/sun/font/layout/LigatureSubstSubtables.cpp | 4 b/src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp | 4 b/src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp | 4 b/src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp | 4 b/src/share/native/sun/font/layout/MorphTables.cpp | 6 b/src/share/native/sun/font/layout/PairPositioningSubtables.cpp | 12 b/src/share/native/sun/font/layout/SegmentArrayProcessor.cpp | 2 b/src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp | 2 b/src/share/native/sun/font/layout/SegmentSingleProcessor.cpp | 2 b/src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp | 2 b/src/share/native/sun/font/layout/SimpleArrayProcessor.cpp | 2 b/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp | 12 b/src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp | 12 b/src/share/native/sun/font/layout/SingleTableProcessor.cpp | 2 b/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h | 2 b/src/share/native/sun/java2d/loops/LoopMacros.h | 8 b/src/share/native/sun/java2d/opengl/OGLBlitLoops.c | 42 +- b/src/share/native/sun/security/krb5/nativeccache.c | 44 ++ b/src/solaris/classes/sun/font/XRGlyphCache.java | 3 b/src/solaris/classes/sun/font/XRTextRenderer.java | 3 b/src/solaris/native/sun/java2d/x11/X11FontScaler_md.c | 6 b/src/windows/classes/java/lang/ProcessImpl.java | 154 ++++++---- b/src/windows/classes/sun/security/krb5/internal/tools/Klist.java | 38 ++ b/src/windows/native/sun/java2d/d3d/D3DContext.cpp | 4 b/test/java/awt/image/DrawImage/IncorrectManagedImageSourceOffset.java | 86 ++++- b/test/java/awt/image/DrawImage/IncorrectUnmanagedImageSourceOffset.java | 65 +++- b/test/java/awt/image/DrawImage/SimpleManagedImage.java | 110 +++++-- b/test/java/awt/image/DrawImage/SimpleUnmanagedImage.java | 93 ++++-- b/test/java/io/FilePermission/Invalid.java | 67 ++++ b/test/java/rmi/testlibrary/TestSocketFactory.java | 20 + 81 files changed, 1605 insertions(+), 334 deletions(-) diffstat for hotspot b/.hgtags | 1 + 1 file changed, 1 insertion(+) Successfully built on x86, x86_64, s390, s390x, ppc, ppc64, ppc64le & aarch64. Ok to push? -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 https://keybase.io/gnu_andrew From shade at redhat.com Tue Oct 15 22:04:10 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 16 Oct 2019 00:04:10 +0200 Subject: [aarch64-port-dev ] [RFR] [8u] 8u232-b09 / 8u232-ga Upstream Sync In-Reply-To: <4e75cf70-118c-eeeb-0c87-2ea1ae240e52@redhat.com> References: <4e75cf70-118c-eeeb-0c87-2ea1ae240e52@redhat.com> Message-ID: <7cdaf960-2d9b-eb59-daac-17a5a55b9b2f@redhat.com> On 10/16/19 12:00 AM, Andrew John Hughes wrote: > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/corba/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxp/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxws/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jdk/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/hotspot/merge.changeset Looks trivially good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/langtools/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/nashorn/merge.changeset Looks good. > http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/root/merge.changeset Looks trivially good. Thumbs up! Good to go. -- Thanks, -Aleksey From gnu.andrew at redhat.com Tue Oct 15 22:17:29 2019 From: gnu.andrew at redhat.com (Andrew John Hughes) Date: Tue, 15 Oct 2019 23:17:29 +0100 Subject: [aarch64-port-dev ] [RFR] [8u] 8u232-b09 / 8u232-ga Upstream Sync In-Reply-To: <7cdaf960-2d9b-eb59-daac-17a5a55b9b2f@redhat.com> References: <4e75cf70-118c-eeeb-0c87-2ea1ae240e52@redhat.com> <7cdaf960-2d9b-eb59-daac-17a5a55b9b2f@redhat.com> Message-ID: <7c8111c0-c3fb-5496-a0f0-7f17df32b54f@redhat.com> On 15/10/2019 23:04, Aleksey Shipilev wrote: > On 10/16/19 12:00 AM, Andrew John Hughes wrote: >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/corba/merge.changeset > > Looks trivially good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxp/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jaxws/merge.changeset > > Looks trivially good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/jdk/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/hotspot/merge.changeset > > Looks trivially good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/langtools/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/nashorn/merge.changeset > > Looks good. > >> http://cr.openjdk.java.net/~andrew/shenandoah-8/u232-ga/root/merge.changeset > > Looks trivially good. > > Thumbs up! Good to go. > Thanks. Pushed. -- 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 Oct 15 22:33:41 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 16 Oct 2019 00:33:41 +0200 Subject: [8] RFC: Pick up 8u232-ga to sh/jdk8 Message-ID: aarch64-port/jdk8u-shenandoah integration repo now has current CPU (8u232-ga). Let's pick it up to sh/jdk8. Since we did not have any changes in sh/jdk8 after the CPU freeze, no merge is required, we only pick up changesets. There is no reason to list the changes here, refer to integration repo RFR for details: https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-October/008085.html Testing: x86_64 hotspot_gc_shenandoah {fastdebug, release} -- Thanks, -Aleksey From zgu at redhat.com Wed Oct 16 00:19:52 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 15 Oct 2019 20:19:52 -0400 Subject: [8] RFC: Pick up 8u232-ga to sh/jdk8 In-Reply-To: References: Message-ID: Good to me. Thanks, -Zhengyu On 10/15/19 6:33 PM, Aleksey Shipilev wrote: > aarch64-port/jdk8u-shenandoah integration repo now has current CPU (8u232-ga). > > Let's pick it up to sh/jdk8. Since we did not have any changes in sh/jdk8 after the CPU freeze, no > merge is required, we only pick up changesets. There is no reason to list the changes here, refer to > integration repo RFR for details: > https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-October/008085.html > > Testing: x86_64 hotspot_gc_shenandoah {fastdebug, release} > From rkennke at redhat.com Wed Oct 16 06:59:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 16 Oct 2019 08:59:37 +0200 Subject: [8] RFC: Pick up 8u232-ga to sh/jdk8 In-Reply-To: References: Message-ID: Yes, please! Thanks, Roman > aarch64-port/jdk8u-shenandoah integration repo now has current CPU (8u232-ga). > > Let's pick it up to sh/jdk8. Since we did not have any changes in sh/jdk8 after the CPU freeze, no > merge is required, we only pick up changesets. There is no reason to list the changes here, refer to > integration repo RFR for details: > https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-October/008085.html > > Testing: x86_64 hotspot_gc_shenandoah {fastdebug, release} > From shade at redhat.com Wed Oct 16 07:02:14 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:14 +0000 Subject: hg: shenandoah/jdk8/hotspot: 20 new changesets Message-ID: <201910160702.x9G72E0k014247@aojmv0008.oracle.com> Changeset: be2bd43e06f4 Author: twisti Date: 2015-12-23 20:19 -1000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/be2bd43e06f4 8143072: [JVMCI] Port JVMCI to AArch64 Reviewed-by: gdub, rschatz, twisti, kvn Contributed-by: aph at redhat.com ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp Changeset: 628176d22495 Author: zgu Date: 2019-09-12 15:15 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/628176d22495 8178870: instrumentation.retransformClasses cause coredump Summary: Don't double-free cached class bytes on redefinition loading failure. Reviewed-by: sspitsyn, jiangli ! src/share/vm/prims/jvmtiRedefineClasses.cpp + test/runtime/RedefineTests/RedefineDoubleDelete.java + test/runtime/RedefineTests/libRedefineDoubleDelete.c + test/runtime/RedefineTests/test8178870.sh Changeset: fea2c7f50ce8 Author: zgu Date: 2019-09-12 15:29 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fea2c7f50ce8 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: 3ece33697a35 Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3ece33697a35 Added tag jdk8u232-b06 for changeset fea2c7f50ce8 ! .hgtags Changeset: e2d7de285d76 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e2d7de285d76 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: d5d735b7718a Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d5d735b7718a Added tag aarch64-shenandoah-jdk8u232-b06 for changeset e2d7de285d76 ! .hgtags Changeset: 64c21838a397 Author: andrew Date: 2019-09-23 18:06 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/64c21838a397 Merge Changeset: 9273f5dfd66a Author: zgu Date: 2019-09-23 11:34 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9273f5dfd66a 8231366: Shenandoah: Shenandoah String Dedup thread is not properly initialized Reviewed-by: shade, andrew ! src/share/vm/gc_implementation/shenandoah/shenandoahStrDedupThread.cpp Changeset: c751303497d5 Author: dsamersoff Date: 2014-06-13 05:10 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c751303497d5 8038392: Generating prelink cache breaks JAVA 'jinfo' utility normal behaviour Summary: Better parsing of /proc/pid/maps in sa Reviewed-by: sspitsyn, sla ! agent/src/os/linux/ps_proc.c Changeset: 1aa54ae51b56 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1aa54ae51b56 Added tag jdk8u232-b07 for changeset c751303497d5 ! .hgtags Changeset: 3a72593f3e4b Author: andrew Date: 2019-09-24 03:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3a72593f3e4b Merge jdk8u232-b07 ! .hgtags ! agent/src/os/linux/ps_proc.c Changeset: b8c0849c1d94 Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b8c0849c1d94 Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 3a72593f3e4b ! .hgtags Changeset: 15a65d1c8924 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/15a65d1c8924 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 4170228e11e6 Author: zgu Date: 2019-09-26 06:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4170228e11e6 8231463: Fix runtime/RedefineTests/RedefineDoubleDelete.java test in 8u Reviewed-by: andrew ! test/runtime/RedefineTests/RedefineDoubleDelete.java - test/runtime/RedefineTests/test8178870.sh Changeset: 12177d88b89c Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/12177d88b89c Added tag jdk8u232-b08 for changeset 4170228e11e6 ! .hgtags Changeset: da542efab010 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/da542efab010 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README - test/runtime/RedefineTests/test8178870.sh Changeset: 73a6d57f689b Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/73a6d57f689b Added tag aarch64-shenandoah-jdk8u232-b08 for changeset da542efab010 ! .hgtags Changeset: ca96653a3059 Author: andrew Date: 2019-10-10 04:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ca96653a3059 Added tag jdk8u232-b09 for changeset 12177d88b89c ! .hgtags Changeset: 9e52f8d3b511 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9e52f8d3b511 Merge jdk8u232-b09 ! .hgtags Changeset: 309b496da750 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/309b496da750 Added tag aarch64-shenandoah-jdk8u232-b09 for changeset 9e52f8d3b511 ! .hgtags From shade at redhat.com Wed Oct 16 07:02:16 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:16 +0000 Subject: hg: shenandoah/jdk8/langtools: 15 new changesets Message-ID: <201910160702.x9G72Gja014341@aojmv0008.oracle.com> Changeset: dd568d0e5e10 Author: zgu Date: 2019-09-12 15:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/dd568d0e5e10 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: 3b3a43588afb Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/3b3a43588afb Added tag jdk8u232-b06 for changeset dd568d0e5e10 ! .hgtags Changeset: dd50b7c80252 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/dd50b7c80252 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: ef39f8ff5e56 Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/ef39f8ff5e56 Added tag aarch64-shenandoah-jdk8u232-b06 for changeset dd50b7c80252 ! .hgtags Changeset: 4522596811bb Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4522596811bb Added tag jdk8u232-b07 for changeset 3b3a43588afb ! .hgtags Changeset: e113b2820cc8 Author: andrew Date: 2019-09-24 03:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/e113b2820cc8 Merge jdk8u232-b07 ! .hgtags Changeset: 5ce4c7045a9f Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/5ce4c7045a9f Added tag aarch64-shenandoah-jdk8u232-b07 for changeset e113b2820cc8 ! .hgtags Changeset: 4bc16c360830 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/4bc16c360830 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 090e85a30eb6 Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/090e85a30eb6 Added tag jdk8u232-b08 for changeset 4bc16c360830 ! .hgtags Changeset: b397a8511e28 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/b397a8511e28 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: cd7a98b306af Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/cd7a98b306af Added tag aarch64-shenandoah-jdk8u232-b08 for changeset b397a8511e28 ! .hgtags Changeset: 735048c9f2d6 Author: igerasim Date: 2019-08-12 13:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/735048c9f2d6 8226765: Commentary on Javadoc comments Reviewed-by: jjg, rhalade, skoivu ! src/share/classes/com/sun/tools/javadoc/JavaScriptScanner.java ! test/tools/javadoc/TestScriptInComment.java Changeset: ce7322b16382 Author: andrew Date: 2019-10-10 04:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/ce7322b16382 Added tag jdk8u232-b09 for changeset 735048c9f2d6 ! .hgtags Changeset: 7a6b2564b45f Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/7a6b2564b45f Merge jdk8u232-b09 ! .hgtags Changeset: 775c14b2c44e Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/langtools/rev/775c14b2c44e Added tag aarch64-shenandoah-jdk8u232-b09 for changeset 7a6b2564b45f ! .hgtags From shade at redhat.com Wed Oct 16 07:02:19 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:19 +0000 Subject: hg: shenandoah/jdk8/corba: 14 new changesets Message-ID: <201910160702.x9G72JV9014493@aojmv0008.oracle.com> Changeset: 3fc52164727a Author: zgu Date: 2019-09-12 15:20 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/3fc52164727a 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: af5f5e2e07bc Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/af5f5e2e07bc Added tag jdk8u232-b06 for changeset 3fc52164727a ! .hgtags Changeset: 59350ba353ae Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/59350ba353ae Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: fe3f67f1add8 Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/fe3f67f1add8 Added tag aarch64-shenandoah-jdk8u232-b06 for changeset 59350ba353ae ! .hgtags Changeset: 53fe5902d446 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/53fe5902d446 Added tag jdk8u232-b07 for changeset af5f5e2e07bc ! .hgtags Changeset: 4b0edfb2bca1 Author: andrew Date: 2019-09-24 03:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/4b0edfb2bca1 Merge jdk8u232-b07 ! .hgtags Changeset: 3c4d4d5c44a9 Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/3c4d4d5c44a9 Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 4b0edfb2bca1 ! .hgtags Changeset: def9640e5d82 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/def9640e5d82 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 3cdc7d41905a Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/3cdc7d41905a Added tag jdk8u232-b08 for changeset def9640e5d82 ! .hgtags Changeset: 027cf666b018 Author: andrew Date: 2019-10-01 19:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/027cf666b018 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: e64db4c4361b Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/e64db4c4361b Added tag aarch64-shenandoah-jdk8u232-b08 for changeset 027cf666b018 ! .hgtags Changeset: 917351883532 Author: andrew Date: 2019-10-10 04:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/917351883532 Added tag jdk8u232-b09 for changeset 3cdc7d41905a ! .hgtags Changeset: 15c82046b3d4 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/15c82046b3d4 Merge jdk8u232-b09 ! .hgtags Changeset: 8296027440de Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/corba/rev/8296027440de Added tag aarch64-shenandoah-jdk8u232-b09 for changeset 15c82046b3d4 ! .hgtags From shade at redhat.com Wed Oct 16 07:02:15 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:15 +0000 Subject: hg: shenandoah/jdk8: 14 new changesets Message-ID: <201910160702.x9G72FrL014297@aojmv0008.oracle.com> Changeset: aa1559aa1f70 Author: zgu Date: 2019-09-12 15:20 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/aa1559aa1f70 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: 54af8189b95d Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/54af8189b95d Added tag jdk8u232-b06 for changeset aa1559aa1f70 ! .hgtags Changeset: c1f5571869c8 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/c1f5571869c8 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: 58f9d82b3c76 Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/58f9d82b3c76 Added tag aarch64-shenandoah-jdk8u232-b06 for changeset c1f5571869c8 ! .hgtags Changeset: 09da74e54820 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/09da74e54820 Added tag jdk8u232-b07 for changeset 54af8189b95d ! .hgtags Changeset: 7e0f721cbb68 Author: andrew Date: 2019-09-24 03:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7e0f721cbb68 Merge jdk8u232-b07 ! .hgtags Changeset: ea9752852c93 Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/ea9752852c93 Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 7e0f721cbb68 ! .hgtags Changeset: 7aea873d47e1 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/7aea873d47e1 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 6b9f309807a2 Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6b9f309807a2 Added tag jdk8u232-b08 for changeset 7aea873d47e1 ! .hgtags Changeset: 2c4777a60313 Author: andrew Date: 2019-10-01 19:25 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/2c4777a60313 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: c9aba478ce37 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/c9aba478ce37 Added tag aarch64-shenandoah-jdk8u232-b08 for changeset 2c4777a60313 ! .hgtags Changeset: fcdc51860577 Author: andrew Date: 2019-10-10 04:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/fcdc51860577 Added tag jdk8u232-b09 for changeset 6b9f309807a2 ! .hgtags Changeset: ec04e0be7de4 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/ec04e0be7de4 Merge jdk8u232-b09 ! .hgtags Changeset: 6056f713a182 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/rev/6056f713a182 Added tag aarch64-shenandoah-jdk8u232-b09 for changeset ec04e0be7de4 ! .hgtags From shade at redhat.com Wed Oct 16 07:02:21 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:21 +0000 Subject: hg: shenandoah/jdk8/nashorn: 15 new changesets Message-ID: <201910160702.x9G72Lh7014571@aojmv0008.oracle.com> Changeset: d9dd9b7ce13f Author: zgu Date: 2019-09-12 15:23 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/d9dd9b7ce13f 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: 0f61e27241b5 Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0f61e27241b5 Added tag jdk8u232-b06 for changeset d9dd9b7ce13f ! .hgtags Changeset: 51c72d11f9c3 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/51c72d11f9c3 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: df85034f424e Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/df85034f424e Added tag aarch64-shenandoah-jdk8u232-b06 for changeset 51c72d11f9c3 ! .hgtags Changeset: fb70ff525e04 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/fb70ff525e04 Added tag jdk8u232-b07 for changeset 0f61e27241b5 ! .hgtags Changeset: a88c90879254 Author: andrew Date: 2019-09-24 03:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/a88c90879254 Merge jdk8u232-b07 ! .hgtags Changeset: 2cf6a7658b5c Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/2cf6a7658b5c Added tag aarch64-shenandoah-jdk8u232-b07 for changeset a88c90879254 ! .hgtags Changeset: 9fc2e50a5c2f Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/9fc2e50a5c2f 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 468982f5d7ed Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/468982f5d7ed Added tag jdk8u232-b08 for changeset 9fc2e50a5c2f ! .hgtags Changeset: f3c873b9d9fc Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/f3c873b9d9fc Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: dd25c215f43b Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/dd25c215f43b Added tag aarch64-shenandoah-jdk8u232-b08 for changeset f3c873b9d9fc ! .hgtags Changeset: fba077f48da2 Author: hannesw Date: 2019-05-24 16:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/fba077f48da2 8223518: Unexpected exception in jjs Reviewed-by: sundar, mschoene, rhalade, jlaskey ! src/jdk/nashorn/internal/runtime/regexp/JdkRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java Changeset: db9f5afd254e Author: andrew Date: 2019-10-10 04:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/db9f5afd254e Added tag jdk8u232-b09 for changeset fba077f48da2 ! .hgtags Changeset: cdb42cee07aa Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/cdb42cee07aa Merge jdk8u232-b09 ! .hgtags Changeset: 0dc4bc2ff507 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/nashorn/rev/0dc4bc2ff507 Added tag aarch64-shenandoah-jdk8u232-b09 for changeset cdb42cee07aa ! .hgtags From shade at redhat.com Wed Oct 16 07:02:23 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:23 +0000 Subject: hg: shenandoah/jdk8/jaxp: 16 new changesets Message-ID: <201910160702.x9G72N4j014577@aojmv0008.oracle.com> Changeset: be814fbd44e0 Author: zgu Date: 2019-09-12 15:21 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/be814fbd44e0 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: 0a5bd84fd43f Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/0a5bd84fd43f Added tag jdk8u232-b06 for changeset be814fbd44e0 ! .hgtags Changeset: f70e95fed208 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/f70e95fed208 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: 38170c287ac2 Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/38170c287ac2 Added tag aarch64-shenandoah-jdk8u232-b06 for changeset f70e95fed208 ! .hgtags Changeset: 09bc39a2d2d2 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/09bc39a2d2d2 Added tag jdk8u232-b07 for changeset 0a5bd84fd43f ! .hgtags Changeset: 4d61ecb283d2 Author: andrew Date: 2019-09-24 03:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/4d61ecb283d2 Merge jdk8u232-b07 ! .hgtags Changeset: ca269f9523f5 Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/ca269f9523f5 Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 4d61ecb283d2 ! .hgtags Changeset: 764618a906e8 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/764618a906e8 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: e15e896e7df1 Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/e15e896e7df1 Added tag jdk8u232-b08 for changeset 764618a906e8 ! .hgtags Changeset: 1649d820cbad Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/1649d820cbad Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: 847a7f2a57e8 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/847a7f2a57e8 Added tag aarch64-shenandoah-jdk8u232-b08 for changeset 1649d820cbad ! .hgtags Changeset: 9094c855c4b4 Author: joehw Date: 2019-05-21 13:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/9094c855c4b4 8223505: Better pattern compilation Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/com/sun/org/apache/xpath/internal/compiler/XPathParser.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: 6f9c0c731ab7 Author: joehw Date: 2019-05-31 10:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/6f9c0c731ab7 8224532: Better Path supports Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/com/sun/org/apache/xpath/internal/XPath.java ! src/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java ! src/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java ! src/com/sun/org/apache/xpath/internal/compiler/Compiler.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: 8b4cdef0a9f3 Author: andrew Date: 2019-10-10 04:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/8b4cdef0a9f3 Added tag jdk8u232-b09 for changeset 6f9c0c731ab7 ! .hgtags Changeset: 9ee00f537431 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/9ee00f537431 Merge jdk8u232-b09 ! .hgtags Changeset: 021801282bed Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxp/rev/021801282bed Added tag aarch64-shenandoah-jdk8u232-b09 for changeset 9ee00f537431 ! .hgtags From shade at redhat.com Wed Oct 16 07:02:24 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:24 +0000 Subject: hg: shenandoah/jdk8/jaxws: 14 new changesets Message-ID: <201910160702.x9G72Oew014581@aojmv0008.oracle.com> Changeset: 7261667ae4ff Author: zgu Date: 2019-09-12 15:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/7261667ae4ff 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README Changeset: fb3b24b266a2 Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/fb3b24b266a2 Added tag jdk8u232-b06 for changeset 7261667ae4ff ! .hgtags Changeset: d31665548753 Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/d31665548753 Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README Changeset: c342369c068a Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/c342369c068a Added tag aarch64-shenandoah-jdk8u232-b06 for changeset d31665548753 ! .hgtags Changeset: bd2b62946fe7 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/bd2b62946fe7 Added tag jdk8u232-b07 for changeset fb3b24b266a2 ! .hgtags Changeset: 9bce6fb57b44 Author: andrew Date: 2019-09-24 03:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/9bce6fb57b44 Merge jdk8u232-b07 ! .hgtags Changeset: 8116b048aa1c Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/8116b048aa1c Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 9bce6fb57b44 ! .hgtags Changeset: 65b391f0ed66 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/65b391f0ed66 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README Changeset: 5f799cd7fe51 Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/5f799cd7fe51 Added tag jdk8u232-b08 for changeset 65b391f0ed66 ! .hgtags Changeset: 1c737e598b71 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/1c737e598b71 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README Changeset: 920855bfc3ec Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/920855bfc3ec Added tag aarch64-shenandoah-jdk8u232-b08 for changeset 1c737e598b71 ! .hgtags Changeset: 45ee864c72ac Author: andrew Date: 2019-10-10 04:39 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/45ee864c72ac Added tag jdk8u232-b09 for changeset 5f799cd7fe51 ! .hgtags Changeset: e7adf2360405 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/e7adf2360405 Merge jdk8u232-b09 ! .hgtags Changeset: 155c4fab9d90 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jaxws/rev/155c4fab9d90 Added tag aarch64-shenandoah-jdk8u232-b09 for changeset e7adf2360405 ! .hgtags From shade at redhat.com Wed Oct 16 07:02:34 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 07:02:34 +0000 Subject: hg: shenandoah/jdk8/jdk: 40 new changesets Message-ID: <201910160702.x9G72Z9d014669@aojmv0008.oracle.com> Changeset: 8477fd88653c Author: prr Date: 2019-01-22 17:31 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8477fd88653c 8216965: crash in freetypeScaler.c CopyBW2Grey8 Reviewed-by: serb, mbaesken ! src/share/native/sun/font/freetypeScaler.c + test/java/awt/FontClass/FontSize1Test.java Changeset: 4af832eeb889 Author: aivanov Date: 2019-08-18 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/4af832eeb889 8222108: Reduce minRefreshTime for updating remote printer list on Windows Reviewed-by: prr, serb ! src/windows/classes/sun/print/PrintServiceLookupProvider.java ! test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: 5d57817931e1 Author: serb Date: 2019-06-12 13:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5d57817931e1 8217676: Upgrade libpng to 1.6.37 Reviewed-by: prr, jdv, kcr ! THIRD_PARTY_README ! make/lib/Awt2dLibraries.gmk ! src/share/native/sun/awt/libpng/CHANGES ! src/share/native/sun/awt/libpng/LICENSE ! src/share/native/sun/awt/libpng/README ! src/share/native/sun/awt/libpng/png.c ! src/share/native/sun/awt/libpng/png.h ! src/share/native/sun/awt/libpng/pngconf.h ! src/share/native/sun/awt/libpng/pngdebug.h ! src/share/native/sun/awt/libpng/pngerror.c ! src/share/native/sun/awt/libpng/pngget.c ! src/share/native/sun/awt/libpng/pnginfo.h ! src/share/native/sun/awt/libpng/pnglibconf.h ! src/share/native/sun/awt/libpng/pngmem.c ! src/share/native/sun/awt/libpng/pngpread.c ! src/share/native/sun/awt/libpng/pngpriv.h ! src/share/native/sun/awt/libpng/pngread.c ! src/share/native/sun/awt/libpng/pngrio.c ! src/share/native/sun/awt/libpng/pngrtran.c ! src/share/native/sun/awt/libpng/pngrutil.c ! src/share/native/sun/awt/libpng/pngset.c ! src/share/native/sun/awt/libpng/pngstruct.h ! src/share/native/sun/awt/libpng/pngtrans.c Changeset: 3560e0ebe876 Author: andrew Date: 2019-09-16 18:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3560e0ebe876 Added tag jdk8u232-b06 for changeset 5d57817931e1 ! .hgtags Changeset: 91593ef4dced Author: andrew Date: 2019-09-16 19:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/91593ef4dced Merge jdk8u232-b06 ! .hgtags ! THIRD_PARTY_README ! make/lib/Awt2dLibraries.gmk ! src/share/native/sun/awt/libpng/CHANGES ! src/share/native/sun/awt/libpng/png.h ! src/share/native/sun/awt/libpng/pngconf.h ! src/share/native/sun/awt/libpng/pngpriv.h ! src/share/native/sun/awt/libpng/pngrutil.c ! src/share/native/sun/font/freetypeScaler.c Changeset: 9c5869495e62 Author: andrew Date: 2019-09-16 19:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9c5869495e62 Added tag aarch64-shenandoah-jdk8u232-b06 for changeset 91593ef4dced ! .hgtags Changeset: ba6a242c5223 Author: andrew Date: 2019-09-23 06:13 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/ba6a242c5223 Added tag jdk8u232-b07 for changeset 3560e0ebe876 ! .hgtags Changeset: 63d584bd574f Author: andrew Date: 2019-09-24 03:29 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/63d584bd574f Merge jdk8u232-b07 ! .hgtags Changeset: 282353338f2d Author: andrew Date: 2019-09-24 03:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/282353338f2d Added tag aarch64-shenandoah-jdk8u232-b07 for changeset 63d584bd574f ! .hgtags Changeset: b32eb8c2d908 Author: chegar Date: 2019-08-19 14:28 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b32eb8c2d908 8225425: java.lang.UnsatisfiedLinkError: net.dll: Can't find dependent libraries Reviewed-by: dfuchs, alanb, erikj ! make/lib/NetworkingLibraries.gmk ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthentication.c + test/lib/testlibrary/jdk/testlibrary/net/URIBuilder.java + test/sun/net/www/protocol/http/TestTransparentNTLM.java Changeset: 3e949378fc18 Author: andrew Date: 2019-09-24 19:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/3e949378fc18 Merge Changeset: 6a822cac8f26 Author: valeriep Date: 2019-06-26 01:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/6a822cac8f26 8226607: Inconsistent info between pcsclite.md and MUSCLE headers Summary: Updated the info based on MUSCLE v1.8.24 Reviewed-by: ascarpino ! THIRD_PARTY_README + src/solaris/native/sun/security/smartcardio/MUSCLE/COPYING Changeset: d355fd566378 Author: andrew Date: 2019-09-25 19:52 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/d355fd566378 8228469: (tz) Upgrade time-zone data to tzdata2019b Reviewed-by: shade ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/europe ! make/data/tzdata/factory ! make/data/tzdata/northamerica ! make/data/tzdata/pacificnew ! make/data/tzdata/southamerica ! make/data/tzdata/systemv ! make/data/tzdata/zone.tab ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! test/java/util/TimeZone/TimeZoneTest.java Changeset: 8560bc534080 Author: rpatil Date: 2019-09-24 10:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8560bc534080 8231098: (tz) Upgrade time-zone data to tzdata2019c Reviewed-by: martin, naoto ! make/data/tzdata/VERSION ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/europe ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica Changeset: 69c4f673b33e Author: bpb Date: 2019-09-13 16:03 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/69c4f673b33e 8230085: (fs) FileStore::isReadOnly is always true on macOS Catalina Reviewed-by: alanb ! src/solaris/classes/sun/nio/fs/BsdFileStore.java ! src/solaris/classes/sun/nio/fs/BsdNativeDispatcher.java ! src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/solaris/native/sun/nio/fs/BsdNativeDispatcher.c Changeset: fe03778a3862 Author: andrew Date: 2019-09-26 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/fe03778a3862 Added tag jdk8u232-b08 for changeset 69c4f673b33e ! .hgtags Changeset: 39818e7fd5c7 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/39818e7fd5c7 Merge jdk8u232-b08 ! .hgtags ! THIRD_PARTY_README ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/europe ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica ! make/data/tzdata/zone.tab ! make/lib/NetworkingLibraries.gmk ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java Changeset: 7790dc4fcc23 Author: andrew Date: 2019-10-01 19:26 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7790dc4fcc23 Added tag aarch64-shenandoah-jdk8u232-b08 for changeset 39818e7fd5c7 ! .hgtags Changeset: b148d99d5cc3 Author: andrew Date: 2019-10-10 02:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/b148d99d5cc3 8213429: Windows file handling redux 8167646: Better invalid FilePermission Reviewed-by: mbalao ! src/share/classes/java/io/FilePermission.java ! src/share/classes/sun/misc/Launcher.java + test/java/io/FilePermission/Invalid.java Changeset: dd50896e9dec Author: michaelm Date: 2019-03-25 17:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/dd50896e9dec 8218573: Better socket support Reviewed-by: alanb, ahgross, chegar, igerasim ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/sun/security/util/SecurityConstants.java Changeset: 1f5e1d743e4b Author: alitvinov Date: 2019-05-31 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1f5e1d743e4b 8218877: Help transform transformers Reviewed-by: serb, prr, mschoene, bpb, ssahoo ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ! src/share/native/sun/java2d/loops/LoopMacros.h ! src/share/native/sun/java2d/opengl/OGLBlitLoops.c ! src/windows/native/sun/java2d/d3d/D3DContext.cpp Changeset: f0bbf5b47d57 Author: prr Date: 2019-04-23 11:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/f0bbf5b47d57 8220186: Improve use of font temporary files Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FontScaler.java ! src/share/classes/sun/font/FreetypeFontScaler.java ! src/share/native/sun/font/freetypeScaler.c Changeset: 96cab194659e Author: weijun Date: 2019-04-19 10:22 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/96cab194659e 8220302: Better Kerberos ccache handling Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KerberosTicket.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java ! src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java ! src/share/classes/sun/security/jgss/krb5/Krb5ProxyCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java ! src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java + src/share/classes/sun/security/util/SecurityProperties.java ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java Changeset: 8f88a036006e Author: weijun Date: 2019-05-21 08:37 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/8f88a036006e 8224025: Fix for JDK-8220302 is not complete Reviewed-by: ahgross, mullan, valeriep ! src/share/native/sun/security/krb5/nativeccache.c Changeset: db612d10296b Author: serb Date: 2019-10-10 03:14 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/db612d10296b 8221497: Optional Panes in Swing Reviewed-by: prr, alitvinov, mschoene, rhalade ! src/share/native/sun/java2d/opengl/OGLBlitLoops.c + test/java/awt/image/DrawImage/IncorrectManagedImageSourceOffset.java ! test/java/awt/image/DrawImage/IncorrectUnmanagedImageSourceOffset.java + test/java/awt/image/DrawImage/SimpleManagedImage.java + test/java/awt/image/DrawImage/SimpleUnmanagedImage.java Changeset: 9e42cbb6a9ed Author: rriggs Date: 2019-04-30 16:45 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/9e42cbb6a9ed 8221858: Build Better Processes Reviewed-by: alanb, rhalade, ahgross, darcy ! src/windows/classes/java/lang/ProcessImpl.java Changeset: 643871d087e0 Author: igerasim Date: 2019-05-22 19:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/643871d087e0 8222684: Better support for patterns 8223163: Better pattern recognition Reviewed-by: ahgross, bchristi, jeff, rhalade, rriggs, smarks ! src/share/classes/java/util/regex/Pattern.java Changeset: eeac0c758228 Author: prr Date: 2019-05-15 12:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/eeac0c758228 8222690: Better Glyph Images Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/sun/font/GlyphList.java ! src/share/native/sun/font/DrawGlyphList.c ! src/share/native/sun/font/freetypeScaler.c ! src/solaris/classes/sun/font/XRGlyphCache.java ! src/solaris/classes/sun/font/XRTextRenderer.java ! src/solaris/native/sun/java2d/x11/X11FontScaler_md.c Changeset: 1f801b99581a Author: aefimov Date: 2019-06-25 00:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/1f801b99581a 8223892: Improved handling of jar files Reviewed-by: dfuchs, chegar, michaelm, rhalade, ahgross ! src/share/classes/java/net/URL.java ! src/share/classes/sun/net/www/protocol/jar/Handler.java Changeset: 5c1c0eda1459 Author: prr Date: 2019-06-14 20:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5c1c0eda1459 8224915: Better serial attributes Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/java/awt/Font.java Changeset: 2c10a7ea0c40 Author: prr Date: 2019-06-19 15:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/2c10a7ea0c40 8225286: Better rendering of native glyphs Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/native/sun/font/freetypeScaler.c Changeset: c20af8b7844d Author: prr Date: 2019-06-16 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/c20af8b7844d 8225292: Better Graphics2D drawing Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/sun/java2d/SunGraphics2D.java Changeset: 932b59a0766b Author: igerasim Date: 2019-06-22 20:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/932b59a0766b 8225298: Improve TLS connection support Reviewed-by: dfuchs, igerasim, michaelm, rhalade, skoivu ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: e033daba121d Author: prr Date: 2019-06-19 15:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/e033daba121d 8225597: Enhance font glyph mapping Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/share/classes/sun/font/CMap.java Changeset: 64b55ae060e8 Author: mbalao Date: 2019-09-24 19:07 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/64b55ae060e8 8227129: Better ligature for subtables Reviewed-by: bae ! src/share/native/sun/font/layout/AlternateSubstSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! 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/MorphTables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SingleTableProcessor.cpp Changeset: 523d48606333 Author: rriggs Date: 2019-01-17 10:44 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/523d48606333 8227601: Better collection of references Reviewed-by: smarks, ahgross, skoivu, rhalade ! src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/share/classes/sun/rmi/registry/RegistryImpl_Stub.java ! src/share/classes/sun/rmi/transport/DGCImpl_Skel.java ! src/share/classes/sun/rmi/transport/DGCImpl_Stub.java ! src/share/classes/sun/rmi/transport/StreamRemoteCall.java ! test/java/rmi/testlibrary/TestSocketFactory.java Changeset: 5456f24496f4 Author: andrew Date: 2019-10-10 04:21 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/5456f24496f4 8228825: Enhance ECDSA operations Reviewed-by: bae, bmathiske ! src/share/classes/sun/security/ssl/EllipticCurvesExtension.java Changeset: 97c98d070451 Author: andrew Date: 2019-10-10 04:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/97c98d070451 Added tag jdk8u232-b09 for changeset 5456f24496f4 ! .hgtags Changeset: 360ffe23d1ca Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/360ffe23d1ca Merge jdk8u232-b09 ! .hgtags ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/URL.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/sun/font/FreetypeFontScaler.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java ! src/share/classes/sun/security/ssl/EllipticCurvesExtension.java ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/share/native/sun/font/freetypeScaler.c ! src/share/native/sun/java2d/opengl/OGLBlitLoops.c ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java Changeset: 7676a884c3f6 Author: andrew Date: 2019-10-10 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/jdk/rev/7676a884c3f6 Added tag aarch64-shenandoah-jdk8u232-b09 for changeset 360ffe23d1ca ! .hgtags From shade at redhat.com Wed Oct 16 09:34:49 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 16 Oct 2019 09:34:49 +0000 Subject: hg: shenandoah/jdk11: 11 new changesets Message-ID: <201910160934.x9G9Yp6V010349@aojmv0008.oracle.com> Changeset: cd5ee0e381fa Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/cd5ee0e381fa [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 355ad8383323 Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/355ad8383323 [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java ! test/hotspot/jtreg/gc/shenandoah/options/TestThreadCounts.java + test/hotspot/jtreg/gc/shenandoah/options/TestThreadCountsOverride.java Changeset: 63638b5584c6 Author: shade Date: 2019-10-01 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/63638b5584c6 [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 634b4509d64d Author: roland Date: 2019-09-03 09:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/634b4509d64d [backport] 8230470: Shenandoah doesn't need change from JDK-8212610 anymore Reviewed-by: thartmann ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 8052d748c84c Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8052d748c84c [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp + test/hotspot/jtreg/gc/shenandoah/options/TestHumongousMoves.java Changeset: 2aa5a162422d Author: shade Date: 2019-10-14 11:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2aa5a162422d [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: b90116324e3a Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b90116324e3a [backport] 8232102: Shenandoah: print everything in proper units Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 20fd74153e61 Author: rkennke Date: 2019-08-12 23:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/20fd74153e61 [backport] 8228369: Shenandoah: Refactor LRB C1 stubs Reviewed-by: shade ! 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/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Changeset: 599a5aade8ce Author: shade Date: 2019-08-14 20:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/599a5aade8ce [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1 stubs) Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Changeset: 6290223e12a8 Author: rkennke Date: 2019-08-13 16:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6290223e12a8 [backport] 8229470: Shenandoah: Fix C1 getAndSetObject() failure Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp Changeset: 85587c9b24c4 Author: rkennke Date: 2019-08-21 18:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/85587c9b24c4 [backport] 8229977: Shenandoah: save/restore FPU state aroud LRB runtime call Reviewed-by: shade ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp From shade at redhat.com Wed Oct 16 09:35:23 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 16 Oct 2019 11:35:23 +0200 Subject: [11] 2019-10-16: Bulk backports to sh/jdk11 In-Reply-To: <44794486-429d-162c-350f-5978a72acc3a@redhat.com> References: <20ea4886-971c-4a2d-eefb-33d48f7b974b@redhat.com> <44794486-429d-162c-350f-5978a72acc3a@redhat.com> Message-ID: Thanks, these have now landed in sh/jdk11. -Aleksey On 10/15/19 9:55 AM, Roman Kennke wrote: > Looks good to me. Thanks! > > Roman > > >> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191016/webrev.01/ >> >> Anticipating the final push of 11.0.5 soon, these are some outstanding Shenandoah backports for soon >> to be open sh/jdk11. I would obviously push this only after 11.0.5 merge lands. Reviews are >> appreciated meanwhile anyway. >> >> Changes: >> [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag >> [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings >> [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction >> [backport] 8230470: Shenandoah doesn't need change from JDK-8212610 anymore >> [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment >> [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong >> [backport] 8232102: Shenandoah: print everything in proper units >> [backport] 8228369: Shenandoah: Refactor LRB C1 stubs >> [backport] 8229709: x86_32 build and test failures after JDK-8228369 (Shenandoah: Refactor LRB C1) >> [backport] 8229470: Shenandoah: Fix C1 getAndSetObject() failure >> [backport] 8229977: Shenandoah: save/restore FPU state aroud LRB runtime call >> >> Testing: hotspot_gc_shenandoah {fastdebug, release} x {x86_64, aarch64} From zgu at redhat.com Wed Oct 16 14:44:13 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 16 Oct 2019 10:44:13 -0400 Subject: RFR 8231999: Shenandoah: Traversal failed compiler/jsr292/CallSiteDepContextTest.java Message-ID: <1721621f-a5df-58fc-e007-8d0bf713afa1@redhat.com> This patch partially reverts JDK-8231293's fix, because it hides dead oops from GC, by returning NULL, which causes the failure of this test case. The root cause of JDK-8231293 is that, Traversal deactivates SATB barrier too late, it should be turned off before weak root processing. Bug: https://bugs.openjdk.java.net/browse/JDK-8231999 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231999/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) on Linux After this fix, CallSiteDepContextTest.java test hangs in traversal mode, but it is separate issue, tracked by JDK-8232380. Thanks, -Zhengyu From rkennke at redhat.com Wed Oct 16 15:25:08 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 16 Oct 2019 17:25:08 +0200 Subject: RFR 8231999: Shenandoah: Traversal failed compiler/jsr292/CallSiteDepContextTest.java In-Reply-To: <1721621f-a5df-58fc-e007-8d0bf713afa1@redhat.com> References: <1721621f-a5df-58fc-e007-8d0bf713afa1@redhat.com> Message-ID: So for traversal, it falls to the normal LRB, is that what you intended? Roman > This patch partially reverts JDK-8231293's fix, because it hides dead > oops from GC, by returning NULL, which causes the failure of this test > case. > > The root cause of JDK-8231293 is that, Traversal deactivates SATB > barrier too late, it should be turned off before weak root processing. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8231999 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231999/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on Linux > > After this fix, CallSiteDepContextTest.java test hangs in traversal > mode, but it is separate issue, tracked by JDK-8232380. > > Thanks, > > -Zhengyu > > > From zgu at redhat.com Wed Oct 16 15:40:33 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 16 Oct 2019 11:40:33 -0400 Subject: RFR 8231999: Shenandoah: Traversal failed compiler/jsr292/CallSiteDepContextTest.java In-Reply-To: References: <1721621f-a5df-58fc-e007-8d0bf713afa1@redhat.com> Message-ID: <86750e0f-d71a-0ad6-26e9-866e6f022686@redhat.com> On 10/16/19 11:25 AM, Roman Kennke wrote: > So for traversal, it falls to the normal LRB, is that what you intended? It is always the case, isn't it? -Zhengyu > > Roman > >> This patch partially reverts JDK-8231293's fix, because it hides dead >> oops from GC, by returning NULL, which causes the failure of this test >> case. >> >> The root cause of JDK-8231293 is that, Traversal deactivates SATB >> barrier too late, it should be turned off before weak root processing. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8231999 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231999/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) on Linux >> >> After this fix, CallSiteDepContextTest.java test hangs in traversal >> mode, but it is separate issue, tracked by JDK-8232380. >> >> Thanks, >> >> -Zhengyu >> >> >> > From rkennke at redhat.com Wed Oct 16 15:47:17 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 16 Oct 2019 17:47:17 +0200 Subject: RFR 8231999: Shenandoah: Traversal failed compiler/jsr292/CallSiteDepContextTest.java In-Reply-To: <86750e0f-d71a-0ad6-26e9-866e6f022686@redhat.com> References: <1721621f-a5df-58fc-e007-8d0bf713afa1@redhat.com> <86750e0f-d71a-0ad6-26e9-866e6f022686@redhat.com> Message-ID: >> So for traversal, it falls to the normal LRB, is that what you intended? > > It is always the case, isn't it? Yeah sure, just wanted to check if that is what you intended. The patch is ok. Ideally, the code that calls into GC path wouldn't go through the barrier to begin with, though. Can you keep a record of which code path does that? Roman > > > -Zhengyu > >> >> Roman >> >>> This patch partially reverts JDK-8231293's fix, because it hides dead >>> oops from GC, by returning NULL, which causes the failure of this test >>> case. >>> >>> The root cause of JDK-8231293 is that, Traversal deactivates SATB >>> barrier too late, it should be turned off before weak root processing. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8231999 >>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231999/webrev.00/ >>> >>> Test: >>> ?? hotspot_gc_shenandoah (fastdebug and release) on Linux >>> >>> After this fix, CallSiteDepContextTest.java test hangs in traversal >>> mode, but it is separate issue, tracked by JDK-8232380. >>> >>> Thanks, >>> >>> -Zhengyu >>> >>> >>> >> From zgu at redhat.com Wed Oct 16 17:38:48 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 16 Oct 2019 13:38:48 -0400 Subject: Shenandoah: Enable concurrent class unloading on x86_32 In-Reply-To: <4aa66524-21cf-ff20-838c-fdfa825aa875@redhat.com> References: <19dfb7d0-8bd0-2169-5fba-3847577448ac@redhat.com> <4aa66524-21cf-ff20-838c-fdfa825aa875@redhat.com> Message-ID: On 10/15/19 11:03 AM, Roman Kennke wrote: > It looks ok to me. Shared changes would need further reviewing upstream > by Erik, eventually, but feel free to bake it in sh/jdk first. > > I'd probably use rdi and load the thread-base into it using get_thread() > and keep the interface cleaner. Your call. I am going to keep current version. What you suggested, generating a lot more code, including a runtime call [1], vs. just a single load from known address. Thanks, -Zhengyu [1] ;; nmethod_entry_barrier { 0xe70df1ab: push %edi 0xe70df1ac: push %eax 0xe70df1ad: push %edx 0xe70df1ae: push %ecx 0xe70df1af: call 0xf7159de0 ; {runtime_call Thread::current()} 0xe70df1b4: pop %ecx 0xe70df1b5: pop %edx 0xe70df1b6: mov %eax,%edi 0xe70df1b8: pop %eax .... > > Roman > > >> Prerequisites: >> ?1) Shenandoah: SBSA::load_at() should save/restore registers when >> ??? calling SATB barrier [1] >> ?2) JDK-8230765: Implement nmethod barrier for x86_32 platforms [2] >> >> >> (2) is upstream CR, should be reviewed here. However, there is no >> implementation there that can exercise this implementation. I would >> prefer to bake here for sometime, before upstreaming it. >> >> >> Combined webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/conc-class_unloading_x86_32/webrev.00/ >> >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) on Linux with x86_32 JVM. >> >> [1] >> https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010681.html >> >> [2] http://cr.openjdk.java.net/~zgu/JDK-8230765/webrev.00/ >> >> >> Thanks, >> >> -Zhengyu >> > From zgu at redhat.com Wed Oct 16 19:12:34 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 16 Oct 2019 19:12:34 +0000 Subject: hg: shenandoah/jdk: 8230765: Implement nmethod barrier for x86_32 platforms Message-ID: <201910161912.x9GJCYOS020945@aojmv0008.oracle.com> Changeset: e8924508ff38 Author: zgu Date: 2019-09-09 11:43 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e8924508ff38 8230765: Implement nmethod barrier for x86_32 platforms Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetNMethod_x86.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/stubRoutines_x86_32.cpp ! src/hotspot/share/gc/shared/barrierSetNMethod.hpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zBarrierSetNMethod.hpp From zgu at redhat.com Wed Oct 16 19:13:23 2019 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 16 Oct 2019 19:13:23 +0000 Subject: hg: shenandoah/jdk: 8230773: Shenandoah: enable concurrent class unloading on x86_32 platforms Message-ID: <201910161913.x9GJDNxT021252@aojmv0008.oracle.com> Changeset: c29454a99107 Author: zgu Date: 2019-10-16 15:13 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c29454a99107 8230773: Shenandoah: enable concurrent class unloading on x86_32 platforms Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.cpp From axt at load.hu Wed Oct 16 23:01:29 2019 From: axt at load.hu (Attila Axt) Date: Thu, 17 Oct 2019 01:01:29 +0200 Subject: Shenandoah performance problem Message-ID: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Hi! I'm comparing the performance of different GC implementations against a low-latency project. During the initialization of the project, we load a bunch of key-value pairs from memcached to warm up the local instance cache. The values in memcached are serialized and zipped, so we are unzipping and deserializing them after they are loaded. In order to utilize all cores we use a ThreadPoolExecutor to do this operation using multiple threads. An interesting thing what I noticed, that the cputime burned by the transcode pool during startup, is significantly higher in case of Shenandoah, than the other GC algorithms: CMS: ~29 sec ZGC: ~36 8sec Shenandoah: ~ 270 sec Since the code is quite complex, I've tried to simulate roughly what is happening by creating a microbenchmark. You can fetch it from here: https://github.com/axt/jmh-unzip-mt (Please note that jdk, and jdkarguments at the moment are hardcoded in BechmarkRunner, you will need to manually edit those to get it working) I've executed the benchmark against a freshly built jdk from here:| $ hg clone http:||//hg||.openjdk.java.net||/shenandoah/jdk| |shenandoah| The benchmark yields the following results: ``` # JMH version: 1.21 # VM version: JDK 14-internal, OpenJDK 64-Bit Server VM, 14-internal+0-adhoc.axt.shenandoah # VM invoker: /fast/shenandoah/build/linux-x86_64-server-release/images/jdk/bin/java # Warmup: 5 iterations, 10 s each # Measurement: 10 iterations, 10 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: axt.benchmark.TranscodeBenchmark.benchmark ??? Benchmark???????????????????? Mode? Cnt? Score?? Error? Units ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.098 ? 0.018 s/op??? ??? # VM options: -Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.129 ? 0.026 s/op??? ??? # VM options: -Xms1024m -Xmx1024m -XX:+UseG1GC ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.083 ? 0.031 s/op??? ??? # VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions -XX:+UseZGC ??? TranscodeBenchmark.benchmark? avgt?? 10? 5.720 ? 0.219 s/op??? ??? # VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC ``` I've also executed it with the fastdebug build, while creating a recording with the `perf` profiler. Here is a screenshot from the flamegraph: https://imgur.com/3v2RDqt Based on this, most of the extra cpu time is burned, while spinlocking on the heap mutex, to pin the memory area while gzip calls into native code. Do you consider this as a bug? Thanks, in advance, ? axt From rkennke at redhat.com Thu Oct 17 07:13:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 17 Oct 2019 09:13:55 +0200 Subject: Shenandoah performance problem In-Reply-To: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Message-ID: Hi Attila, Yes, this looks like a performance problem that we shall look at. :-) Thanks for reporting! Can you quickly try this with -XX:-CriticalJNINatives ? Thanks, Roman > Hi! > > I'm comparing the performance of different GC implementations against a > low-latency project. During the initialization of the project, we load a > bunch of key-value pairs from memcached to warm up the local instance > cache. The values in memcached are serialized and zipped, so we are > unzipping and deserializing them after they are loaded. In order to > utilize all cores we use a ThreadPoolExecutor to do this operation using > multiple threads. > > An interesting thing what I noticed, that the cputime burned by the > transcode pool during startup, is significantly higher in case of > Shenandoah, than the other GC algorithms: > > CMS: ~29 sec > ZGC: ~36 8sec > Shenandoah: ~ 270 sec > > Since the code is quite complex, I've tried to simulate roughly what is > happening by creating a microbenchmark. > You can fetch it from here: https://github.com/axt/jmh-unzip-mt > (Please note that jdk, and jdkarguments at the moment are hardcoded in > BechmarkRunner, you will need to manually edit those to get it working) > > I've executed the benchmark against a freshly built jdk from here:| > $ hg clone http:||//hg||.openjdk.java.net||/shenandoah/jdk| |shenandoah| > > > The benchmark yields the following results: > ``` > # JMH version: 1.21 > # VM version: JDK 14-internal, OpenJDK 64-Bit Server VM, > 14-internal+0-adhoc.axt.shenandoah > # VM invoker: > /fast/shenandoah/build/linux-x86_64-server-release/images/jdk/bin/java > # Warmup: 5 iterations, 10 s each > # Measurement: 10 iterations, 10 s each > # Timeout: 10 min per iteration > # Threads: 1 thread, will synchronize iterations > # Benchmark mode: Average time, time/op > # Benchmark: axt.benchmark.TranscodeBenchmark.benchmark > > ??? Benchmark???????????????????? Mode? Cnt? Score?? Error? Units > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.098 ? 0.018 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC > -XX:+CMSConcurrentMTEnabled > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.129 ? 0.026 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UseG1GC > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.083 ? 0.031 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions > -XX:+UseZGC > ??? TranscodeBenchmark.benchmark? avgt?? 10? 5.720 ? 0.219 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions > -XX:+UseShenandoahGC > ``` > > I've also executed it with the fastdebug build, while creating a > recording with the `perf` profiler. > Here is a screenshot from the flamegraph: https://imgur.com/3v2RDqt > > Based on this, most of the extra cpu time is burned, while spinlocking > on the heap mutex, to pin the memory area while gzip calls into native > code. > > Do you consider this as a bug? > > Thanks, in advance, > ? axt > From rkennke at redhat.com Thu Oct 17 07:27:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 17 Oct 2019 09:27:55 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Message-ID: <2f3a7f0d-0fd0-1dae-722f-7b943ab0d5a5@redhat.com> I tried with -XX:-CriticalJNINatives but it did not help. We'll look into this. Roman > Hi Attila, > > Yes, this looks like a performance problem that we shall look at. :-) > Thanks for reporting! > > Can you quickly try this with -XX:-CriticalJNINatives ? > > Thanks, > Roman > >> Hi! >> >> I'm comparing the performance of different GC implementations against a >> low-latency project. During the initialization of the project, we load a >> bunch of key-value pairs from memcached to warm up the local instance >> cache. The values in memcached are serialized and zipped, so we are >> unzipping and deserializing them after they are loaded. In order to >> utilize all cores we use a ThreadPoolExecutor to do this operation using >> multiple threads. >> >> An interesting thing what I noticed, that the cputime burned by the >> transcode pool during startup, is significantly higher in case of >> Shenandoah, than the other GC algorithms: >> >> CMS: ~29 sec >> ZGC: ~36 8sec >> Shenandoah: ~ 270 sec >> >> Since the code is quite complex, I've tried to simulate roughly what is >> happening by creating a microbenchmark. >> You can fetch it from here: https://github.com/axt/jmh-unzip-mt >> (Please note that jdk, and jdkarguments at the moment are hardcoded in >> BechmarkRunner, you will need to manually edit those to get it working) >> >> I've executed the benchmark against a freshly built jdk from here:| >> $ hg clone http:||//hg||.openjdk.java.net||/shenandoah/jdk| |shenandoah| >> >> >> The benchmark yields the following results: >> ``` >> # JMH version: 1.21 >> # VM version: JDK 14-internal, OpenJDK 64-Bit Server VM, >> 14-internal+0-adhoc.axt.shenandoah >> # VM invoker: >> /fast/shenandoah/build/linux-x86_64-server-release/images/jdk/bin/java >> # Warmup: 5 iterations, 10 s each >> # Measurement: 10 iterations, 10 s each >> # Timeout: 10 min per iteration >> # Threads: 1 thread, will synchronize iterations >> # Benchmark mode: Average time, time/op >> # Benchmark: axt.benchmark.TranscodeBenchmark.benchmark >> >> ??? Benchmark???????????????????? Mode? Cnt? Score?? Error? Units >> ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.098 ? 0.018 s/op??? ??? # >> VM options: -Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC >> -XX:+CMSConcurrentMTEnabled >> ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.129 ? 0.026 s/op??? ??? # >> VM options: -Xms1024m -Xmx1024m -XX:+UseG1GC >> ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.083 ? 0.031 s/op??? ??? # >> VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions >> -XX:+UseZGC >> ??? TranscodeBenchmark.benchmark? avgt?? 10? 5.720 ? 0.219 s/op??? ??? # >> VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions >> -XX:+UseShenandoahGC >> ``` >> >> I've also executed it with the fastdebug build, while creating a >> recording with the `perf` profiler. >> Here is a screenshot from the flamegraph: https://imgur.com/3v2RDqt >> >> Based on this, most of the extra cpu time is burned, while spinlocking >> on the heap mutex, to pin the memory area while gzip calls into native >> code. >> >> Do you consider this as a bug? >> >> Thanks, in advance, >> ? axt >> > From rkennke at redhat.com Thu Oct 17 08:03:46 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 17 Oct 2019 10:03:46 +0200 Subject: Shenandoah performance problem In-Reply-To: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Message-ID: <733fec92-07b5-c21f-59b6-bf9b7f0460ab@redhat.com> Something like this seems to get us half-way there: http://cr.openjdk.java.net/~rkennke/pinning.patch But still not quite where we need it to be. Digging further. Roman > Hi! > > I'm comparing the performance of different GC implementations against a > low-latency project. During the initialization of the project, we load a > bunch of key-value pairs from memcached to warm up the local instance > cache. The values in memcached are serialized and zipped, so we are > unzipping and deserializing them after they are loaded. In order to > utilize all cores we use a ThreadPoolExecutor to do this operation using > multiple threads. > > An interesting thing what I noticed, that the cputime burned by the > transcode pool during startup, is significantly higher in case of > Shenandoah, than the other GC algorithms: > > CMS: ~29 sec > ZGC: ~36 8sec > Shenandoah: ~ 270 sec > > Since the code is quite complex, I've tried to simulate roughly what is > happening by creating a microbenchmark. > You can fetch it from here: https://github.com/axt/jmh-unzip-mt > (Please note that jdk, and jdkarguments at the moment are hardcoded in > BechmarkRunner, you will need to manually edit those to get it working) > > I've executed the benchmark against a freshly built jdk from here:| > $ hg clone http:||//hg||.openjdk.java.net||/shenandoah/jdk| |shenandoah| > > > The benchmark yields the following results: > ``` > # JMH version: 1.21 > # VM version: JDK 14-internal, OpenJDK 64-Bit Server VM, > 14-internal+0-adhoc.axt.shenandoah > # VM invoker: > /fast/shenandoah/build/linux-x86_64-server-release/images/jdk/bin/java > # Warmup: 5 iterations, 10 s each > # Measurement: 10 iterations, 10 s each > # Timeout: 10 min per iteration > # Threads: 1 thread, will synchronize iterations > # Benchmark mode: Average time, time/op > # Benchmark: axt.benchmark.TranscodeBenchmark.benchmark > > ??? Benchmark???????????????????? Mode? Cnt? Score?? Error? Units > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.098 ? 0.018 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UseConcMarkSweepGC > -XX:+CMSConcurrentMTEnabled > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.129 ? 0.026 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UseG1GC > ??? TranscodeBenchmark.benchmark? avgt?? 10? 1.083 ? 0.031 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions > -XX:+UseZGC > ??? TranscodeBenchmark.benchmark? avgt?? 10? 5.720 ? 0.219 s/op??? ??? # > VM options: -Xms1024m -Xmx1024m -XX:+UnlockExperimentalVMOptions > -XX:+UseShenandoahGC > ``` > > I've also executed it with the fastdebug build, while creating a > recording with the `perf` profiler. > Here is a screenshot from the flamegraph: https://imgur.com/3v2RDqt > > Based on this, most of the extra cpu time is burned, while spinlocking > on the heap mutex, to pin the memory area while gzip calls into native > code. > > Do you consider this as a bug? > > Thanks, in advance, > ? axt > From shade at redhat.com Thu Oct 17 10:49:56 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 17 Oct 2019 12:49:56 +0200 Subject: Shenandoah performance problem In-Reply-To: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Message-ID: On 10/17/19 1:01 AM, Attila Axt wrote: > Do you consider this as a bug? Yes! Thanks for reporting. Much simpler reproducer: package axt.benchmark; import java.io.*; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.infra.Blackhole; @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MILLISECONDS) @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @Threads(Threads.MAX) @Fork(1) @State(Scope.Thread) public class TranscodeBenchmark { byte[] src; @Setup public void setUp() throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (GZIPOutputStream gos = new GZIPOutputStream(baos); ObjectOutputStream oos = new ObjectOutputStream(gos)) { oos.writeObject(new byte[65536]); } baos.close(); src = baos.toByteArray(); } @Benchmark public Object test() throws Exception { try (ByteArrayInputStream bais = new ByteArrayInputStream(src); GZIPInputStream gis = new GZIPInputStream(bais); ObjectInputStream ois = new ObjectInputStream(gis)) { return ois.readObject(); } } } Plus, using the proper JMH runner allows to select thread counts without recompiling with -t. This workload runs: Parallel GC, -t 1: 0.112 ? 0.006 ms/op Parallel GC, -t max: 0.146 ? 0.002 ms/op Shenandoah GC, -t 1: 0.120 ? 0.002 ms/op Shenandoah GC, -t max: 1.595 ? 0.050 ms/op <--- scalability bottleneck And you are right, that's the contention on pinning/unpinning, I am looking what can be done about that... -- Thanks, -Aleksey From shade at redhat.com Thu Oct 17 16:29:21 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 17 Oct 2019 18:29:21 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> Message-ID: <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> On 10/17/19 12:49 PM, Aleksey Shipilev wrote: > This workload runs: > Parallel GC, -t 1: 0.112 ? 0.006 ms/op > Parallel GC, -t max: 0.146 ? 0.002 ms/op > Shenandoah GC, -t 1: 0.120 ? 0.002 ms/op > Shenandoah GC, -t max: 1.595 ? 0.050 ms/op <--- scalability bottleneck > > And you are right, that's the contention on pinning/unpinning, I am looking what can be done about > that... This bunch of fixes makes it much better: https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ Shenandoah GC, -t max: 0.157 ? 0.003 ms/op Going to test and RFR the pieces of it now. -- Thanks, -Aleksey From shade at redhat.com Thu Oct 17 17:00:30 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 17 Oct 2019 19:00:30 +0200 Subject: RFR (XS) 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking Message-ID: <75af279f-5a46-de65-9f16-dd064ac98210@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8232534 This one was very useful for debugging: diff -r 55fe0d93bdd3 src/hotspot/share/gc/shenandoah/shenandoahLock.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Tue Oct 15 22:22:23 2019 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Thu Oct 17 18:59:27 2019 +0200 @@ -39,10 +39,13 @@ public: ShenandoahLock() : _state(unlocked), _owner(NULL) {}; void lock() { +#ifdef ASSERT + assert(_owner != Thread::current(), "reentrant locking attempt, would deadlock"); +#endif Thread::SpinAcquire(&_state, "Shenandoah Heap Lock"); #ifdef ASSERT assert(_state == locked, "must be locked"); assert(_owner == NULL, "must not be owned"); _owner = Thread::current(); Testing: hotspot_gc_shenandoah; multiple assert failures due to bugs in development -- Thanks, -Aleksey From shade at redhat.com Thu Oct 17 18:10:44 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 17 Oct 2019 20:10:44 +0200 Subject: RFR (S) 8232573: Shenandoah: cleanup and add more logging for in-pause phases Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8232573 Fix: https://cr.openjdk.java.net/~shade/8232573/webrev.01 This improves profiling for pauses, fixing issues recently found when doing some performance investigations and development work. Testing: hotspot_gc_shenandoah, eyeballing -Xlog:gc+stats -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 17 18:13:53 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 17 Oct 2019 20:13:53 +0200 Subject: RFR (XS) 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking In-Reply-To: <75af279f-5a46-de65-9f16-dd064ac98210@redhat.com> References: <75af279f-5a46-de65-9f16-dd064ac98210@redhat.com> Message-ID: Yep, good and useful. Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8232534 > > This one was very useful for debugging: > > diff -r 55fe0d93bdd3 src/hotspot/share/gc/shenandoah/shenandoahLock.hpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Tue Oct 15 22:22:23 2019 -0400 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Thu Oct 17 18:59:27 2019 +0200 > @@ -39,10 +39,13 @@ > > public: > ShenandoahLock() : _state(unlocked), _owner(NULL) {}; > > void lock() { > +#ifdef ASSERT > + assert(_owner != Thread::current(), "reentrant locking attempt, would deadlock"); > +#endif > Thread::SpinAcquire(&_state, "Shenandoah Heap Lock"); > #ifdef ASSERT > assert(_state == locked, "must be locked"); > assert(_owner == NULL, "must not be owned"); > _owner = Thread::current(); > > Testing: hotspot_gc_shenandoah; multiple assert failures due to bugs in development > From rkennke at redhat.com Thu Oct 17 18:15:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 17 Oct 2019 20:15:37 +0200 Subject: RFR (S) 8232573: Shenandoah: cleanup and add more logging for in-pause phases In-Reply-To: References: Message-ID: <65205df1-b696-6f0e-5ef8-29f6e57a45ca@redhat.com> Good, that seems useful. Patch looks good. Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8232573 > > Fix: > https://cr.openjdk.java.net/~shade/8232573/webrev.01 > > This improves profiling for pauses, fixing issues recently found when doing some performance > investigations and development work. > > Testing: hotspot_gc_shenandoah, eyeballing -Xlog:gc+stats > From zgu at redhat.com Thu Oct 17 18:16:35 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 17 Oct 2019 14:16:35 -0400 Subject: RFR 8231324: Shenandoah: avoid duplicated weak root works during final traversal In-Reply-To: References: Message-ID: <07f55f1f-15ac-339f-37aa-135be1ff2bde@redhat.com> Updated after JDK-8231999. Changed: heap->is_concurrent_traversal_in_progress() to heap->is_traversal_mode() Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231324/webrev.01/ Reran hotspot_gc_shenandoah test. -Zhengyu On 10/4/19 10:51 AM, Zhengyu Gu wrote: > Please review this patch that avoids traversal GC to walk weak roots > twice during final traversal. > > Also, it should process weak roots first, so that, fixup phase does not > visit dead CLDs/codes, etc. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8231324 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231324/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 > > Thanks, > > -Zhengyu From shade at redhat.com Thu Oct 17 18:53:39 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 17 Oct 2019 20:53:39 +0200 Subject: Shenandoah performance problem In-Reply-To: <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> Message-ID: On 10/17/19 6:29 PM, Aleksey Shipilev wrote: > On 10/17/19 12:49 PM, Aleksey Shipilev wrote: >> This workload runs: >> Parallel GC, -t 1: 0.112 ? 0.006 ms/op >> Parallel GC, -t max: 0.146 ? 0.002 ms/op >> Shenandoah GC, -t 1: 0.120 ? 0.002 ms/op >> Shenandoah GC, -t max: 1.595 ? 0.050 ms/op <--- scalability bottleneck >> >> And you are right, that's the contention on pinning/unpinning, I am looking what can be done about >> that... > > This bunch of fixes makes it much better: > https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ Filed: https://bugs.openjdk.java.net/browse/JDK-8232575 ...would RFR it tomorrow. -- Thanks, -Aleksey From axt at load.hu Thu Oct 17 23:10:03 2019 From: axt at load.hu (Attila Axt) Date: Fri, 18 Oct 2019 01:10:03 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> Message-ID: <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> Thanks for the fix and the quick response.? I've tried the first changeset locally against the benchmark, it seems to work fine. I can try the full changeset earliest on monday in production environment. I will feedback on the results. Greetings, ? axt On 10/17/19 8:53 PM, Aleksey Shipilev wrote: > On 10/17/19 6:29 PM, Aleksey Shipilev wrote: >> On 10/17/19 12:49 PM, Aleksey Shipilev wrote: >>> This workload runs: >>> Parallel GC, -t 1: 0.112 ? 0.006 ms/op >>> Parallel GC, -t max: 0.146 ? 0.002 ms/op >>> Shenandoah GC, -t 1: 0.120 ? 0.002 ms/op >>> Shenandoah GC, -t max: 1.595 ? 0.050 ms/op <--- scalability bottleneck >>> >>> And you are right, that's the contention on pinning/unpinning, I am looking what can be done about >>> that... >> This bunch of fixes makes it much better: >> https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ > Filed: > https://bugs.openjdk.java.net/browse/JDK-8232575 > > ...would RFR it tomorrow. > From axt at load.hu Fri Oct 18 11:40:22 2019 From: axt at load.hu (Attila Axt) Date: Fri, 18 Oct 2019 13:40:22 +0200 Subject: Shenandoah performance problem In-Reply-To: <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> Message-ID: I've applied the patches on top of |http:||//hg||.openjdk.java.net||/shenandoah/jdk| $ hg parent changeset:?? 57587:c29454a99107 tag:???????? tip user:??????? zgu date:??????? Wed Oct 16 15:13:00 2019 -0400 summary:???? 8230773: Shenandoah: enable concurrent class unloading on x86_32 platforms and did some tests in production. Good news: the startup time is back to normal, and the scalability bottleneck also seems resolved. Bad news: I see some random jvm crashes, not sure if they are related to this patch. Should I use a different parent revision to apply the patches to? The crashes: ``` # # A fatal error has been detected by the Java Runtime Environment: # #? SIGSEGV (0xb) at pc=0x00007f7fd69a2f51, pid=20946, tid=20988 # # JRE version: OpenJDK Runtime Environment (14.0) (build 14-internal+0-adhoc.axt.shenandoah) # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) # Problematic frame: # V? [libjvm.so+0x8a8f51] AccessInternal::PostRuntimeDispatch, (AccessInternal::BarrierType)3, 565366ul>::oop_access_barrier(oopDesc*, long)+0x1 # # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again Compiled method (c1) 4554513 16071?????? 3 java.lang.invoke.LambdaForm$DMH/0x0000000800c80440::invokeStatic (21 bytes) ?total in heap? [0x00007f7fc2a27010,0x00007f7fc2a2a670] = 13920 ?relocation???? [0x00007f7fc2a27170,0x00007f7fc2a27490] = 800 ?main code????? [0x00007f7fc2a274a0,0x00007f7fc2a29920] = 9344 ?stub code????? [0x00007f7fc2a29920,0x00007f7fc2a29a40] = 288 ?oops?????????? [0x00007f7fc2a29a40,0x00007f7fc2a29b78] = 312 ?metadata?????? [0x00007f7fc2a29b78,0x00007f7fc2a29c78] = 256 ?scopes data??? [0x00007f7fc2a29c78,0x00007f7fc2a2a1d8] = 1376 ?scopes pcs???? [0x00007f7fc2a2a1d8,0x00007f7fc2a2a608] = 1072 ?dependencies?? [0x00007f7fc2a2a608,0x00007f7fc2a2a618] = 16 ?nul chk table? [0x00007f7fc2a2a618,0x00007f7fc2a2a670] = 88 ``` or when flight recording is enabled: ``` #? SIGSEGV (0xb) at pc=0x00007f4b66fdd031, pid=1674, tid=1678 # # JRE version: OpenJDK Runtime Environment (14.0) (build 14-internal+0-adhoc.axt.shenandoah) # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) # Problematic frame: # V? [libjvm.so+0x932031] JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, bool)+0x31 # Current thread (0x00007f4b60185800):? ConcurrentGCThread "ShenandoahControlThread" [stack: 0x00007f4b64c2a000,0x00007f4b64d2a000] [id=1678] Stack: [0x00007f4b64c2a000,0x00007f4b64d2a000], sp=0x00007f4b64d28540,? free space=1017k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V? [libjvm.so+0x932031] JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, bool)+0x31 V? [libjvm.so+0x932ed5]? JfrArtifactSet::mark(Klass const*, bool)+0x35 V? [libjvm.so+0x927cc4] write_klass(JfrCheckpointWriter*, Klass const*, bool)+0x114 V? [libjvm.so+0x930f94]? JfrArtifactCallbackHost, &(write__klass(JfrC heckpointWriter*, void const*))>, 20u>, KlassArtifactRegistrator> >::do_artifact(void const*)+0x34 V? [libjvm.so+0x5fe27e]? ClassLoaderData::classes_do(void (*)(Klass*))+0x1e V? [libjvm.so+0x6025cb] ClassLoaderDataGraph::classes_unloading_do(void (*)(Klass*))+0x2b V? [libjvm.so+0x9300f4] JfrTypeSet::serialize(JfrCheckpointWriter*, JfrCheckpointWriter*, bool)+0x21d4 V? [libjvm.so+0x926afc] JfrTypeManager::write_type_set_for_unloaded_classes()+0x5c V? [libjvm.so+0xf14d11] SystemDictionary::do_unloading(GCTimer*)+0x81 V? [libjvm.so+0xe86cd0]? ShenandoahUnload::unload()+0x60 V? [libjvm.so+0xdfacb5] ShenandoahHeap::entry_roots()+0x125 V? [libjvm.so+0xdf0056] ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause)+0xb6 V? [libjvm.so+0xdf115b] ShenandoahControlThread::run_service()+0x6fb V? [libjvm.so+0x6735bb]? ConcurrentGCThread::run()+0x2b V? [libjvm.so+0xf66671]? Thread::call_run()+0x111 V? [libjvm.so+0xc94261] thread_native_entry(Thread*)+0xf1 ``` Thanks, ? axt On 10/18/19 1:10 AM, Attila Axt wrote: > Thanks for the fix and the quick response.? I've tried the first > changeset locally against the benchmark, it seems to work fine. > > I can try the full changeset earliest on monday in production > environment. I will feedback on the results. > > Greetings, > ? axt > > On 10/17/19 8:53 PM, Aleksey Shipilev wrote: >> On 10/17/19 6:29 PM, Aleksey Shipilev wrote: >>> On 10/17/19 12:49 PM, Aleksey Shipilev wrote: >>>> This workload runs: >>>> ?? Parallel GC, -t 1:???? 0.112 ? 0.006? ms/op >>>> ?? Parallel GC, -t max:?? 0.146 ? 0.002? ms/op >>>> ?? Shenandoah GC, -t 1:?? 0.120 ? 0.002? ms/op >>>> ?? Shenandoah GC, -t max: 1.595 ? 0.050? ms/op <--- scalability >>>> bottleneck >>>> >>>> And you are right, that's the contention on pinning/unpinning, I am >>>> looking what can be done about >>>> that... >>> This bunch of fixes makes it much better: >>> https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ >> Filed: >> ?? https://bugs.openjdk.java.net/browse/JDK-8232575 >> >> ...would RFR it tomorrow. >> From rkennke at redhat.com Fri Oct 18 11:51:16 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 13:51:16 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> Message-ID: <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> Hi Attila, You could try to run with fastdebug build, which builds in lots of asserts. In addition to that, try running with -XX:+ShenandoahVerify. Maybe this gives us some clues. Thanks, Roman > I've applied the patches on top of > |http:||//hg||.openjdk.java.net||/shenandoah/jdk| > > $ hg parent > changeset:?? 57587:c29454a99107 > tag:???????? tip > user:??????? zgu > date:??????? Wed Oct 16 15:13:00 2019 -0400 > summary:???? 8230773: Shenandoah: enable concurrent class unloading on > x86_32 platforms > > and did some tests in production. > > Good news: the startup time is back to normal, and the scalability > bottleneck also seems resolved. > > Bad news: I see some random jvm crashes, not sure if they are related to > this patch. > > Should I use a different parent revision to apply the patches to? > > > The crashes: > > ``` > # > # A fatal error has been detected by the Java Runtime Environment: > # > #? SIGSEGV (0xb) at pc=0x00007f7fd69a2f51, pid=20946, tid=20988 > # > # JRE version: OpenJDK Runtime Environment (14.0) (build > 14-internal+0-adhoc.axt.shenandoah) > # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, > mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) > # Problematic frame: > # V? [libjvm.so+0x8a8f51] > AccessInternal::PostRuntimeDispatch ShenandoahBarrierSet>, (AccessInternal::BarrierType)3, > 565366ul>::oop_access_barrier(oopDesc*, long)+0x1 > # > # No core dump will be written. Core dumps have been disabled. To enable > core dumping, try "ulimit -c unlimited" before starting Java again > Compiled method (c1) 4554513 16071?????? 3 > java.lang.invoke.LambdaForm$DMH/0x0000000800c80440::invokeStatic (21 bytes) > ?total in heap? [0x00007f7fc2a27010,0x00007f7fc2a2a670] = 13920 > ?relocation???? [0x00007f7fc2a27170,0x00007f7fc2a27490] = 800 > ?main code????? [0x00007f7fc2a274a0,0x00007f7fc2a29920] = 9344 > ?stub code????? [0x00007f7fc2a29920,0x00007f7fc2a29a40] = 288 > ?oops?????????? [0x00007f7fc2a29a40,0x00007f7fc2a29b78] = 312 > ?metadata?????? [0x00007f7fc2a29b78,0x00007f7fc2a29c78] = 256 > ?scopes data??? [0x00007f7fc2a29c78,0x00007f7fc2a2a1d8] = 1376 > ?scopes pcs???? [0x00007f7fc2a2a1d8,0x00007f7fc2a2a608] = 1072 > ?dependencies?? [0x00007f7fc2a2a608,0x00007f7fc2a2a618] = 16 > ?nul chk table? [0x00007f7fc2a2a618,0x00007f7fc2a2a670] = 88 > ``` > or when flight recording is enabled: > ``` > #? SIGSEGV (0xb) at pc=0x00007f4b66fdd031, pid=1674, tid=1678 > # > # JRE version: OpenJDK Runtime Environment (14.0) (build > 14-internal+0-adhoc.axt.shenandoah) > # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, > mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) > # Problematic frame: > # V? [libjvm.so+0x932031] > JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, > bool)+0x31 > # > > > Current thread (0x00007f4b60185800):? ConcurrentGCThread > "ShenandoahControlThread" [stack: 0x00007f4b64c2a000,0x00007f4b64d2a000] > [id=1678] > > Stack: [0x00007f4b64c2a000,0x00007f4b64d2a000], sp=0x00007f4b64d28540,? > free space=1017k > Native frames: (J=compiled Java code, A=aot compiled Java code, > j=interpreted, Vv=VM code, C=native code) > V? [libjvm.so+0x932031] > JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, > bool)+0x31 > V? [libjvm.so+0x932ed5]? JfrArtifactSet::mark(Klass const*, bool)+0x35 > V? [libjvm.so+0x927cc4] write_klass(JfrCheckpointWriter*, Klass const*, > bool)+0x114 > V? [libjvm.so+0x930f94]? JfrArtifactCallbackHost CompositeFunctor JfrTypeWriterHost SerializePredicate, &(write__klass(JfrC > heckpointWriter*, void const*))>, 20u>, KlassArtifactRegistrator> >>::do_artifact(void const*)+0x34 > V? [libjvm.so+0x5fe27e]? ClassLoaderData::classes_do(void (*)(Klass*))+0x1e > V? [libjvm.so+0x6025cb] ClassLoaderDataGraph::classes_unloading_do(void > (*)(Klass*))+0x2b > V? [libjvm.so+0x9300f4] JfrTypeSet::serialize(JfrCheckpointWriter*, > JfrCheckpointWriter*, bool)+0x21d4 > V? [libjvm.so+0x926afc] > JfrTypeManager::write_type_set_for_unloaded_classes()+0x5c > V? [libjvm.so+0xf14d11] SystemDictionary::do_unloading(GCTimer*)+0x81 > V? [libjvm.so+0xe86cd0]? ShenandoahUnload::unload()+0x60 > V? [libjvm.so+0xdfacb5] ShenandoahHeap::entry_roots()+0x125 > V? [libjvm.so+0xdf0056] > ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause)+0xb6 > > V? [libjvm.so+0xdf115b] ShenandoahControlThread::run_service()+0x6fb > V? [libjvm.so+0x6735bb]? ConcurrentGCThread::run()+0x2b > V? [libjvm.so+0xf66671]? Thread::call_run()+0x111 > V? [libjvm.so+0xc94261] thread_native_entry(Thread*)+0xf1 > > > ``` > Thanks, > ? axt > > > > On 10/18/19 1:10 AM, Attila Axt wrote: >> Thanks for the fix and the quick response.? I've tried the first >> changeset locally against the benchmark, it seems to work fine. >> >> I can try the full changeset earliest on monday in production >> environment. I will feedback on the results. >> >> Greetings, >> ? axt >> >> On 10/17/19 8:53 PM, Aleksey Shipilev wrote: >>> On 10/17/19 6:29 PM, Aleksey Shipilev wrote: >>>> On 10/17/19 12:49 PM, Aleksey Shipilev wrote: >>>>> This workload runs: >>>>> ?? Parallel GC, -t 1:???? 0.112 ? 0.006? ms/op >>>>> ?? Parallel GC, -t max:?? 0.146 ? 0.002? ms/op >>>>> ?? Shenandoah GC, -t 1:?? 0.120 ? 0.002? ms/op >>>>> ?? Shenandoah GC, -t max: 1.595 ? 0.050? ms/op <--- scalability >>>>> bottleneck >>>>> >>>>> And you are right, that's the contention on pinning/unpinning, I am >>>>> looking what can be done about >>>>> that... >>>> This bunch of fixes makes it much better: >>>> https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ >>> Filed: >>> ?? https://bugs.openjdk.java.net/browse/JDK-8232575 >>> >>> ...would RFR it tomorrow. >>> From axt at load.hu Fri Oct 18 12:04:08 2019 From: axt at load.hu (Attila Axt) Date: Fri, 18 Oct 2019 14:04:08 +0200 Subject: Shenandoah performance problem In-Reply-To: <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> Message-ID: <4a54ea8d-da88-298d-6333-b2c84da293a1@load.hu> Hi Roman! Yes, I can, but unfortunately for the rest of the day, and mostly for the weekend i will be AFK. I will get back to you with the results when I have them, most probably on monday. Greetings, ? axt On 10/18/19 1:51 PM, Roman Kennke wrote: > Hi Attila, > > You could try to run with fastdebug build, which builds in lots of > asserts. In addition to that, try running with -XX:+ShenandoahVerify. > Maybe this gives us some clues. > > Thanks, > Roman > > >> I've applied the patches on top of >> |http:||//hg||.openjdk.java.net||/shenandoah/jdk| >> >> $ hg parent >> changeset:?? 57587:c29454a99107 >> tag:???????? tip >> user:??????? zgu >> date:??????? Wed Oct 16 15:13:00 2019 -0400 >> summary:???? 8230773: Shenandoah: enable concurrent class unloading on >> x86_32 platforms >> >> and did some tests in production. >> >> Good news: the startup time is back to normal, and the scalability >> bottleneck also seems resolved. >> >> Bad news: I see some random jvm crashes, not sure if they are related to >> this patch. >> >> Should I use a different parent revision to apply the patches to? >> >> >> The crashes: >> >> ``` >> # >> # A fatal error has been detected by the Java Runtime Environment: >> # >> #? SIGSEGV (0xb) at pc=0x00007f7fd69a2f51, pid=20946, tid=20988 >> # >> # JRE version: OpenJDK Runtime Environment (14.0) (build >> 14-internal+0-adhoc.axt.shenandoah) >> # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, >> mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) >> # Problematic frame: >> # V? [libjvm.so+0x8a8f51] >> AccessInternal::PostRuntimeDispatch> ShenandoahBarrierSet>, (AccessInternal::BarrierType)3, >> 565366ul>::oop_access_barrier(oopDesc*, long)+0x1 >> # >> # No core dump will be written. Core dumps have been disabled. To enable >> core dumping, try "ulimit -c unlimited" before starting Java again >> Compiled method (c1) 4554513 16071?????? 3 >> java.lang.invoke.LambdaForm$DMH/0x0000000800c80440::invokeStatic (21 bytes) >> ?total in heap? [0x00007f7fc2a27010,0x00007f7fc2a2a670] = 13920 >> ?relocation???? [0x00007f7fc2a27170,0x00007f7fc2a27490] = 800 >> ?main code????? [0x00007f7fc2a274a0,0x00007f7fc2a29920] = 9344 >> ?stub code????? [0x00007f7fc2a29920,0x00007f7fc2a29a40] = 288 >> ?oops?????????? [0x00007f7fc2a29a40,0x00007f7fc2a29b78] = 312 >> ?metadata?????? [0x00007f7fc2a29b78,0x00007f7fc2a29c78] = 256 >> ?scopes data??? [0x00007f7fc2a29c78,0x00007f7fc2a2a1d8] = 1376 >> ?scopes pcs???? [0x00007f7fc2a2a1d8,0x00007f7fc2a2a608] = 1072 >> ?dependencies?? [0x00007f7fc2a2a608,0x00007f7fc2a2a618] = 16 >> ?nul chk table? [0x00007f7fc2a2a618,0x00007f7fc2a2a670] = 88 >> ``` >> or when flight recording is enabled: >> ``` >> #? SIGSEGV (0xb) at pc=0x00007f4b66fdd031, pid=1674, tid=1678 >> # >> # JRE version: OpenJDK Runtime Environment (14.0) (build >> 14-internal+0-adhoc.axt.shenandoah) >> # Java VM: OpenJDK 64-Bit Server VM (14-internal+0-adhoc.axt.shenandoah, >> mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64) >> # Problematic frame: >> # V? [libjvm.so+0x932031] >> JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, >> bool)+0x31 >> # >> >> >> Current thread (0x00007f4b60185800):? ConcurrentGCThread >> "ShenandoahControlThread" [stack: 0x00007f4b64c2a000,0x00007f4b64d2a000] >> [id=1678] >> >> Stack: [0x00007f4b64c2a000,0x00007f4b64d2a000], sp=0x00007f4b64d28540, >> free space=1017k >> Native frames: (J=compiled Java code, A=aot compiled Java code, >> j=interpreted, Vv=VM code, C=native code) >> V? [libjvm.so+0x932031] >> JfrSymbolId::mark_unsafe_anonymous_klass_name(InstanceKlass const*, >> bool)+0x31 >> V? [libjvm.so+0x932ed5]? JfrArtifactSet::mark(Klass const*, bool)+0x35 >> V? [libjvm.so+0x927cc4] write_klass(JfrCheckpointWriter*, Klass const*, >> bool)+0x114 >> V? [libjvm.so+0x930f94]? JfrArtifactCallbackHost> CompositeFunctor> JfrTypeWriterHost> SerializePredicate, &(write__klass(JfrC >> heckpointWriter*, void const*))>, 20u>, KlassArtifactRegistrator> >>> ::do_artifact(void const*)+0x34 >> V? [libjvm.so+0x5fe27e]? ClassLoaderData::classes_do(void (*)(Klass*))+0x1e >> V? [libjvm.so+0x6025cb] ClassLoaderDataGraph::classes_unloading_do(void >> (*)(Klass*))+0x2b >> V? [libjvm.so+0x9300f4] JfrTypeSet::serialize(JfrCheckpointWriter*, >> JfrCheckpointWriter*, bool)+0x21d4 >> V? [libjvm.so+0x926afc] >> JfrTypeManager::write_type_set_for_unloaded_classes()+0x5c >> V? [libjvm.so+0xf14d11] SystemDictionary::do_unloading(GCTimer*)+0x81 >> V? [libjvm.so+0xe86cd0]? ShenandoahUnload::unload()+0x60 >> V? [libjvm.so+0xdfacb5] ShenandoahHeap::entry_roots()+0x125 >> V? [libjvm.so+0xdf0056] >> ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause)+0xb6 >> >> V? [libjvm.so+0xdf115b] ShenandoahControlThread::run_service()+0x6fb >> V? [libjvm.so+0x6735bb]? ConcurrentGCThread::run()+0x2b >> V? [libjvm.so+0xf66671]? Thread::call_run()+0x111 >> V? [libjvm.so+0xc94261] thread_native_entry(Thread*)+0xf1 >> >> >> ``` >> Thanks, >> ? axt >> >> >> >> On 10/18/19 1:10 AM, Attila Axt wrote: >>> Thanks for the fix and the quick response.? I've tried the first >>> changeset locally against the benchmark, it seems to work fine. >>> >>> I can try the full changeset earliest on monday in production >>> environment. I will feedback on the results. >>> >>> Greetings, >>> ? axt >>> >>> On 10/17/19 8:53 PM, Aleksey Shipilev wrote: >>>> On 10/17/19 6:29 PM, Aleksey Shipilev wrote: >>>>> On 10/17/19 12:49 PM, Aleksey Shipilev wrote: >>>>>> This workload runs: >>>>>> ?? Parallel GC, -t 1:???? 0.112 ? 0.006? ms/op >>>>>> ?? Parallel GC, -t max:?? 0.146 ? 0.002? ms/op >>>>>> ?? Shenandoah GC, -t 1:?? 0.120 ? 0.002? ms/op >>>>>> ?? Shenandoah GC, -t max: 1.595 ? 0.050? ms/op <--- scalability >>>>>> bottleneck >>>>>> >>>>>> And you are right, that's the contention on pinning/unpinning, I am >>>>>> looking what can be done about >>>>>> that... >>>>> This bunch of fixes makes it much better: >>>>> https://cr.openjdk.java.net/~shade/shenandoah/async-pinning/ >>>> Filed: >>>> ?? https://bugs.openjdk.java.net/browse/JDK-8232575 >>>> >>>> ...would RFR it tomorrow. >>>> From zgu at redhat.com Fri Oct 18 12:23:17 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 18 Oct 2019 08:23:17 -0400 Subject: RFR 8232009: Shenandoah: C2 load barrier does not match interpreter version In-Reply-To: <689f5b52-de3b-6a1a-0032-365dedf58414@redhat.com> References: <689f5b52-de3b-6a1a-0032-365dedf58414@redhat.com> Message-ID: <737de3b3-fb29-1795-89c7-99781da22a09@redhat.com> Updated: Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232009/webrev.01/ Added PHANTOM_OOP_REF references. Test: Reran tests Thanks, -Zhengyu On 10/11/19 1:11 PM, Zhengyu Gu wrote: > Please review this patch that matches C2 load barrier to interpreter's > implementation. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232009 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232009/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) with x86_32 and x86_64 > JVMs on Linux > > > Thanks, > > -Zhengyu From rkennke at redhat.com Fri Oct 18 13:07:45 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 15:07:45 +0200 Subject: RFR 8232009: Shenandoah: C2 load barrier does not match interpreter version In-Reply-To: <737de3b3-fb29-1795-89c7-99781da22a09@redhat.com> References: <689f5b52-de3b-6a1a-0032-365dedf58414@redhat.com> <737de3b3-fb29-1795-89c7-99781da22a09@redhat.com> Message-ID: <1b753db4-70a8-2b77-fb44-c42dc34aec41@redhat.com> Ok. Thank you! Roman > Updated: Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232009/webrev.01/ > > Added PHANTOM_OOP_REF references. > > Test: > ?Reran tests > > Thanks, > > -Zhengyu > > On 10/11/19 1:11 PM, Zhengyu Gu wrote: >> Please review this patch that matches C2 load barrier to interpreter's >> implementation. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8232009 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232009/webrev.00/ >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) with x86_32 and >> x86_64 JVMs on Linux >> >> >> Thanks, >> >> -Zhengyu > From rkennke at redhat.com Fri Oct 18 13:09:32 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 15:09:32 +0200 Subject: RFR 8231324: Shenandoah: avoid duplicated weak root works during final traversal In-Reply-To: <07f55f1f-15ac-339f-37aa-135be1ff2bde@redhat.com> References: <07f55f1f-15ac-339f-37aa-135be1ff2bde@redhat.com> Message-ID: <1ee00447-919e-c127-3f0f-d65c60aab057@redhat.com> Looks good. (I was pretty sure I looked through it yesterday already. Hmm.) Thanks, Roman > Updated after JDK-8231999. > > Changed: heap->is_concurrent_traversal_in_progress() to > heap->is_traversal_mode() > > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231324/webrev.01/ > > Reran hotspot_gc_shenandoah test. > > -Zhengyu > > > On 10/4/19 10:51 AM, Zhengyu Gu wrote: >> Please review this patch that avoids traversal GC to walk weak roots >> twice during final traversal. >> >> Also, it should process weak roots first, so that, fixup phase does >> not visit dead CLDs/codes, etc. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8231324 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8231324/webrev.00/ >> >> Test: >> ?? hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 >> >> Thanks, >> >> -Zhengyu > From rkennke at redhat.com Fri Oct 18 13:10:09 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 15:10:09 +0200 Subject: RFR 8232008: Shenandoah: C1 load barrier does not match interpreter version In-Reply-To: References: Message-ID: Looks good. Thanks! Roman > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232008 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232008/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) with x86_64 and x86-32 > JVM on Linux. > > Thanks, > > -Zhengyu > From rkennke at redhat.com Fri Oct 18 13:13:52 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 15:13:52 +0200 Subject: RFR 8232010: Shenandoah: implement self-fixing native barrier In-Reply-To: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> References: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> Message-ID: Would a similar implementation also work for the non-native LRB? It's lacking an aarch64 implementation, right? Roman > Please review this patch that implements self-fixing LRB for in native > oops. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232010 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232010/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) with x86_32 and x86_64 > JVM on Linux. > > Thanks, > > -Zhengyu > From zgu at redhat.com Fri Oct 18 13:24:36 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 18 Oct 2019 09:24:36 -0400 Subject: RFR 8232010: Shenandoah: implement self-fixing native barrier In-Reply-To: References: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> Message-ID: On 10/18/19 9:13 AM, Roman Kennke wrote: > Would a similar implementation also work for the non-native LRB? Yes, just need to make LRB stub to take the second parameter. > > It's lacking an aarch64 implementation, right? aarch64 misses all recent barrier changes. I intent to implement them after stabilize x86. Thanks, -Zhengyu > > Roman > > >> Please review this patch that implements self-fixing LRB for in native >> oops. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8232010 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232010/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) with x86_32 and x86_64 >> JVM on Linux. >> >> Thanks, >> >> -Zhengyu >> > From shade at redhat.com Fri Oct 18 13:58:23 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 18 Oct 2019 15:58:23 +0200 Subject: RFR (M) 8232575: Shenandoah: asynchronous object/region pinning Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8232575 Current object/region pinning scheme bottlenecks on a lock, rendering some non-exceptional scenarios quite slow. The way out is to collect critical pins atomically, and then update the region states near the code that needs it (mostly selecting collection set). See the bug for more info. Fix: https://cr.openjdk.java.net/~shade/8232575/webrev.02/ Testing: hotspot_gc_shenandoah {fastdebug,release}; tier{1,2,3} with Shenandoah; GZIP workload with {normal, traversal} x {adaptive, aggressive} -- Thanks, -Aleksey From rkennke at redhat.com Fri Oct 18 14:03:50 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 18 Oct 2019 16:03:50 +0200 Subject: RFR (M) 8232575: Shenandoah: asynchronous object/region pinning In-Reply-To: References: Message-ID: <63521dc4-53e8-72b4-852b-1d77def03c62@redhat.com> Patch looks good! Thank you! Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8232575 > > Current object/region pinning scheme bottlenecks on a lock, rendering some non-exceptional scenarios > quite slow. The way out is to collect critical pins atomically, and then update the region states > near the code that needs it (mostly selecting collection set). See the bug for more info. > > Fix: > https://cr.openjdk.java.net/~shade/8232575/webrev.02/ > > Testing: hotspot_gc_shenandoah {fastdebug,release}; tier{1,2,3} with Shenandoah; GZIP workload with > {normal, traversal} x {adaptive, aggressive} > From shade at redhat.com Fri Oct 18 14:04:35 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 18 Oct 2019 16:04:35 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> Message-ID: <5764ba38-53e5-3d54-bedb-4eeb698aa506@redhat.com> On 10/18/19 1:40 PM, Attila Axt wrote: > I've applied the patches on top of |http:||//hg||.openjdk.java.net||/shenandoah/jdk| shenandoah/jdk is our experimental repository where large features are stabilizing. By the nature of it that repo is usually not very stable. The failures there are certainly interesting, and as Roman says running with fastdebug and/or +ShenandoahVerify would give more details about the failure. Also trying without the patch might show the issue that is present in shenandoah/jdk. For this work, prefer https://hg.openjdk.java.net/jdk/jdk/ (the mainline dev) repository as the base. Also note I just published the RFR for JDK-8232575 here, which has minor touchups that lets it pass most (all?) tests: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010794.html -- Thanks, -Aleksey From stefan.reich.maker.of.eye at googlemail.com Sun Oct 20 11:58:11 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Sun, 20 Oct 2019 13:58:11 +0200 Subject: Shenandoah & realtime Message-ID: So we are running a music-playing bot in Java which streams Shoutcast to Discord. Discord requests audio in 20 ms intervals. I just switched the VM to Shenandoah, using the compact profile. My question is, if there is any sort of general guarantee or pseudo-guarantee as to GC pauses with Shenandoah. You know, like that 10 ms figure that the ZGC guys are throwing around. Because 10 ms would obviously be perfect for this application. Also, is the compact profile detrimental for realtime applications? I'm just so in love with the compact profile, but maybe I shouldn't have chosen it for an application like this. Many greetings, Stefan -- Stefan Reich BotCompany.de // Java-based operating systems From stefan.reich.maker.of.eye at googlemail.com Sun Oct 20 12:02:33 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Sun, 20 Oct 2019 14:02:33 +0200 Subject: Shenandoah & realtime In-Reply-To: References: Message-ID: OK, I just found this in the Wiki: "In most cases, the pause times are within 0..10ms and throughput losses are within 0..15%." OK it say most cases, but that's good anyway. So the question remains if the compact profile will increase pause times. Throughput loss is not a problem in my application. On Sun, 20 Oct 2019 at 13:58, Stefan Reich < stefan.reich.maker.of.eye at googlemail.com> wrote: > So we are running a music-playing bot in Java which streams Shoutcast to > Discord. Discord requests audio in 20 ms intervals. I just switched the VM > to Shenandoah, using the compact profile. > > My question is, if there is any sort of general guarantee or > pseudo-guarantee as to GC pauses with Shenandoah. You know, like that 10 ms > figure that the ZGC guys are throwing around. > > Because 10 ms would obviously be perfect for this application. > > Also, is the compact profile detrimental for realtime applications? I'm > just so in love with the compact profile, but maybe I shouldn't have chosen > it for an application like this. > > Many greetings, > Stefan > > -- > Stefan Reich > BotCompany.de // Java-based operating systems > -- Stefan Reich BotCompany.de // Java-based operating systems From rkennke at redhat.com Sun Oct 20 16:13:30 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 20 Oct 2019 18:13:30 +0200 Subject: Shenandoah & realtime In-Reply-To: References: Message-ID: <73305284-b11c-8991-1dd6-1924150dff2f@redhat.com> Hi Stefan, > So we are running a music-playing bot in Java which streams Shoutcast to > Discord. Discord requests audio in 20 ms intervals. I just switched the VM > to Shenandoah, using the compact profile. > > My question is, if there is any sort of general guarantee or > pseudo-guarantee as to GC pauses with Shenandoah. You know, like that 10 ms > figure that the ZGC guys are throwing around. Any such statement is bound to be partial-bogus, especially in the Java world. When we started work on Shenandoah, our goal was to get <10ms pauses for most relevant scenarios, and we do meet this goal. For example, most workloads do <1ms pauses on my machine. However, there are always scenarios where this goes out of the window. A few examples: - It heavily depends on your workload. For example, if you make heavy use of large linked lists, you have a chance to wind up with a linked list that is unmarked at the final-mark pause and need to be marked through, by a single thread. There are other somewhat pathological scenarios that can cause pauses to grow e.g. abuse of some JNI stuff or weak reference stuff, etc. - Slow hardware. <1ms pauses on my box easily means several ms pauses on raspberry-pi grade hardware. If your music-player is intended to run on such hardware, then you may need to reconsider your latency goal :-) - Even if GC pauses are good, you may be affected by other pauses (e.g. deoptimization, biased locking), or even just local latencies that are not accounted-for anywhere. That being said, it's probably a good idea to run your application on your intended hardware for a while with -Xlog:gc+stats and see what the statistics on JVM shutdown say about pause times. Or even run with -Xlog:gc altogether and look at the GC pauses one-by-one. > Because 10 ms would obviously be perfect for this application. As said above. I think you *should* be good with Shenandoah, with a bunch of caveats (that are general in nature and would affect any GC). > Also, is the compact profile detrimental for realtime applications? It may be too aggressive. Watch GC logs and maybe tune down the thresholds if you see it's doing too much work for nothing, or keeps trimming down the heap just to re-grow it a second later. > I'm > just so in love with the compact profile, but maybe I shouldn't have chosen > it for an application like this. :-) Hope that helps! Cheers, Roman From stefan.reich.maker.of.eye at googlemail.com Sun Oct 20 16:45:49 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Sun, 20 Oct 2019 18:45:49 +0200 Subject: Shenandoah & realtime In-Reply-To: <73305284-b11c-8991-1dd6-1924150dff2f@redhat.com> References: <73305284-b11c-8991-1dd6-1924150dff2f@redhat.com> Message-ID: Hi Roman, thanks a lot. The hardware is a v-server which has a performance comparable to a standard desktop CPU. All in all, I think I'll be good. Allocation rates should be tolerable, the application uses less than core in total. I reniced the whole Java process to -10. I'll keep monitoring. :) On Sun, Oct 20, 2019, 18:13 Roman Kennke wrote: > Hi Stefan, > > > So we are running a music-playing bot in Java which streams Shoutcast to > > Discord. Discord requests audio in 20 ms intervals. I just switched the > VM > > to Shenandoah, using the compact profile. > > > > My question is, if there is any sort of general guarantee or > > pseudo-guarantee as to GC pauses with Shenandoah. You know, like that 10 > ms > > figure that the ZGC guys are throwing around. > > Any such statement is bound to be partial-bogus, especially in the Java > world. When we started work on Shenandoah, our goal was to get <10ms > pauses for most relevant scenarios, and we do meet this goal. For > example, most workloads do <1ms pauses on my machine. However, there are > always scenarios where this goes out of the window. A few examples: > > - It heavily depends on your workload. For example, if you make heavy > use of large linked lists, you have a chance to wind up with a linked > list that is unmarked at the final-mark pause and need to be marked > through, by a single thread. There are other somewhat pathological > scenarios that can cause pauses to grow e.g. abuse of some JNI stuff or > weak reference stuff, etc. > - Slow hardware. <1ms pauses on my box easily means several ms pauses on > raspberry-pi grade hardware. If your music-player is intended to run on > such hardware, then you may need to reconsider your latency goal :-) > - Even if GC pauses are good, you may be affected by other pauses (e.g. > deoptimization, biased locking), or even just local latencies that are > not accounted-for anywhere. > > That being said, it's probably a good idea to run your application on > your intended hardware for a while with -Xlog:gc+stats and see what the > statistics on JVM shutdown say about pause times. Or even run with > -Xlog:gc altogether and look at the GC pauses one-by-one. > > > Because 10 ms would obviously be perfect for this application. > > As said above. I think you *should* be good with Shenandoah, with a > bunch of caveats (that are general in nature and would affect any GC). > > > > Also, is the compact profile detrimental for realtime applications? > > It may be too aggressive. Watch GC logs and maybe tune down the > thresholds if you see it's doing too much work for nothing, or keeps > trimming down the heap just to re-grow it a second later. > > > I'm > > just so in love with the compact profile, but maybe I shouldn't have > chosen > > it for an application like this. > > :-) > > Hope that helps! > > Cheers, > Roman > > From shade at redhat.com Sun Oct 20 17:51:53 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 20 Oct 2019 19:51:53 +0200 Subject: Shenandoah & realtime In-Reply-To: References: Message-ID: <5a31c692-2a16-d0a2-4819-80546ea118a4@redhat.com> On 10/20/19 2:02 PM, Stefan Reich wrote: > So the question remains if the compact profile will increase pause times. Not directly, no. From the pauses work perspective, "compact" does the same work that default mode does. But since GC cycles would be more frequent, the chance the however small pause would happen during the critical application phase gets bigger. Re: pauses guarantees -- I concur with what Roman said in the sibling thread. To get this to extreme, I cannot even back the guarantees that Epsilon GC would incur bounded latency overhead, because there are plenty of runtime things that require global VM pause. And, amusingly, even the OS memory manager itself can give us some headache, see this recent user surprise: https://stackoverflow.com/a/58292061/2613885 -- Thanks, -Aleksey From shade at redhat.com Sun Oct 20 18:58:48 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 20 Oct 2019 20:58:48 +0200 Subject: RFR: Fix build failure after "8230765: Implement nmethod barrier for x86_32 platforms" Message-ID: Current sh/jdk fails to build in the odd corner case: x86_32, minimal VM, fastdebug, PCH disabled: $ CONF=linux-x86-minimal-fastdebug make images Building target 'images' in configuration 'linux-x86-minimal-fastdebug' Updating support/modules_libs/java.base/minimal/libjvm.so due to 5 file(s) [buildjdk] Updating buildjdk/support/modules_libs/java.base/server/libjvm.so due to 3 file(s) /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp: In static member function 'static AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler*, int, int, const BasicType*, const VMRegPair*, AdapterFingerPrint*)': /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp:979:5: error: invalid use of incomplete type 'class BarrierSetAssembler' bs->c2i_entry_barrier(masm); ^~ Fix: diff -r c29454a99107 src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp --- a/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Wed Oct 16 15:13:00 2019 -0400 +++ b/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Sun Oct 20 20:58:26 2019 +0200 @@ -30,4 +30,6 @@ #include "code/nativeInst.hpp" #include "code/vtableStubs.hpp" +#include "gc/shared/barrierSet.hpp" +#include "gc/shared/barrierSetAssembler.hpp" #include "gc/shared/gcLocker.hpp" #include "interpreter/interpreter.hpp" Testing: failing build Thanks, -Aleksey From rkennke at redhat.com Sun Oct 20 19:07:54 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 20 Oct 2019 21:07:54 +0200 Subject: RFR: Fix build failure after "8230765: Implement nmethod barrier for x86_32 platforms" In-Reply-To: References: Message-ID: <7d2dee73-5c4c-9ad4-a6cd-410cb85401aa@redhat.com> Yeah, please do that! Thanks, Roman > Current sh/jdk fails to build in the odd corner case: x86_32, minimal VM, fastdebug, PCH disabled: > > $ CONF=linux-x86-minimal-fastdebug make images > Building target 'images' in configuration 'linux-x86-minimal-fastdebug' > Updating support/modules_libs/java.base/minimal/libjvm.so due to 5 file(s) > [buildjdk] Updating buildjdk/support/modules_libs/java.base/server/libjvm.so due to 3 file(s) > /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp: In static member > function 'static AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler*, int, > int, const BasicType*, const VMRegPair*, AdapterFingerPrint*)': > /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp:979:5: error: invalid > use of incomplete type 'class BarrierSetAssembler' > bs->c2i_entry_barrier(masm); > ^~ > > Fix: > > diff -r c29454a99107 src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp > --- a/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Wed Oct 16 15:13:00 2019 -0400 > +++ b/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Sun Oct 20 20:58:26 2019 +0200 > @@ -30,4 +30,6 @@ > #include "code/nativeInst.hpp" > #include "code/vtableStubs.hpp" > +#include "gc/shared/barrierSet.hpp" > +#include "gc/shared/barrierSetAssembler.hpp" > #include "gc/shared/gcLocker.hpp" > #include "interpreter/interpreter.hpp" > > > Testing: failing build > > Thanks, > -Aleksey > From shade at redhat.com Sun Oct 20 19:10:01 2019 From: shade at redhat.com (shade at redhat.com) Date: Sun, 20 Oct 2019 19:10:01 +0000 Subject: hg: shenandoah/jdk: Fix build failure after "8230765: Implement nmethod barrier for x86_32 platforms" Message-ID: <201910201910.x9KJA1uR000100@aojmv0008.oracle.com> Changeset: 1e9f6bb4f546 Author: shade Date: 2019-10-20 20:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1e9f6bb4f546 Fix build failure after "8230765: Implement nmethod barrier for x86_32 platforms" ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp From shade at redhat.com Sun Oct 20 19:10:11 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 20 Oct 2019 21:10:11 +0200 Subject: RFR: Fix build failure after "8230765: Implement nmethod barrier for x86_32 platforms" In-Reply-To: <7d2dee73-5c4c-9ad4-a6cd-410cb85401aa@redhat.com> References: <7d2dee73-5c4c-9ad4-a6cd-410cb85401aa@redhat.com> Message-ID: <005d44ca-ce50-0c60-50b1-955d7a9ccb5a@redhat.com> Thanks, pushed. This is sh/jdk specific, as 8230765 is not in jdk/jdk yet. On 10/20/19 9:07 PM, Roman Kennke wrote: > Yeah, please do that! > > Thanks, > Roman > > >> Current sh/jdk fails to build in the odd corner case: x86_32, minimal VM, fastdebug, PCH disabled: >> >> $ CONF=linux-x86-minimal-fastdebug make images >> Building target 'images' in configuration 'linux-x86-minimal-fastdebug' >> Updating support/modules_libs/java.base/minimal/libjvm.so due to 5 file(s) >> [buildjdk] Updating buildjdk/support/modules_libs/java.base/server/libjvm.so due to 3 file(s) >> /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp: In static member >> function 'static AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler*, int, >> int, const BasicType*, const VMRegPair*, AdapterFingerPrint*)': >> /home/shade/trunks/shenandoah-jdk/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp:979:5: error: invalid >> use of incomplete type 'class BarrierSetAssembler' >> bs->c2i_entry_barrier(masm); >> ^~ >> >> Fix: >> >> diff -r c29454a99107 src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp >> --- a/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Wed Oct 16 15:13:00 2019 -0400 >> +++ b/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp Sun Oct 20 20:58:26 2019 +0200 >> @@ -30,4 +30,6 @@ >> #include "code/nativeInst.hpp" >> #include "code/vtableStubs.hpp" >> +#include "gc/shared/barrierSet.hpp" >> +#include "gc/shared/barrierSetAssembler.hpp" >> #include "gc/shared/gcLocker.hpp" >> #include "interpreter/interpreter.hpp" >> >> >> Testing: failing build >> >> Thanks, >> -Aleksey >> > -- Thanks, -Aleksey From shade at redhat.com Sun Oct 20 19:29:06 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 20 Oct 2019 21:29:06 +0200 Subject: RFR 8232010: Shenandoah: implement self-fixing native barrier In-Reply-To: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> References: <6cecca8a-a477-53b4-48de-f504a2100955@redhat.com> Message-ID: <7c73ed8d-ce53-c54b-28d5-6806f1000af7@redhat.com> On 10/11/19 2:30 PM, Zhengyu Gu wrote: > Please review this patch that implements self-fixing LRB for in native oops. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232010 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232010/webrev.00/ This breaks Windows builds, see: https://bugs.openjdk.java.net/browse/JDK-8232674 -- Thanks, -Aleksey From shade at redhat.com Sun Oct 20 20:33:56 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sun, 20 Oct 2019 22:33:56 +0200 Subject: RFR (S) 8232674: Fix build and rename ShenandoahBarrierSet::oop_load_from_native_barrier Message-ID: P1 bug: https://bugs.openjdk.java.net/browse/JDK-8232674 I believe this is caused by missing definition of this method: oop oop_load_from_native_barrier(oop obj, narrowOop* load_addr); The way out is to generify it, the same way as we do it for SBS::load_reference_barrier. I also took this opportunity to rename the method to match the other LRB flavor: now the ShenandoahRuntime::load_reference_barrier_native wrapper looks right. Fix: https://cr.openjdk.java.net/~shade/8232674/webrev.01/ Testing: Windows x86_64 build, Linux x86_64 build, hotspot_gc_shenandoah -- Thanks, -Aleksey From zgu at redhat.com Mon Oct 21 00:19:21 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Sun, 20 Oct 2019 20:19:21 -0400 Subject: RFR (S) 8232674: Fix build and rename ShenandoahBarrierSet::oop_load_from_native_barrier In-Reply-To: References: Message-ID: Thanks for fixing it, Aleksey On 10/20/19 4:33 PM, Aleksey Shipilev wrote: > P1 bug: > https://bugs.openjdk.java.net/browse/JDK-8232674 > > I believe this is caused by missing definition of this method: > oop oop_load_from_native_barrier(oop obj, narrowOop* load_addr); This method should never been used. I thought I can get away with not implementing it (just like with gcc on Linux). I think the method body should just be: ... ShouldNotReacheHere(); return NULL; ... -Zhengyu > > The way out is to generify it, the same way as we do it for SBS::load_reference_barrier. I also took > this opportunity to rename the method to match the other LRB flavor: now the > ShenandoahRuntime::load_reference_barrier_native wrapper looks right. > > Fix: > https://cr.openjdk.java.net/~shade/8232674/webrev.01/ > > Testing: Windows x86_64 build, Linux x86_64 build, hotspot_gc_shenandoah > From shade at redhat.com Mon Oct 21 08:00:21 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 21 Oct 2019 10:00:21 +0200 Subject: RFR (S) 8232674: Fix build and rename ShenandoahBarrierSet::oop_load_from_native_barrier In-Reply-To: References: Message-ID: On 10/21/19 2:19 AM, Zhengyu Gu wrote: > On 10/20/19 4:33 PM, Aleksey Shipilev wrote: >> P1 bug: >> ?? https://bugs.openjdk.java.net/browse/JDK-8232674 >> >> I believe this is caused by missing definition of this method: >> ?? oop oop_load_from_native_barrier(oop obj, narrowOop* load_addr); > > This method should never been used. I thought I can get away with not implementing it (just like > with gcc on Linux). > > I think the method body should just be: > ?... > ? ShouldNotReacheHere(); > ? return NULL; > ?... Right! Let's do that: https://cr.openjdk.java.net/~shade/8232674/webrev.02/ ?? Testing: {Linux, Windows} x86_64 hotspot_gc_shenandoah; tier1 with Shenandoah -- Thanks, -Aleksey From shade at redhat.com Mon Oct 21 10:08:39 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 21 Oct 2019 12:08:39 +0200 Subject: RFR (S) 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals Message-ID: <5106d033-9d06-4190-8fcb-9fbc984ec736@redhat.com> Testbug: https://bugs.openjdk.java.net/browse/JDK-8232702 Fix: https://cr.openjdk.java.net/~shade/8232702/webrev.01/ This is the left-over from the days when ShenandoahVerifyObjectEquals was just VerifyObjectEquals. It was removed by JDK-8231946. This test never noticed it, because it ignored unrecognized VM options wholesale, but should really only do it for the ShVerifyOptoBarriers. Testing: affected test on Linux x86_64 {release, fastdebug, slowdebug} -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 21 10:34:56 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 21 Oct 2019 12:34:56 +0200 Subject: RFR (S) 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals In-Reply-To: <5106d033-9d06-4190-8fcb-9fbc984ec736@redhat.com> References: <5106d033-9d06-4190-8fcb-9fbc984ec736@redhat.com> Message-ID: <702435be-2a6c-3a32-ce8f-7471454db7ac@redhat.com> Looks good. Thanks! Roman > Testbug: > https://bugs.openjdk.java.net/browse/JDK-8232702 > > Fix: > https://cr.openjdk.java.net/~shade/8232702/webrev.01/ > > This is the left-over from the days when ShenandoahVerifyObjectEquals was just VerifyObjectEquals. > It was removed by JDK-8231946. This test never noticed it, because it ignored unrecognized VM > options wholesale, but should really only do it for the ShVerifyOptoBarriers. > > Testing: affected test on Linux x86_64 {release, fastdebug, slowdebug} > From zgu at redhat.com Mon Oct 21 13:03:19 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 21 Oct 2019 09:03:19 -0400 Subject: RFR (S) 8232674: Fix build and rename ShenandoahBarrierSet::oop_load_from_native_barrier In-Reply-To: References: Message-ID: <77e762ba-df60-ef10-b110-e6260e75cf77@redhat.com> Looks good to me. Thanks, -Zhengyu On 10/21/19 4:00 AM, Aleksey Shipilev wrote: > On 10/21/19 2:19 AM, Zhengyu Gu wrote: >> On 10/20/19 4:33 PM, Aleksey Shipilev wrote: >>> P1 bug: >>> ?? https://bugs.openjdk.java.net/browse/JDK-8232674 >>> >>> I believe this is caused by missing definition of this method: >>> ?? oop oop_load_from_native_barrier(oop obj, narrowOop* load_addr); >> >> This method should never been used. I thought I can get away with not implementing it (just like >> with gcc on Linux). >> >> I think the method body should just be: >> ?... >> ? ShouldNotReacheHere(); >> ? return NULL; >> ?... > > Right! Let's do that: > https://cr.openjdk.java.net/~shade/8232674/webrev.02/ > ?? Testing: {Linux, Windows} x86_64 hotspot_gc_shenandoah; tier1 with Shenandoah > From shade at redhat.com Mon Oct 21 16:55:33 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 21 Oct 2019 18:55:33 +0200 Subject: RFR (XS) 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8232729 Fix: https://cr.openjdk.java.net/~shade/8232729/webrev.01/ Current ShenandoahHeap::cas_oop routines perform CASes on given address, hoping the hardware would handle it properly. In most cases, this is guaranteed by callers who pass aligned addresses to it: those are aligned narrowOop*/oop* fields or the roots that we can update concurrently. However, we should assert the alignment directly to catch bugs. This would fail the asserts with proper message rather than obscure SIGBUS on some platforms like AArch64. These new asserts are known to legitimately fail with Traversal (JDK-8232730) on x86_64 and with jcstress on AArch64 (JDK-8232712), so I am going to push this after the fixes land to ensure clean test results. Testing: {x86_64, x86_32} hotspot_gc_shenandoah; x86_64 tier1 with Shenandoah (running) -- Thanks, -Aleksey From shade at redhat.com Mon Oct 21 16:55:47 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 21 Oct 2019 18:55:47 +0200 Subject: RFR (S) 8232730: Shenandoah: Traversal should not CAS the roots Message-ID: <09c30b70-fd00-d762-1760-5ff32fd01301@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8232730 Fix: https://cr.openjdk.java.net/~shade/8232730/webrev.01/ This is captured by asserts from JDK-8232729 with hotspot_gc_shenandoah on x86_64. See more details in the bug. The underlying reason for this failure is trying to CAS the roots that are not aligned to the pointer size, notably code roots. Normal concurrent cycle avoids this by updating the roots with plain stores, Traversal should do the same. Testing: {x86_64, x86_32} hotspot_gc_shenandoah; tier1 with Shenandoah (running) -- Thanks, -Aleksey From zgu at redhat.com Mon Oct 21 17:02:20 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 21 Oct 2019 13:02:20 -0400 Subject: RFR 8232712: Shenandoah: SIGBUS in load_reference_barrier_native Message-ID: <59396f6f-6ff8-3ac6-ab51-240f56298ab6@redhat.com> I missed aarch64 changes for JDK-8232010[1]. On aarch64, native barrier does not setup the second parameter (load_addr) for runtime call, therefore, the address to CAS is bogus. Bug: https://bugs.openjdk.java.net/browse/JDK-8232712 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232712/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) on aarch64 Linux. [1] https://bugs.openjdk.java.net/browse/JDK-8232010 Thanks, -Zhengyu From rkennke at redhat.com Mon Oct 21 17:18:41 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 21 Oct 2019 19:18:41 +0200 Subject: RFR (XS) 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned In-Reply-To: References: Message-ID: <5cb6c167-e4e5-07c6-c892-1df1d8700505@redhat.com> Yup. More asserts are always good. :-) Roman > RFE: > https://bugs.openjdk.java.net/browse/JDK-8232729 > > Fix: > https://cr.openjdk.java.net/~shade/8232729/webrev.01/ > > Current ShenandoahHeap::cas_oop routines perform CASes on given address, hoping the hardware would > handle it properly. In most cases, this is guaranteed by callers who pass aligned addresses to it: > those are aligned narrowOop*/oop* fields or the roots that we can update concurrently. > > However, we should assert the alignment directly to catch bugs. This would fail the asserts with > proper message rather than obscure SIGBUS on some platforms like AArch64. These new asserts are > known to legitimately fail with Traversal (JDK-8232730) on x86_64 and with jcstress on AArch64 > (JDK-8232712), so I am going to push this after the fixes land to ensure clean test results. > > Testing: {x86_64, x86_32} hotspot_gc_shenandoah; x86_64 tier1 with Shenandoah (running) > From shade at redhat.com Mon Oct 21 17:35:01 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 21 Oct 2019 19:35:01 +0200 Subject: RFR 8232712: Shenandoah: SIGBUS in load_reference_barrier_native In-Reply-To: <59396f6f-6ff8-3ac6-ab51-240f56298ab6@redhat.com> References: <59396f6f-6ff8-3ac6-ab51-240f56298ab6@redhat.com> Message-ID: <3d3061c5-7ab0-2905-2fe3-dc16ac3dd911@redhat.com> On 10/21/19 7:02 PM, Zhengyu Gu wrote: > I missed aarch64 changes for JDK-8232010[1]. > > On aarch64, native barrier does not setup the second parameter (load_addr) for runtime call, > therefore, the address to CAS is bogus. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232712 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232712/webrev.00/ Roman needs to ack this. This patch allows me to pass the subset of jcstress tests that were previously failing on aarch64. -- Thanks, -Aleksey From zgu at redhat.com Mon Oct 21 17:42:18 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 21 Oct 2019 13:42:18 -0400 Subject: RFR (S) 8232730: Shenandoah: Traversal should not CAS the roots In-Reply-To: <09c30b70-fd00-d762-1760-5ff32fd01301@redhat.com> References: <09c30b70-fd00-d762-1760-5ff32fd01301@redhat.com> Message-ID: <3dc51ca9-d26b-6fe7-dcbd-d48169c55993@redhat.com> Good to me. Thanks, -Zhengyu On 10/21/19 12:55 PM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232730 > > Fix: > https://cr.openjdk.java.net/~shade/8232730/webrev.01/ > > This is captured by asserts from JDK-8232729 with hotspot_gc_shenandoah on x86_64. See more details > in the bug. The underlying reason for this failure is trying to CAS the roots that are not aligned > to the pointer size, notably code roots. Normal concurrent cycle avoids this by updating the roots > with plain stores, Traversal should do the same. > > Testing: {x86_64, x86_32} hotspot_gc_shenandoah; tier1 with Shenandoah (running) > From rkennke at redhat.com Mon Oct 21 18:24:17 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 21 Oct 2019 20:24:17 +0200 Subject: RFR (S) 8232730: Shenandoah: Traversal should not CAS the roots In-Reply-To: <09c30b70-fd00-d762-1760-5ff32fd01301@redhat.com> References: <09c30b70-fd00-d762-1760-5ff32fd01301@redhat.com> Message-ID: Ok! Thanks, Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232730 > > Fix: > https://cr.openjdk.java.net/~shade/8232730/webrev.01/ > > This is captured by asserts from JDK-8232729 with hotspot_gc_shenandoah on x86_64. See more details > in the bug. The underlying reason for this failure is trying to CAS the roots that are not aligned > to the pointer size, notably code roots. Normal concurrent cycle avoids this by updating the roots > with plain stores, Traversal should do the same. > > Testing: {x86_64, x86_32} hotspot_gc_shenandoah; tier1 with Shenandoah (running) > From rkennke at redhat.com Mon Oct 21 18:24:51 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 21 Oct 2019 20:24:51 +0200 Subject: RFR 8232712: Shenandoah: SIGBUS in load_reference_barrier_native In-Reply-To: <59396f6f-6ff8-3ac6-ab51-240f56298ab6@redhat.com> References: <59396f6f-6ff8-3ac6-ab51-240f56298ab6@redhat.com> Message-ID: <713f6623-17a0-1c6f-90b2-ea398a532bbf@redhat.com> Ok! Thanks, Roman > I missed aarch64 changes for JDK-8232010[1]. > > On aarch64, native barrier does not setup the second parameter > (load_addr) for runtime call, therefore, the address to CAS is bogus. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232712 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232712/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) on aarch64 Linux. > > [1] https://bugs.openjdk.java.net/browse/JDK-8232010 > > Thanks, > > -Zhengyu > From axt at load.hu Mon Oct 21 20:29:19 2019 From: axt at load.hu (Attila Axt) Date: Mon, 21 Oct 2019 22:29:19 +0200 Subject: Shenandoah performance problem In-Reply-To: <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> Message-ID: <1b645ac4-4314-13f0-7595-d5268ae6c5ea@load.hu> I've promised some feedback! - Unfortunatelly I can't run fastdebug build in production, because its much slower than the release build, and its violating our SLA requirements. Tried to reproduce the errors I posted previously in a synthetic environment but didn't manage to trigger those bugs. - I've applied the patch on the top of the stable jdk repository and its running with production load around since a day, without any major problems! I did some measurements too. The following graphs show the average cpu time burned per second by different threads of the application: ?- the 'Multi threaded workload' is 12 http threads serving API requests (on a 12 core machine) ?- the 'Single threaded workload' is a single thread processing a queue ?- the last graph is the cpu time burned by the GC Threads https://imgur.com/S2vEmnL I've plotted the average values, which we can use as a rough estimate of Shenandoah's overhead: - On the single threaded workload the overhead is around +22.5% - On the multi threaded workload the overhead is around +80% I think that the extra overhead for the multi threaded workload is originating still from some lock-contention issues. I will try to find the source for this extra overhead, and if I succeed, I will send you a reproducer testcase or at least some profiling results. Thanks again for the fix, ? axt On 10/18/19 1:51 PM, Roman Kennke wrote: > You could try to run with fastdebug build, which builds in lots of > asserts. In addition to that, try running with -XX:+ShenandoahVerify. > Maybe this gives us some clues. > On 10/18/19 4:04 PM, Aleksey Shipilev wrote: > For this work, prefer https://hg.openjdk.java.net/jdk/jdk/ (the mainline dev) repository as the > base. Also note I just published the RFR for JDK-8232575 here, which has minor touchups that lets it > pass most (all?) tests: > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010794.html -- > Thanks, > -Aleksey From shade at redhat.com Tue Oct 22 08:16:21 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 10:16:21 +0200 Subject: Shenandoah performance problem In-Reply-To: <1b645ac4-4314-13f0-7595-d5268ae6c5ea@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> <1b645ac4-4314-13f0-7595-d5268ae6c5ea@load.hu> Message-ID: On 10/21/19 10:29 PM, Attila Axt wrote: > - I've applied the patch on the top of the stable jdk repository and its running with production > load around since a day, without any major problems! Excellent. The patches are already in jdk/jdk, so you might just use the vanilla repo, or binary builds for jdk/jdk: https://builds.shipilev.net/openjdk-jdk/ > I did some measurements too. The following graphs show the average cpu time burned per second by > different threads of the application: > ?- the 'Multi threaded workload' is 12 http threads serving API requests (on a 12 core machine) > ?- the 'Single threaded workload' is a single thread processing a queue > ?- the last graph is the cpu time burned by the GC Threads > > https://imgur.com/S2vEmnL I believe this shows that non-generational Shenandoah uses more CPU than a generational CMS: so the GC cycles are longer on average, and then the total CPU time is larger. For single-threaded workload, the heap occupancy might be much lower, so GC cycle length is smaller? It would be interesting to zoom in and see if CPU utilization differs when GC is idle to confirm. -- Thanks, -Aleksey From axt at load.hu Tue Oct 22 11:44:07 2019 From: axt at load.hu (Attila Axt) Date: Tue, 22 Oct 2019 13:44:07 +0200 Subject: Shenandoah performance problem In-Reply-To: References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> <1b645ac4-4314-13f0-7595-d5268ae6c5ea@load.hu> Message-ID: <7f163665-fc70-2f4c-1dd1-a3f5382b80ec@load.hu> >> https://imgur.com/S2vEmnL > I believe this shows that non-generational Shenandoah uses more CPU than a generational CMS: so the > GC cycles are longer on average, and then the total CPU time is larger. For single-threaded > workload, the heap occupancy might be much lower, so GC cycle length is smaller? > > It would be interesting to zoom in and see if CPU utilization differs when GC is idle to confirm. Sorry, I wasn't clear enough about the measurement setup. All those graphs are measured the same time. We are running a recommendation service. The incoming traffic is load-balanced between serveral application servers. I did the measurement on two of those servers, one configured with CMS, the other configured with Shenandoah.? These two nodes are receiving roughly the same traffic. What you see on the graph is not the total cpu-time by various standalone test, but instead the cpu-time of a thread/threadgroup of this application. I wrote a simple tool, which queries the cpu time usage of every thread(group) in every 5 seconds . If I display the results in a top-like manner, it looks like this: Elapsed time, S:1260.29s, L:5.07s ??? SCPU????? SCPU/s?????? SCPU%??????? LCPU????? LCPU/s LCPU%???????? TID??? NAME (COUNT) ?2871394???? 2278.36?????????? -?????? 12794 2521.72?????????? -??????????????? SUMMARY ?1038532????? 824.04?????? 36.17??????? 4257????? 839.06 33.27???????? 649??? http-main-# (25) ? 764557????? 606.65?????? 26.63??????? 3084????? 607.86 24.11?????? 18198??? Process Queue (1) ? 494317????? 392.22?????? 17.22??????? 3276????? 645.70 25.61?????? 17556??? Shenandoah GC Threads## (6) ? 152115????? 120.70??????? 5.30???????? 582????? 114.71 4.55?????? 17960??? Xmemcached-Reactor-# (20) ? 109960?????? 87.25??????? 3.83???????? 434?????? 85.54 3.39?????? 17584??? Log4j2-TF-1-AsyncLogger (1) ? [...] CPU: is the cpu time burned between the last measurement and the current measurement. The prefix 'S' means from the start of the tool , 'L' means from the last measurement 5 seconds ago. CPU/s: CPU divided by the length of the measurement period, basically average cputime burned by the threadgroup CPU%: percentage of this threadgroups cpu usage As you can see on the above snapshot, the 'http-main-#', 'Process Queue', and 'Shenandoah GC Threads' are responsible ~80% of the cpu time burned, I named those on the graph as 'Multi threaded workload', 'Single threaded workload' and GC. What you see on the graphs, is the average cpu time burned by those threadgroups with a 5 second resolution (LCPU/s column). Cheers, ? axt From shade at redhat.com Tue Oct 22 11:48:15 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 13:48:15 +0200 Subject: RFR (XS) 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register Message-ID: <01ea4f42-e33f-64ee-3514-12d19d2dc820@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8232778 Fix: diff -r 24d411cb3a90 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 08:57:41 2019 +0200 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 13:39:05 2019 +0200 @@ -58,7 +58,7 @@ Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(rscratch1, gc_state); if (dest_uninitialized) { - __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); + __ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); } else { __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING); __ tst(rscratch1, rscratch2); The load happens into rscratch1, yet we are testing rscratch2. I think this silently breaks arraycopy to-space guarantees, as rscratch2 may contain garbage. Testing: aarch64 hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Tue Oct 22 12:00:00 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 14:00:00 +0200 Subject: Shenandoah performance problem In-Reply-To: <7f163665-fc70-2f4c-1dd1-a3f5382b80ec@load.hu> References: <20299ea8-8eac-d940-b969-5617585f67ad@load.hu> <5090b434-e2b4-d63e-4306-1362abd9deeb@redhat.com> <844e2cda-1e9b-7717-7057-b1435cdee08a@load.hu> <1364d703-413f-dd67-97a1-b55aaa24dab1@redhat.com> <1b645ac4-4314-13f0-7595-d5268ae6c5ea@load.hu> <7f163665-fc70-2f4c-1dd1-a3f5382b80ec@load.hu> Message-ID: <9e70be80-b618-e89d-9b05-b60a4e0adeb4@redhat.com> On 10/22/19 1:44 PM, Attila Axt wrote: >>> https://imgur.com/S2vEmnL >> I believe this shows that non-generational Shenandoah uses more CPU than a generational CMS: so the >> GC cycles are longer on average, and then the total CPU time is larger. For single-threaded >> workload, the heap occupancy might be much lower, so GC cycle length is smaller? >> >> It would be interesting to zoom in and see if CPU utilization differs when GC is idle to confirm. > > Sorry, I wasn't clear enough about the measurement setup. All those graphs are measured the same time. > > We are running a recommendation service. The incoming traffic is load-balanced between serveral > application servers. I did the measurement on two of those servers, one configured with CMS, the > other configured with Shenandoah.? These two nodes are receiving roughly the same traffic. Ah, ok, this is a very nice setup for performance experiments. So the graphs say that http-main-# threads burn about 2x more cycles with Shenandoah, while "Process queue" burn about 1.2x more, in comparison with the same node running CMS. In our experiments, that is usually explained by the barrier overhead. I think the difference between these group of threads are in the way they use the heap, not necessarily how many threads are running (and contending). If threads deal Java references more, they would experience more barrier overhead. To quantify the barrier overhead, Shenandoah can be configured to run in STW mode with -XX:ShenandoahGCMode=passive. It would run pretty much the same GC cycle, but under the pause. That would affect latencies, but this allows disabling the barriers for diagnostics. "passive" would disable all barriers ergonomically, and the GC log would also tell which barriers got disabled. You can then selectively turn them on and see if overhead is explained by the particular barrier class. -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 22 12:04:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 22 Oct 2019 14:04:37 +0200 Subject: RFR (XS) 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register In-Reply-To: <01ea4f42-e33f-64ee-3514-12d19d2dc820@redhat.com> References: <01ea4f42-e33f-64ee-3514-12d19d2dc820@redhat.com> Message-ID: <8be9fb1d-1f8c-b121-026f-f40a12b2ca09@redhat.com> Good spot! Looks good, thanks! Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232778 > > Fix: > > diff -r 24d411cb3a90 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp > --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 > 08:57:41 2019 +0200 > +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 > 13:39:05 2019 +0200 > @@ -58,7 +58,7 @@ > Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > __ ldrb(rscratch1, gc_state); > if (dest_uninitialized) { > - __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); > + __ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); > } else { > __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING); > __ tst(rscratch1, rscratch2); > > The load happens into rscratch1, yet we are testing rscratch2. I think this silently breaks > arraycopy to-space guarantees, as rscratch2 may contain garbage. > > Testing: aarch64 hotspot_gc_shenandoah > From shade at redhat.com Tue Oct 22 12:12:24 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 14:12:24 +0200 Subject: RFR (XS) 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register In-Reply-To: <8be9fb1d-1f8c-b121-026f-f40a12b2ca09@redhat.com> References: <01ea4f42-e33f-64ee-3514-12d19d2dc820@redhat.com> <8be9fb1d-1f8c-b121-026f-f40a12b2ca09@redhat.com> Message-ID: <238286cd-c420-59ab-fe61-d9b3169a4df6@redhat.com> Thanks, I also think it is trivial. Pushed. -Aleksey On 10/22/19 2:04 PM, Roman Kennke wrote: > Good spot! > > Looks good, thanks! > Roman > >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8232778 >> >> Fix: >> >> diff -r 24d411cb3a90 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp >> --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 >> 08:57:41 2019 +0200 >> +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Oct 22 >> 13:39:05 2019 +0200 >> @@ -58,7 +58,7 @@ >> Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); >> __ ldrb(rscratch1, gc_state); >> if (dest_uninitialized) { >> - __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); >> + __ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); >> } else { >> __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING); >> __ tst(rscratch1, rscratch2); >> >> The load happens into rscratch1, yet we are testing rscratch2. I think this silently breaks >> arraycopy to-space guarantees, as rscratch2 may contain garbage. >> >> Testing: aarch64 hotspot_gc_shenandoah >> > -- Thanks, -Aleksey From zgu at redhat.com Tue Oct 22 13:38:57 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 22 Oct 2019 09:38:57 -0400 Subject: RFR 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots Message-ID: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> This is the counterpart of JDK-8231999[1] for Shenandoah concurrent GC. Shenandoah needs to deactivate SATB barrier before processing weak roots, to avoid barrier side-effects on its paths. Bug: https://bugs.openjdk.java.net/browse/JDK-8232747 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) on Linux x86_64 Thanks, -Zhengyu [1] https://bugs.openjdk.java.net/browse/JDK-8231999 From shade at redhat.com Tue Oct 22 13:55:04 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 15:55:04 +0200 Subject: RFR 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots In-Reply-To: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> References: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> Message-ID: On 10/22/19 3:38 PM, Zhengyu Gu wrote: > This is the counterpart of JDK-8231999[1] for Shenandoah concurrent GC. Shenandoah needs to > deactivate SATB barrier before processing weak roots, to avoid barrier side-effects on its paths. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232747 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.00/index.html *) Mmm... In ShenandoahConcurrentMark::finish_mark_from_roots, there is a call: _heap->parallel_cleaning(full_gc); Does it mean new code would perform cleaning twice? *) This comment relates to keeping has_forwarded_objects set on cancelled path: // If we needed to update refs, and concurrent marking has been cancelled, // we need to finish updating references. ...current placement loses that connection. Suggestion: // If this cycle was updating references and got cancelled, we need to keep // the flag on, for subsequent phases to deal with it. *) Maybe we should inline stop_concurrent_marking everywhere to make the flow more obvious... -- Thanks, -Aleksey From shade at redhat.com Tue Oct 22 14:29:03 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 16:29:03 +0200 Subject: RFR (XS) 8232791: Shenandoah: passive mode should disable pacing Message-ID: <9fb18df5-68fb-43e9-81fb-70318e67d8ba@redhat.com> RFE: https://bugs.openjdk.java.net/browse/JDK-8232791 The rationale is in the RFE description. Fix: https://cr.openjdk.java.net/~shade/8232791/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From zgu at redhat.com Tue Oct 22 14:31:51 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 22 Oct 2019 10:31:51 -0400 Subject: RFR 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots In-Reply-To: References: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> Message-ID: <3e64dfe9-ea9e-60ed-6a51-1c5c466078c0@redhat.com> Hi Aleksey, On 10/22/19 9:55 AM, Aleksey Shipilev wrote: > On 10/22/19 3:38 PM, Zhengyu Gu wrote: >> This is the counterpart of JDK-8231999[1] for Shenandoah concurrent GC. Shenandoah needs to >> deactivate SATB barrier before processing weak roots, to avoid barrier side-effects on its paths. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8232747 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.00/index.html > > *) Mmm... In ShenandoahConcurrentMark::finish_mark_from_roots, there is a call: > _heap->parallel_cleaning(full_gc); It is removed by following. diff --git a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp @@ -442,8 +442,6 @@ weak_refs_work(full_gc); } - _heap->parallel_cleaning(full_gc); - assert(task_queues()->is_empty(), "Should be empty"); TASKQUEUE_STATS_ONLY(task_queues()->print_taskqueue_stats()); TASKQUEUE_STATS_ONLY(task_queues()->reset_taskqueue_stats()); > > Does it mean new code would perform cleaning twice? > > *) This comment relates to keeping has_forwarded_objects set on cancelled path: > > // If we needed to update refs, and concurrent marking has been cancelled, > // we need to finish updating references. > > ...current placement loses that connection. Suggestion: > > // If this cycle was updating references and got cancelled, we need to keep > // the flag on, for subsequent phases to deal with it. > > *) Maybe we should inline stop_concurrent_marking everywhere to make the flow more obvious... > Updated: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.01/index.html Thanks, -Zhengyu From shade at redhat.com Tue Oct 22 14:46:17 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 16:46:17 +0200 Subject: RFR 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots In-Reply-To: <3e64dfe9-ea9e-60ed-6a51-1c5c466078c0@redhat.com> References: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> <3e64dfe9-ea9e-60ed-6a51-1c5c466078c0@redhat.com> Message-ID: On 10/22/19 4:31 PM, Zhengyu Gu wrote: > Updated: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.01/index.html Right. Looks much better. Still, a few nits: *) We don't need to assert these anymore (we never do in other places) 1481 assert(is_concurrent_mark_in_progress(), "How else could we get here?"); ... 1585 assert(is_concurrent_mark_in_progress(), "How else could we get here?"); *) Newline between lines here, also captialize "Marking..." 1479 concurrent_mark()->finish_mark_from_roots(/* full_gc = */ false); 1480 // marking is completed, deactivate SATB barrier *) This is still awkwardly worded, that's my fault. Let's do this: concurrent_mark()->cancel(); assert(is_concurrent_mark_in_progress(), "How else could we get here?"); set_concurrent_mark_in_progress(false); // If this cycle was updating references, we need to keep the has_forwarded_objects // flag on, for subsequent phases to deal with it. if (process_references()) *) You tested hotspot_gc_shenandoah to verify that adding parallel_cleaning call in mark-compact phase1 is safe, right? Otherwise looks good. -- Thanks, -Aleksey From shade at redhat.com Tue Oct 22 15:14:18 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 22 Oct 2019 17:14:18 +0200 Subject: RFR (XS) 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc Message-ID: <5f3b9301-a873-7166-6416-8ba4cd358039@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8232802 Fix: https://cr.openjdk.java.net/~shade/8232802/webrev.01/ The failure caught in testing says that transition from cset to pinned-cset is invalid when GC was not cancelled. However, this was only true before JDK-8232575 work. Now, this transition is done in sync_pinned_region_status that is supposed to work on all paths. In this case, Degenerated GC dropped the cancelled GC flag already, and thus blows up the check. The check is excessive and should be removed. Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From zgu at redhat.com Tue Oct 22 15:19:47 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 22 Oct 2019 11:19:47 -0400 Subject: RFR (XS) 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc In-Reply-To: <5f3b9301-a873-7166-6416-8ba4cd358039@redhat.com> References: <5f3b9301-a873-7166-6416-8ba4cd358039@redhat.com> Message-ID: <4258260f-4737-077e-fd39-12f880e8fc16@redhat.com> Good. Thanks, -Zhengyu On 10/22/19 11:14 AM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232802 > > Fix: > https://cr.openjdk.java.net/~shade/8232802/webrev.01/ > > The failure caught in testing says that transition from cset to pinned-cset is invalid when GC was > not cancelled. However, this was only true before JDK-8232575 work. Now, this transition is done in > sync_pinned_region_status that is supposed to work on all paths. In this case, Degenerated GC > dropped the cancelled GC flag already, and thus blows up the check. > > The check is excessive and should be removed. > > Testing: hotspot_gc_shenandoah > From zgu at redhat.com Tue Oct 22 16:00:39 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 22 Oct 2019 12:00:39 -0400 Subject: RFR 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots In-Reply-To: References: <9c29e649-eb27-be6e-2240-ad3ff99b7462@redhat.com> <3e64dfe9-ea9e-60ed-6a51-1c5c466078c0@redhat.com> Message-ID: <2207188f-7d8c-3d3a-b1f6-3f4ead520c33@redhat.com> On 10/22/19 10:46 AM, Aleksey Shipilev wrote: > On 10/22/19 4:31 PM, Zhengyu Gu wrote: >> Updated: http://cr.openjdk.java.net/~zgu/JDK-8232747/webrev.01/index.html > > Right. Looks much better. Still, a few nits: > > *) We don't need to assert these anymore (we never do in other places) > > 1481 assert(is_concurrent_mark_in_progress(), "How else could we get here?"); > ... > 1585 assert(is_concurrent_mark_in_progress(), "How else could we get here?"); > > *) Newline between lines here, also captialize "Marking..." > > 1479 concurrent_mark()->finish_mark_from_roots(/* full_gc = */ false); > 1480 // marking is completed, deactivate SATB barrier > > *) This is still awkwardly worded, that's my fault. Let's do this: > > concurrent_mark()->cancel(); > assert(is_concurrent_mark_in_progress(), "How else could we get here?"); > set_concurrent_mark_in_progress(false); > > // If this cycle was updating references, we need to keep the has_forwarded_objects > // flag on, for subsequent phases to deal with it. > > if (process_references()) All fixed and pushed. > > *) You tested hotspot_gc_shenandoah to verify that adding parallel_cleaning call in mark-compact > phase1 is safe, right? Of course. And reran the tests after every iteration. Thanks, -Zhengyu > > Otherwise looks good. > From simone.bordet at gmail.com Wed Oct 23 08:49:44 2019 From: simone.bordet at gmail.com (Simone Bordet) Date: Wed, 23 Oct 2019 10:49:44 +0200 Subject: Lost Objects? Message-ID: Hi, I have a messaging benchmark that I can run for hours with other GCs, but with Shenandoah some message get "lost" even in short runs. It could be an application problem that perhaps only Shenandoah triggers, but seems quite unlikely. I'll try to build 13 with fastdebug and re-run, but if you have suggestions, they're welcome. I'll try heuristic=passive too. Thanks! -- Simone Bordet --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz From shade at redhat.com Wed Oct 23 08:59:00 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 10:59:00 +0200 Subject: Lost Objects? In-Reply-To: References: Message-ID: On 10/23/19 10:49 AM, Simone Bordet wrote: > I have a messaging benchmark that I can run for hours with other GCs, > but with Shenandoah some message get "lost" even in short runs. > It could be an application problem that perhaps only Shenandoah > triggers, but seems quite unlikely. Reproducer would be nice. > I'll try to build 13 with fastdebug and re-run, but if you have > suggestions, they're welcome. Better try with the latest jdk/jdk. Take one from here: https://builds.shipilev.net/openjdk-jdk/ -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 10:28:16 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 12:28:16 +0200 Subject: RFR [sh/8u]: Do not enable UseCountedLoopSafepoints in Shenandoah by default Message-ID: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> Enabling -XX:+UseCountedLoopSafepoints in 8u seems risky because it's known to trigger bugs. In particular, it shows up with the upcoming LRB backport and the TestMaybeNullUnsafeAccess.java testcase. Let's not enable it by default, and print a warning when the user enables it. The downside of it is regressed TTSP for code-paths with long counted loops. http://cr.openjdk.java.net/~rkennke/clsp/webrev.00/ Ok? Roman From shade at redhat.com Wed Oct 23 10:32:42 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 12:32:42 +0200 Subject: RFR [sh/8u]: Do not enable UseCountedLoopSafepoints in Shenandoah by default In-Reply-To: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> References: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> Message-ID: On 10/23/19 12:28 PM, Roman Kennke wrote: > Enabling -XX:+UseCountedLoopSafepoints in 8u seems risky because it's > known to trigger bugs. In particular, it shows up with the upcoming LRB > backport and the TestMaybeNullUnsafeAccess.java testcase. > > Let's not enable it by default, and print a warning when the user > enables it. The downside of it is regressed TTSP for code-paths with > long counted loops. > > http://cr.openjdk.java.net/~rkennke/clsp/webrev.00/ Sounds fine. *) Current checking code assumes the default is "false", maybe it should be more straight-forward instead: if (UseCountedLoopSafepoints) { ... } *) Let's not put the URLs in the logs? Not sure that would be the only bug, and it is dubious to list just one. Put the reference to example bug in the code comment, if you want. -- Thanks, -Aleksey From stefan.reich.maker.of.eye at googlemail.com Wed Oct 23 10:43:57 2019 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Wed, 23 Oct 2019 12:43:57 +0200 Subject: Lost Objects? In-Reply-To: References: Message-ID: You're saying the garbage collector is changing your application behavior? On Wed, 23 Oct 2019 at 10:50, Simone Bordet wrote: > Hi, > > I have a messaging benchmark that I can run for hours with other GCs, > but with Shenandoah some message get "lost" even in short runs. > It could be an application problem that perhaps only Shenandoah > triggers, but seems quite unlikely. > > I'll try to build 13 with fastdebug and re-run, but if you have > suggestions, they're welcome. > I'll try heuristic=passive too. > > Thanks! > > -- > Simone Bordet > --- > Finally, no matter how good the architecture and design are, > to deliver bug-free software with optimal performance and reliability, > the implementation technique must be flawless. Victoria Livschitz > -- Stefan Reich BotCompany.de // Java-based operating systems From shade at redhat.com Wed Oct 23 10:56:54 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 12:56:54 +0200 Subject: RFR (S) 8222766: Shenandoah: streamline post-LRB CAS barrier (x86) Message-ID: RFE: https://bugs.openjdk.java.net/browse/JDK-8222766 Fix: https://cr.openjdk.java.net/~shade/8222766/webrev.07/ I hope the comments in the new code are self-explanatory. This rewrite allows us to ditch resolve_fwd_ptr and its awkward borrowing scheme. Since it is removing two of three fwdptr resolves, it also considerably improves the generated code quality for CAS -- which is measurable on microbenchmarks. The AArch64 counterpart comes later in JDK-8232782. Compare: https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-before.perfasm https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-after.perfasm Testing: {x86_32, x86_64} hotspot_gc_shenandoah; jcstress runs -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 10:57:51 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 12:57:51 +0200 Subject: RFR [sh/8u]: Do not enable UseCountedLoopSafepoints in Shenandoah by default In-Reply-To: References: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> Message-ID: > On 10/23/19 12:28 PM, Roman Kennke wrote: >> Enabling -XX:+UseCountedLoopSafepoints in 8u seems risky because it's >> known to trigger bugs. In particular, it shows up with the upcoming LRB >> backport and the TestMaybeNullUnsafeAccess.java testcase. >> >> Let's not enable it by default, and print a warning when the user >> enables it. The downside of it is regressed TTSP for code-paths with >> long counted loops. >> >> http://cr.openjdk.java.net/~rkennke/clsp/webrev.00/ > > Sounds fine. > > *) Current checking code assumes the default is "false", maybe it should be more straight-forward > instead: > > if (UseCountedLoopSafepoints) { > ... > } > > *) Let's not put the URLs in the logs? Not sure that would be the only bug, and it is dubious to > list just one. Put the reference to example bug in the code comment, if you want. Ok. Like this then? http://cr.openjdk.java.net/~rkennke/clsp/webrev.01/ BTW, testing: hotspot_gc_shenandoah (also, with the upcoming LRB backport, which showed the bug). Roman From rkennke at redhat.com Wed Oct 23 10:59:50 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 12:59:50 +0200 Subject: RFR (S) 8222766: Shenandoah: streamline post-LRB CAS barrier (x86) In-Reply-To: References: Message-ID: <0794092a-76f4-fee3-c537-aa6533701a1c@redhat.com> > RFE: > https://bugs.openjdk.java.net/browse/JDK-8222766 > > Fix: > https://cr.openjdk.java.net/~shade/8222766/webrev.07/ > > I hope the comments in the new code are self-explanatory. This rewrite allows us to ditch > resolve_fwd_ptr and its awkward borrowing scheme. Since it is removing two of three fwdptr resolves, > it also considerably improves the generated code quality for CAS -- which is measurable on > microbenchmarks. > > The AArch64 counterpart comes later in JDK-8232782. > > Compare: > https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-before.perfasm > https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-after.perfasm > > Testing: {x86_32, x86_64} hotspot_gc_shenandoah; jcstress runs Looks good to me! Thanks, Roman From shade at redhat.com Wed Oct 23 11:02:11 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 13:02:11 +0200 Subject: RFR [sh/8u]: Do not enable UseCountedLoopSafepoints in Shenandoah by default In-Reply-To: References: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> Message-ID: <5840fee4-2384-1a9b-4238-575fc6de84b9@redhat.com> On 10/23/19 12:57 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/clsp/webrev.01/ Yes. I would add this comment: // Shenandoah cares more about pause times, rather than raw throughput. // Enabling safepoints in counted loops makes it more responsive with // long loops. However, it is risky in 8u, due to bugs it brings, for // example JDK-8176506. Warn user about this, and proceed. if (UseCountedLoopSafepoints) { Looks good otherwise. -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 11:05:40 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 23 Oct 2019 11:05:40 +0000 Subject: hg: shenandoah/jdk8/hotspot: Do not enable UseCountedLoopSafepoints in Shenandoah by default Message-ID: <201910231105.x9NB5e8n006441@aojmv0008.oracle.com> Changeset: 880427372d04 Author: rkennke Date: 2019-10-23 13:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/880427372d04 Do not enable UseCountedLoopSafepoints in Shenandoah by default ! src/share/vm/runtime/arguments.cpp From rkennke at redhat.com Wed Oct 23 11:05:58 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 13:05:58 +0200 Subject: RFR [sh/8u]: Do not enable UseCountedLoopSafepoints in Shenandoah by default In-Reply-To: <5840fee4-2384-1a9b-4238-575fc6de84b9@redhat.com> References: <806188a1-2045-15ff-facf-b7f2a6b4c0ea@redhat.com> <5840fee4-2384-1a9b-4238-575fc6de84b9@redhat.com> Message-ID: <950b6c93-a75b-3b86-135f-481f6055f9db@redhat.com> >> http://cr.openjdk.java.net/~rkennke/clsp/webrev.01/ > > Yes. > > I would add this comment: > > // Shenandoah cares more about pause times, rather than raw throughput. > // Enabling safepoints in counted loops makes it more responsive with > // long loops. However, it is risky in 8u, due to bugs it brings, for > // example JDK-8176506. Warn user about this, and proceed. > if (UseCountedLoopSafepoints) { > > Looks good otherwise. Ok, good. I added the comment and pushed the change. Thanks, Roman From rkennke at redhat.com Wed Oct 23 11:16:28 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 13:16:28 +0200 Subject: RFR: LRB backport to 8u Message-ID: <65d87193-5055-fa7d-ae7b-c6cd248f3fc8@redhat.com> This backports the load-reference-barrier stuff and related follow-up bugfixes to shenandoah/jdk8u. The patch removes/restores a *lot* of shared-code-changes (e.g. all RBs, WBs, obj-eq) at the expense of inserting a few new ones (the LRB). Most of the time, those are relatively concentrated already because (I presume) this abstraction needed to be done for decoding oops already). Having LRB will enabled elimination of forwarding pointer, which in turn will remove/restore more shared-code-changes (anything to do with alloctation, and dealing with the offsets). The change is significantly different from what went into sh/11u due to missing GC interfaces. When re-implementing the parts, I tried to keep the Shenandoah interface stuffs (e.g. ShenandoahBarrierSet/Assembler/C1/C2) as close to later versions as possible, without actually introducing the GC interface machinery. Whenever shared code needs to call into Shenandoah, I am following this pattern now: #if INCLUDE_ALL_GCS if (UseShenandoahGC) { ShenandoahBarrierSetAssembler::bsasm()->load_reference_barrier(..) } #endif This makes it obvious what's happening, and reliably disables the paths for non-Shenandoah calls or minimal builds. Testing: hotspot_gc_shenandoah, specjvm, specjbb List-of-changes: http://cr.openjdk.java.net/~rkennke/lrb-sh8/changes.txt Webrev: http://cr.openjdk.java.net/~rkennke/lrb-sh8/webrev.00/ Can I please get a review? Thanks, Roman From shade at redhat.com Wed Oct 23 15:26:50 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 17:26:50 +0200 Subject: RFR: LRB backport to 8u In-Reply-To: <65d87193-5055-fa7d-ae7b-c6cd248f3fc8@redhat.com> References: <65d87193-5055-fa7d-ae7b-c6cd248f3fc8@redhat.com> Message-ID: <072ce606-d72d-854a-844b-43e8e1f50ecf@redhat.com> On 10/23/19 1:16 PM, Roman Kennke wrote: > Webrev: > http://cr.openjdk.java.net/~rkennke/lrb-sh8/webrev.00/ The amount of shared changes code gone is impressive. I think this is ready to go to sh/jdk8 for deeper testing. We still have aarch64-port/jdk8u-shenandoah as the stable base which we use for releases. I have retargeted webrev generators to see the difference against jdk8u/jdk8u: https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8/ https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8-only-shared/ ...we can check what is going on there after this patchset lands. Nits: *) Please try to build without PCH, does it still pass? *) src/share/vm/c1/c1_LIRGenerator.hpp: I wonder how friending works when Shenandoah is disabled (in minimal VM build), and ShenandoahBarrierSetC1 is not defined. Actually, I am not sure which #include gives us, thus my question about PCH. 155 class LIRGenerator: public InstructionVisitor, public BlockClosure { 156 friend class ShenandoahBarrierSetC1; *) src/share/vm/prims/unsafe.cpp: the indenting is a little off: 314 315 ensure_satb_referent_alive(p, offset, v); -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 17:06:12 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 19:06:12 +0200 Subject: RFR: LRB backport to 8u In-Reply-To: <072ce606-d72d-854a-844b-43e8e1f50ecf@redhat.com> References: <65d87193-5055-fa7d-ae7b-c6cd248f3fc8@redhat.com> <072ce606-d72d-854a-844b-43e8e1f50ecf@redhat.com> Message-ID: Hi Aleksey, >> Webrev: >> http://cr.openjdk.java.net/~rkennke/lrb-sh8/webrev.00/ > > The amount of shared changes code gone is impressive. > > I think this is ready to go to sh/jdk8 for deeper testing. We still have > aarch64-port/jdk8u-shenandoah as the stable base which we use for releases. > > I have retargeted webrev generators to see the difference against jdk8u/jdk8u: > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8/ > https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8-only-shared/ > > ...we can check what is going on there after this patchset lands. Great. > Nits: > > *) Please try to build without PCH, does it still pass? Done. Builds fine. > *) src/share/vm/c1/c1_LIRGenerator.hpp: I wonder how friending works when Shenandoah is disabled (in > minimal VM build), and ShenandoahBarrierSetC1 is not defined. Actually, I am not sure which #include > gives us, thus my question about PCH. Friending is done one purely symbolic level, and on demand. If the symbol is not present it is ignored. However, I found some other issues with minimal build which are fixed by the following webrev, which I'm gonna fold into the LRB changeset before pushing: http://cr.openjdk.java.net/~rkennke/lrb-sh8/webrev.01.diff/ I'm not going to post another master webrev ;-) > 155 class LIRGenerator: public InstructionVisitor, public BlockClosure { > 156 friend class ShenandoahBarrierSetC1; > > *) src/share/vm/prims/unsafe.cpp: the indenting is a little off: > > 314 > 315 ensure_satb_referent_alive(p, offset, v); Ok. I'll also fix this before pushing. Otherwise ok, with the above patch plus the unsafe intendation fix? Roman From shade at redhat.com Wed Oct 23 17:31:45 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 19:31:45 +0200 Subject: RFR: LRB backport to 8u In-Reply-To: References: <65d87193-5055-fa7d-ae7b-c6cd248f3fc8@redhat.com> <072ce606-d72d-854a-844b-43e8e1f50ecf@redhat.com> Message-ID: On 10/23/19 7:06 PM, Roman Kennke wrote: > Otherwise ok, with the above patch plus the unsafe intendation fix? Yes. -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 17:42:37 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 23 Oct 2019 17:42:37 +0000 Subject: hg: shenandoah/jdk8/hotspot: 11 new changesets Message-ID: <201910231742.x9NHgbhb010625@aojmv0008.oracle.com> Changeset: 681483979efc Author: rkennke Date: 2019-10-21 11:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/681483979efc [backport] 8221766: Load-reference barriers for Shenandoah ! make/excludeSrc.make ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp ! src/cpu/aarch64/vm/jniFastGetField_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/methodHandles_aarch64.cpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp + src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.cpp + src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.hpp - src/cpu/aarch64/vm/shenandoahBarrierSet_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp ! src/cpu/aarch64/vm/stubRoutines_aarch64.cpp ! src/cpu/aarch64/vm/stubRoutines_aarch64.hpp ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/jniFastGetField_x86_64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp + src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp + src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.hpp - src/cpu/x86/vm/shenandoahBarrierSet_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderStats.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/compiler/oopMap.hpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahAsserts.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC1.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC1.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC2.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC2.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahClosures.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCodeRoots.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahStrDedupTable.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahStrDedupTable.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahTaskqueue.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/barrierSet.cpp ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayOop.hpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/classes.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/phaseX.cpp - src/share/vm/opto/shenandoahSupport.cpp - src/share/vm/opto/shenandoahSupport.hpp ! src/share/vm/opto/split_if.cpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/biasedLocking.cpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/jniHandles.hpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/serviceUtil.hpp ! src/share/vm/services/threadService.cpp ! src/share/vm/utilities/growableArray.hpp ! test/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/gc/shenandoah/options/TestWrongBarrierDisable.java Changeset: 96a982067b9f Author: rkennke Date: 2019-04-08 18:42 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/96a982067b9f [backport] 8222129: Shenandoah: Missing CompareAndSwapP/N case in get_barrier_strength() Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: a8ae1b2a6b99 Author: shade Date: 2019-05-07 16:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a8ae1b2a6b99 [backport] 8223448: Shenandoah disabled barriers blocks omit LRB Reviewed-by: rkennke ! src/share/vm/runtime/arguments.cpp Changeset: 8258467f66ee Author: rkennke Date: 2019-05-23 17:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/8258467f66ee [backport] 8224667: Shenandoah: Post-LRB cleanup Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC2.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC2.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: 077b642d9aa9 Author: roland Date: 2019-07-29 13:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/077b642d9aa9 [backport] LRB right after call, use is Bool ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: 67b133abf376 Author: rkennke Date: 2019-07-31 10:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/67b133abf376 [backport] 8228775: Shenandoah: Remove useless null-input-verification in Shenandoah/C2 verifier Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: c74df59bb0f5 Author: rkennke Date: 2019-07-31 12:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c74df59bb0f5 [backport] Relax Shenandoah/C2 verifier against JDK11 shortcomings ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: 0947da41a3fe Author: rkennke Date: 2019-08-02 11:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/0947da41a3fe [backport] 8229002: Shenandoah: Missing node types in ShenandoahLoadReferenceBarrier::needs_barrier_impl() Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: d72c41adb513 Author: roland Date: 2019-05-02 20:47 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d72c41adb513 [backport] 8222738: Shenandoah: assert(is_Proj()) failed when running cometd benchmarks Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: 818d977d1b7c Author: shade Date: 2019-05-22 21:40 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/818d977d1b7c [backport] 8224522: Shenandoah should apply barriers on deoptimization Reviewed-by: rkennke, zgu ! src/share/vm/runtime/stackValue.cpp Changeset: 04fce1bceb31 Author: roland Date: 2019-05-22 10:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/04fce1bceb31 [backport] 8224496: Shenandoah compilation fails with assert(is_CountedLoopEnd()) failed: invalid node class Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp From shade at redhat.com Wed Oct 23 18:17:45 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 20:17:45 +0200 Subject: RFR (XS) 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than allocated recently" Message-ID: <97e90b6e-524b-99d0-9d15-464c23553d28@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8232908 See the discussion in the bug. The fix is to remove the offending trigger: diff -r da4578a0f73d src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Mon Sep 30 22:39:11 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Wed Oct 23 20:14:48 2019 +0200 @@ -66,11 +66,4 @@ } - if (available < threshold_bytes_allocated) { - log_info(gc)("Trigger: Free (" SIZE_FORMAT "%s) is lower than allocated recently (" SIZE_FORMAT "%s)", - byte_size_in_proper_unit(available), proper_unit_for_byte_size(available), - byte_size_in_proper_unit(threshold_bytes_allocated), proper_unit_for_byte_size(threshold_bytes_allocated)); - return true; - } - size_t bytes_allocated = heap->bytes_allocated_since_gc_start(); if (bytes_allocated > threshold_bytes_allocated) { Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Wed Oct 23 19:07:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 21:07:28 +0200 Subject: [8] RFR: Fix Windows build after LRB backports Message-ID: Current sh/jdk8 build fails on Windows with: ...windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahRuntime.cpp(32) : error C2220: warning treated as error - no 'object' file generated Fix: diff -r 04fce1bceb31 src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed May 22 10:11:04 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 20:57:12 2019 +0200 @@ -27,16 +27,18 @@ #include "runtime/interfaceSupport.hpp" #include "oops/oop.inline.hpp" void ShenandoahRuntime::write_ref_array_pre_oop_entry(oop* dst, size_t length) { ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); - bs->write_ref_array_pre(dst, length, false); + assert(length <= INT_MAX, err_msg("sanity: " SIZE_FORMAT, length)); + bs->write_ref_array_pre(dst, (int)length, false); } void ShenandoahRuntime::write_ref_array_pre_narrow_oop_entry(narrowOop* dst, size_t length) { ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); - bs->write_ref_array_pre(dst, length, false); + assert(length <= INT_MAX, err_msg("sanity: " SIZE_FORMAT, length)); + bs->write_ref_array_pre(dst, (int)length, false); } void ShenandoahRuntime::write_ref_array_post_entry(HeapWord* dst, size_t length) { ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); bs->ShenandoahBarrierSet::write_ref_array(dst, length); Testing: build (Linux, Windows); hotspot_gc_shenandoah (Linux) -- Thanks, -Aleksey From shade at redhat.com Wed Oct 23 19:20:34 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 23 Oct 2019 21:20:34 +0200 Subject: [8] RFR: Fix leftover commented out code in ShenandoahRuntime::load_reference_barrier_JRT Message-ID: <2eb21cc1-920a-92f9-0623-a74f3531f6c1@redhat.com> Another problem in sh/jdk8, leftover commented code that is supposed to be a production code. diff -r e1961573bf06 src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 20:57:10 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 21:16:34 2019 +0200 @@ -58,8 +58,6 @@ JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier_JRT(oopDesc* src)) - oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier(oop(src)); + oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(oop(src)); return (oopDesc*) result; -// oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(oop(src)); -// return (oopDesc*) result; JRT_END Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 23 20:48:20 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 22:48:20 +0200 Subject: [8] RFR: Fix Windows build after LRB backports In-Reply-To: References: Message-ID: <4f5fb51f-beb3-a06a-97e9-e70f0eac2134@redhat.com> Yup Thanks, Roman > Current sh/jdk8 build fails on Windows with: > > ...windows\worker\shenandoah-jdk8-windows\build\hotspot\src\share\vm\gc_implementation\shenandoah\shenandoahRuntime.cpp(32) > : error C2220: warning treated as error - no 'object' file generated > > Fix: > > diff -r 04fce1bceb31 src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed May 22 10:11:04 2019 +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 20:57:12 2019 +0200 > @@ -27,16 +27,18 @@ > #include "runtime/interfaceSupport.hpp" > #include "oops/oop.inline.hpp" > > void ShenandoahRuntime::write_ref_array_pre_oop_entry(oop* dst, size_t length) { > ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); > - bs->write_ref_array_pre(dst, length, false); > + assert(length <= INT_MAX, err_msg("sanity: " SIZE_FORMAT, length)); > + bs->write_ref_array_pre(dst, (int)length, false); > } > > void ShenandoahRuntime::write_ref_array_pre_narrow_oop_entry(narrowOop* dst, size_t length) { > ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); > - bs->write_ref_array_pre(dst, length, false); > + assert(length <= INT_MAX, err_msg("sanity: " SIZE_FORMAT, length)); > + bs->write_ref_array_pre(dst, (int)length, false); > } > > void ShenandoahRuntime::write_ref_array_post_entry(HeapWord* dst, size_t length) { > ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set(); > bs->ShenandoahBarrierSet::write_ref_array(dst, length); > > > Testing: build (Linux, Windows); hotspot_gc_shenandoah (Linux) > From rkennke at redhat.com Wed Oct 23 20:48:55 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 22:48:55 +0200 Subject: [8] RFR: Fix leftover commented out code in ShenandoahRuntime::load_reference_barrier_JRT In-Reply-To: <2eb21cc1-920a-92f9-0623-a74f3531f6c1@redhat.com> References: <2eb21cc1-920a-92f9-0623-a74f3531f6c1@redhat.com> Message-ID: <74f78713-b504-f628-0b19-8da5743a17ec@redhat.com> Oh, oops. Yes, please do that. Roman > Another problem in sh/jdk8, leftover commented code that is supposed to be a production code. > > diff -r e1961573bf06 src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 20:57:10 2019 +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Wed Oct 23 21:16:34 2019 +0200 > @@ -58,8 +58,6 @@ > > JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier_JRT(oopDesc* src)) > - oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier(oop(src)); > + oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(oop(src)); > return (oopDesc*) result; > -// oop result = ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(oop(src)); > -// return (oopDesc*) result; > JRT_END > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Wed Oct 23 20:50:11 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 23 Oct 2019 22:50:11 +0200 Subject: RFR (XS) 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than allocated recently" In-Reply-To: <97e90b6e-524b-99d0-9d15-464c23553d28@redhat.com> References: <97e90b6e-524b-99d0-9d15-464c23553d28@redhat.com> Message-ID: <21225bdb-381b-44b7-030d-0b147ca1b5fd@redhat.com> Ok, good. Thanks, Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8232908 > > See the discussion in the bug. The fix is to remove the offending trigger: > > diff -r da4578a0f73d src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp > --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Mon Sep 30 > 22:39:11 2019 +0200 > +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp Wed Oct 23 > 20:14:48 2019 +0200 > @@ -66,11 +66,4 @@ > } > > - if (available < threshold_bytes_allocated) { > - log_info(gc)("Trigger: Free (" SIZE_FORMAT "%s) is lower than allocated recently (" SIZE_FORMAT > "%s)", > - byte_size_in_proper_unit(available), > proper_unit_for_byte_size(available), > - byte_size_in_proper_unit(threshold_bytes_allocated), > proper_unit_for_byte_size(threshold_bytes_allocated)); > - return true; > - } > - > size_t bytes_allocated = heap->bytes_allocated_since_gc_start(); > if (bytes_allocated > threshold_bytes_allocated) { > > > Testing: hotspot_gc_shenandoah > From shade at redhat.com Wed Oct 23 20:51:15 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 23 Oct 2019 20:51:15 +0000 Subject: hg: shenandoah/jdk8/hotspot: 2 new changesets Message-ID: <201910232051.x9NKpFKv020939@aojmv0008.oracle.com> Changeset: e1961573bf06 Author: shade Date: 2019-10-23 20:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e1961573bf06 Fix Windows build after LRB backports ! src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp Changeset: b988f0d15442 Author: shade Date: 2019-10-23 21:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b988f0d15442 Fix leftover commented out code in ShenandoahRuntime::load_reference_barrier_JRT ! src/share/vm/gc_implementation/shenandoah/shenandoahRuntime.cpp From shade at redhat.com Thu Oct 24 08:36:50 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 10:36:50 +0200 Subject: [8] RFR: Revert ShenandoahVerifyObjectEquals additions, not required after LRB Message-ID: Another leftover in sh/jdk8 that causes bogus testing failures. This reverts oopsHierarchy.hpp to upstream state. The flag itself would be removed in a future backport from jdk/jdk. diff -r b988f0d15442 src/share/vm/oops/oopsHierarchy.hpp --- a/src/share/vm/oops/oopsHierarchy.hpp Wed Oct 23 21:15:44 2019 +0200 +++ b/src/share/vm/oops/oopsHierarchy.hpp Thu Oct 24 10:36:09 2019 +0200 @@ -28,7 +28,4 @@ #include "runtime/globals.hpp" #include "utilities/globalDefinitions.hpp" -#if INCLUDE_ALL_GCS -#include "gc_implementation/shenandoah/shenandoah_globals.hpp" -#endif // OBJECT hierarchy @@ -103,21 +100,7 @@ // General access oopDesc* operator->() const { return obj(); } - bool operator==(const oop o) const { -#if INCLUDE_ALL_GCS - if (ShenandoahVerifyObjectEquals) { - ShouldNotReachHere(); - } -#endif - return obj() == o.obj(); - } + bool operator==(const oop o) const { return obj() == o.obj(); } bool operator==(void *p) const { return obj() == p; } - bool operator!=(const volatile oop o) const { -#if INCLUDE_ALL_GCS - if (ShenandoahVerifyObjectEquals) { - ShouldNotReachHere(); - } -#endif - return obj() != o.obj(); - } + bool operator!=(const volatile oop o) const { return obj() != o.obj(); } bool operator!=(void *p) const { return obj() != p; } Testing: build, affected tests with -XX:+ShenandoahVerifyObjectEquals. -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 24 09:23:40 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 11:23:40 +0200 Subject: [8] RFR: Revert ShenandoahVerifyObjectEquals additions, not required after LRB In-Reply-To: References: Message-ID: <83a832a8-cbda-b1d5-146b-24751edd74a0@redhat.com> Yes. Oversight on my part. Thanks, Roman > Another leftover in sh/jdk8 that causes bogus testing failures. This reverts oopsHierarchy.hpp to > upstream state. The flag itself would be removed in a future backport from jdk/jdk. > > diff -r b988f0d15442 src/share/vm/oops/oopsHierarchy.hpp > --- a/src/share/vm/oops/oopsHierarchy.hpp Wed Oct 23 21:15:44 2019 +0200 > +++ b/src/share/vm/oops/oopsHierarchy.hpp Thu Oct 24 10:36:09 2019 +0200 > @@ -28,7 +28,4 @@ > #include "runtime/globals.hpp" > #include "utilities/globalDefinitions.hpp" > -#if INCLUDE_ALL_GCS > -#include "gc_implementation/shenandoah/shenandoah_globals.hpp" > -#endif > > // OBJECT hierarchy > @@ -103,21 +100,7 @@ > // General access > oopDesc* operator->() const { return obj(); } > - bool operator==(const oop o) const { > -#if INCLUDE_ALL_GCS > - if (ShenandoahVerifyObjectEquals) { > - ShouldNotReachHere(); > - } > -#endif > - return obj() == o.obj(); > - } > + bool operator==(const oop o) const { return obj() == o.obj(); } > bool operator==(void *p) const { return obj() == p; } > - bool operator!=(const volatile oop o) const { > -#if INCLUDE_ALL_GCS > - if (ShenandoahVerifyObjectEquals) { > - ShouldNotReachHere(); > - } > -#endif > - return obj() != o.obj(); > - } > + bool operator!=(const volatile oop o) const { return obj() != o.obj(); } > bool operator!=(void *p) const { return obj() != p; } > > Testing: build, affected tests with -XX:+ShenandoahVerifyObjectEquals. > From shade at redhat.com Thu Oct 24 09:41:16 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 24 Oct 2019 09:41:16 +0000 Subject: hg: shenandoah/jdk8/hotspot: Revert ShenandoahVerifyObjectEquals additions, not required after LRB Message-ID: <201910240941.x9O9fHMD012290@aojmv0008.oracle.com> Changeset: 65c20f84209c Author: shade Date: 2019-10-24 10:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/65c20f84209c Revert ShenandoahVerifyObjectEquals additions, not required after LRB ! src/share/vm/oops/oopsHierarchy.hpp From shade at redhat.com Thu Oct 24 11:01:36 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 13:01:36 +0200 Subject: [8] RFR: Remove StubRoutines::_shenandoah_wb_C and related code Message-ID: <03a546f9-817d-a06a-d101-8de855469c99@redhat.com> This is not needed after LRB integration: https://cr.openjdk.java.net/~shade/shenandoah/8u-remove-sh-wb-c/webrev.01/ Testing: hotspot_gc_shenandoah -- Thanks, -Aleksey From shade at redhat.com Thu Oct 24 11:31:16 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 13:31:16 +0200 Subject: [8] RFR: Fix Zero build after LRB backport moves, remove other stubs Message-ID: <701182c0-e1d4-287d-a50b-fc31ff36225b@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/8u-lrb-fix-zero/webrev.01/ 8u is very sensitive to build configuration for platforms that do not enable Shenandoah. This patch rewires the build to succeed when C1/C2 is disabled, like in Zero. Also removes the obsolete shenandoahBarrierSet implementations that were there for alternative platforms. Testing: x86_64 {server, zero} builds; x86_64 server hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 24 13:26:04 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 15:26:04 +0200 Subject: [8] RFR: Remove StubRoutines::_shenandoah_wb_C and related code In-Reply-To: <03a546f9-817d-a06a-d101-8de855469c99@redhat.com> References: <03a546f9-817d-a06a-d101-8de855469c99@redhat.com> Message-ID: <51b94998-2a9e-5451-0109-9dc3171755a4@redhat.com> Looks good, thanks! We should consider changing the calls in 11 and 14 too, and get rid of the stub there, so that all releases are in sync. Roman > This is not needed after LRB integration: > https://cr.openjdk.java.net/~shade/shenandoah/8u-remove-sh-wb-c/webrev.01/ > > Testing: hotspot_gc_shenandoah > From rkennke at redhat.com Thu Oct 24 13:27:23 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 15:27:23 +0200 Subject: [8] RFR: Fix Zero build after LRB backport moves, remove other stubs In-Reply-To: <701182c0-e1d4-287d-a50b-fc31ff36225b@redhat.com> References: <701182c0-e1d4-287d-a50b-fc31ff36225b@redhat.com> Message-ID: <41fd45b6-89b6-0ff9-d22b-ac4d1aaf2fad@redhat.com> Ok. Thanks, Roman > https://cr.openjdk.java.net/~shade/shenandoah/8u-lrb-fix-zero/webrev.01/ > > 8u is very sensitive to build configuration for platforms that do not enable Shenandoah. This patch > rewires the build to succeed when C1/C2 is disabled, like in Zero. Also removes the obsolete > shenandoahBarrierSet implementations that were there for alternative platforms. > > Testing: x86_64 {server, zero} builds; x86_64 server hotspot_gc_shenandoah > From shade at redhat.com Thu Oct 24 13:28:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 15:28:28 +0200 Subject: [11] RFR: 2019-10-24, bulk backports to sh/jdk11 Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191024/webrev.01/ This bunch includes: [backport] 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases [backport] 8232575: Shenandoah: asynchronous object/region pinning [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals [backport] 8232730: Shenandoah: Traversal should not CAS the roots [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned [backport] 8232791: Shenandoah: passive mode should disable pacing [backport] 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than allocated recently" Testing: it passed a few nightlies in jdk/jdk; hotspot_gc_shenandoah {fastdebug, release} -- Thanks, -Aleksey From shade at redhat.com Thu Oct 24 13:29:00 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 24 Oct 2019 13:29:00 +0000 Subject: hg: shenandoah/jdk8/hotspot: 2 new changesets Message-ID: <201910241329.x9ODT0hv014050@aojmv0008.oracle.com> Changeset: 24f3a673bee4 Author: shade Date: 2019-10-24 12:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/24f3a673bee4 Remove StubRoutines::_shenandoah_wb_C and related code ! src/share/vm/opto/lcm.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp Changeset: 704f605efe4c Author: shade Date: 2019-10-24 13:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/704f605efe4c Fix Zero build after LRB backport moves, remove other stubs ! make/linux/makefiles/vm.make - src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp - src/cpu/sparc/vm/shenandoahBarrierSet_sparc.cpp - src/cpu/zero/vm/shenandoahBarrierSet_zero.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetAssembler_stub.hpp ! src/share/vm/utilities/macros.hpp From rkennke at redhat.com Thu Oct 24 14:49:51 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 16:49:51 +0200 Subject: RFR: Pick up jdk-14+20 Message-ID: <6a6b466b-7db4-471b-ef30-dba14805d0a3@redhat.com> Let's pick up jdk-14+20. Merge was simple with 2 easy to fix conflicts in Shenandoah code. List of changes: http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-10-24/changes.txt Testing: hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Thu Oct 24 15:50:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 17:50:05 +0200 Subject: RFR: Pick up jdk-14+20 In-Reply-To: <6a6b466b-7db4-471b-ef30-dba14805d0a3@redhat.com> References: <6a6b466b-7db4-471b-ef30-dba14805d0a3@redhat.com> Message-ID: <329011aa-f530-45b7-f05c-17433429ba4f@redhat.com> On 10/24/19 4:49 PM, Roman Kennke wrote: > Let's pick up jdk-14+20. Merge was simple with 2 easy to fix conflicts > in Shenandoah code. > > List of changes: > http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-10-24/changes.txt OK, let's do it. -- Thanks, -Aleksey From shade at redhat.com Thu Oct 24 16:17:49 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 18:17:49 +0200 Subject: [8] RFR: Save vector registers before LRB slowpath call Message-ID: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> jcstress caught a failure in sh/jdk8: $ build/linux-x86_64-normal-server-fastdebug/images/j2sdk-image/bin/java -jar jcstress-tests-all-20190811.jar --jvmArgs "-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:TieredStopAtLevel=1 -XX:ShenandoahGCHeuristics=aggressive" -t tearing.buffers.FloatBufferInterleaveTest 1 matching test results. [FAILED] o.o.j.t.tearing.buffers.FloatBufferInterleaveTest (JVM args: [-XX:+UnlockExperimentalVMOptions, -XX:+UseShenandoahGC, -XX:TieredStopAtLevel=1, -XX:ShenandoahGCHeuristics=aggressive]) Observed state Occurrences Expectation Interpretation 0, 128, 128 883,871 ACCEPTABLE Seeing all updates intact. 0, 129, 127 42 FORBIDDEN No default case provided, assume FORBIDDEN 1, 127, 128 141 FORBIDDEN No default case provided, assume FORBIDDEN 1, 128, 127 144 FORBIDDEN No default case provided, assume FORBIDDEN 2, 127, 127 93 FORBIDDEN No default case provided, assume FORBIDDEN Roman suggested we are not caring enough about xmm registers around LRB slowpath call, and indeed we are not. This is the fix: https://cr.openjdk.java.net/~shade/shenandoah/8u-lrb-xmm-save/webrev.01/ Testing: hotspot_gc_shenandoah; affected jcstress tests -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 24 16:38:10 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 18:38:10 +0200 Subject: [8] RFR: Save vector registers before LRB slowpath call In-Reply-To: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> References: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> Message-ID: <5D7465E1-6A53-490C-926C-CA7E17EFD38A@redhat.com> Have you checked aarch64? Am 24. Oktober 2019 18:17:49 MESZ schrieb Aleksey Shipilev : >jcstress caught a failure in sh/jdk8: > >$ >build/linux-x86_64-normal-server-fastdebug/images/j2sdk-image/bin/java >-jar >jcstress-tests-all-20190811.jar --jvmArgs >"-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC >-XX:TieredStopAtLevel=1 -XX:ShenandoahGCHeuristics=aggressive" -t >tearing.buffers.FloatBufferInterleaveTest > > 1 matching test results. > [FAILED] o.o.j.t.tearing.buffers.FloatBufferInterleaveTest >(JVM args: [-XX:+UnlockExperimentalVMOptions, -XX:+UseShenandoahGC, >-XX:TieredStopAtLevel=1, >-XX:ShenandoahGCHeuristics=aggressive]) > Observed state Occurrences Expectation Interpretation > > 0, 128, 128 883,871 ACCEPTABLE Seeing all updates intact. > >0, 129, 127 42 FORBIDDEN No default case provided, >assume FORBIDDEN > >1, 127, 128 141 FORBIDDEN No default case provided, >assume FORBIDDEN > >1, 128, 127 144 FORBIDDEN No default case provided, >assume FORBIDDEN > >2, 127, 127 93 FORBIDDEN No default case provided, >assume FORBIDDEN > > >Roman suggested we are not caring enough about xmm registers around LRB >slowpath call, and indeed we >are not. This is the fix: >https://cr.openjdk.java.net/~shade/shenandoah/8u-lrb-xmm-save/webrev.01/ > >Testing: hotspot_gc_shenandoah; affected jcstress tests > >-- >Thanks, >-Aleksey -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From shade at redhat.com Thu Oct 24 16:45:08 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 18:45:08 +0200 Subject: [8] RFR: Save vector registers before LRB slowpath call In-Reply-To: <5D7465E1-6A53-490C-926C-CA7E17EFD38A@redhat.com> References: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> <5D7465E1-6A53-490C-926C-CA7E17EFD38A@redhat.com> Message-ID: On 10/24/19 6:38 PM, Roman Kennke wrote: > Have you checked aarch64? aarch64 seems to call (push|pop)_call_clobbered_registers, which includes FPU registers. Not sure it saves the vector registers, though. However, back to x86, I see that this one: https://bugs.openjdk.java.net/browse/JDK-8229977 ...also saves FPU state. Do we have to do the same here? -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 24 17:10:30 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 24 Oct 2019 19:10:30 +0200 Subject: [8] RFR: Save vector registers before LRB slowpath call In-Reply-To: References: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> <5D7465E1-6A53-490C-926C-CA7E17EFD38A@redhat.com> Message-ID: >> Have you checked aarch64? > > aarch64 seems to call (push|pop)_call_clobbered_registers, which includes FPU registers. > Not sure it saves the vector registers, though. I think it's ok then. > However, back to x86, I see that this one: > https://bugs.openjdk.java.net/browse/JDK-8229977 > > ...also saves FPU state. Do we have to do the same here? Uuuhhhm. I don't actually recall. CAS/CAE doesn't actually use the LRB-stub as the bug says, or maybe I don't see it. Anyhow, the stub is not present in 8u, and if it *did* use it somehow, it would go through the path that you just fixed. Roman From shade at redhat.com Thu Oct 24 17:24:21 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 24 Oct 2019 17:24:21 +0000 Subject: hg: shenandoah/jdk8/hotspot: Save vector registers before LRB slowpath call Message-ID: <201910241724.x9OHOLrl004823@aojmv0008.oracle.com> Changeset: 5d8698318219 Author: shade Date: 2019-10-24 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/5d8698318219 Save vector registers before LRB slowpath call ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.hpp From shade at redhat.com Thu Oct 24 17:24:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 24 Oct 2019 19:24:28 +0200 Subject: [8] RFR: Save vector registers before LRB slowpath call In-Reply-To: References: <7d3ea3b4-2308-9d21-6b2f-7223564bbee4@redhat.com> <5D7465E1-6A53-490C-926C-CA7E17EFD38A@redhat.com> Message-ID: On 10/24/19 7:10 PM, Roman Kennke wrote: > Uuuhhhm. I don't actually recall. CAS/CAE doesn't actually use the > LRB-stub as the bug says, or maybe I don't see it. Anyhow, the stub is > not present in 8u, and if it *did* use it somehow, it would go through > the path that you just fixed. Ok then, pushed. -- Thanks, -Aleksey From shade at redhat.com Fri Oct 25 08:38:34 2019 From: shade at redhat.com (shade at redhat.com) Date: Fri, 25 Oct 2019 08:38:34 +0000 Subject: hg: shenandoah/jdk8/hotspot: Avoid initializing unused SharedHeap::_workers for Shenandoah Message-ID: <201910250838.x9P8cYn8009501@aojmv0008.oracle.com> Changeset: dae45258de89 Author: shade Date: 2019-10-25 10:23 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/dae45258de89 Avoid initializing unused SharedHeap::_workers for Shenandoah ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/memory/sharedHeap.cpp From shade at redhat.com Fri Oct 25 08:39:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 10:39:05 +0200 Subject: [8u] RFR: Avoid initializing unused SharedHeap::_workers for Shenandoah In-Reply-To: <3751801c-7fc1-40ff-427b-3f7b3a3736d1@redhat.com> References: <0935cc77-28ab-9cbe-9eb0-39dc89f83217@redhat.com> <3751801c-7fc1-40ff-427b-3f7b3a3736d1@redhat.com> Message-ID: <106a9c4d-3488-f4a1-c401-8af6976ea259@redhat.com> Almost forgot to push this to sh/jdk8 after CPU work was done. Did so now. -- Thanks, -Aleksey On 10/11/19 6:59 PM, Roman Kennke wrote: > Good. > > Thanks, > Roman > > >> This is 8u-specific fix. The underlying reason for it was resolved since 9 with JDK-8076454. >> >> Roman noticed during 8u debugging that we have two sets of GC workers. One comes from >> SharedHeap::_workers, and another comes from ShenandoahHeap::_workers. We do that to implement our >> own ShenandoahWorkGang. Unfortunately, that means SharedHeap::_workers gets initialized, takes >> memory and is not used. Moreover, the codepaths that take SharedHeap::workers() would use the wrong >> set of workers! Oops. >> >> The way out is to stop initializing SharedHeap::_workers in shared code, and do that during >> Shenandoah initialization: >> https://cr.openjdk.java.net/~shade/shenandoah/8u-double-workers/webrev.01/ >> >> The improvement is clearly visible with NMT: >> >> NMT (before): >> >> Thread (reserved=49387KB, committed=49387KB) >> (thread #49) >> (stack: reserved=49176KB, committed=49176KB) >> (malloc=155KB #268) >> (arena=56KB #84) >> >> NMT (after): >> >> Thread (reserved=36021KB, committed=36021KB) >> (thread #36) >> (stack: reserved=35864KB, committed=35864KB) >> (malloc=116KB #190) >> (arena=41KB #58) >> >> Testing: hotspot_gc_shenandoah {fastdebug, release}, eyeballing NMT logs From shade at redhat.com Fri Oct 25 10:16:52 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 12:16:52 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? Message-ID: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> I believe EA in sh/jdk8 is borked. This reproduces reliably with sh/jdk8 with Shenandoah enabled. It does not reproduce with sh/jdk11 or jdk/jdk. $ hg diff diff -r 2b8e8b2f5181 src/share/vm/opto/escape.cpp --- a/src/share/vm/opto/escape.cpp Tue Aug 13 14:59:29 2019 +0200 +++ b/src/share/vm/opto/escape.cpp Fri Oct 25 12:10:22 2019 +0200 @@ -3005,10 +3005,11 @@ #endif _compile->record_failure(C2Compiler::retry_no_escape_analysis()); return; } else { Node *val = get_map(jobj->idx()); // CheckCastPP node + assert(n->is_Type(), err_msg("sanity: %s", NodeClassNames[n->Opcode()])); TypeNode *tn = n->as_Type(); const TypeOopPtr* tinst = igvn->type(val)->isa_oopptr(); assert(tinst != NULL && tinst->is_known_instance() && tinst->instance_id() == jobj->idx() , "instance type expected."); $ build/linux-x86_64-normal-server-slowdebug/images/j2sdk-image/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -jar ~/Downloads/renaissance-gpl-0.10.0.jar neo4j-analytics -r 5 Checking previous DB remnants in /home/shade/trunks/shenandoah-jdk8/target/modules/neo4j/neo4j-analytics.db DB remnants detected, deleting ... Creating indices... Populating vertices... # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/escape.cpp:3011 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/shade/trunks/shenandoah-jdk8/hotspot/src/share/vm/opto/escape.cpp:3011), pid=473, tid=0x00007feef63aa700 # assert(n->is_Type()) failed: sanity: ShenandoahLoadReferenceBarrier # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-debug-shade_2019_10_25_11_54-b00) # Java VM: OpenJDK 64-Bit Server VM (25.71-b00-debug mixed mode linux-amd64 compressed oops) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /home/shade/trunks/shenandoah-jdk8/hs_err_pid473.log # # Compiler replay data is saved as: # /home/shade/trunks/shenandoah-jdk8/replay_pid473.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # Current thread is 140664309982976 Dumping core ... Aborted (core dumped) -- Thanks, -Aleksey From shade at redhat.com Fri Oct 25 13:01:53 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 15:01:53 +0200 Subject: [8] Heads-up: LRB strength selector needs to consider MemBar nodes? Message-ID: This happens in sh/jdk8 only. But it might indicate we need to consider MemBar nodes in the ShenandoahLoadReferenceBarrierNode::get_barrier_strength in all releases? $ build/linux-x86_64-normal-server-slowdebug/images/j2sdk-image/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -jar ~/Downloads/renaissance-mit-0.9.0.jar akka-uct -r 5 ====== akka-uct (actors), iteration 0 started ====== Unknown node in get_barrier_strength: 2141 ShenandoahLoadReferenceBarrier === _ 2142 [[ 2135 2140 2211 ]] Oop:scala/concurrent/forkjoin/ForkJoinTask * !orig=284 !jvms: ForkJoinPool::scan @ bci:162 2208 Proj === 2209 [[ 2143 2211 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !orig=280 !jvms: ForkJoinPool::scan @ bci:162 2255 Proj === 2209 [[ 2143 2211 ]] #0 !orig=279 !jvms: ForkJoinPool::scan @ bci:162 2211 MemBarAcquire === 2255 1 2208 1 1 2141 [[ 2210 2254 ]] !orig=285 !jvms: ForkJoinPool::scan @ bci:162 # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/shenandoahSupport.cpp:2969 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/home/shade/trunks/shenandoah-jdk8/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp:2969), pid=31711, tid=0x00007fd69a4ab700 # Error: ShouldNotReachHere() # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-debug-shade_2019_10_25_11_54-b00) # Java VM: OpenJDK 64-Bit Server VM (25.71-b00-debug mixed mode linux-amd64 compressed oops) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /home/shade/trunks/shenandoah-jdk8/hs_err_pid31711.log # # Compiler replay data is saved as: # /home/shade/trunks/shenandoah-jdk8/replay_pid31711.log # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # Current thread is 140559688316672 Dumping core ... Aborted (core dumped) -- Thanks, -Aleksey From zgu at redhat.com Fri Oct 25 14:29:08 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 25 Oct 2019 10:29:08 -0400 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB Message-ID: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> Please review this patch that implements self-fixing interpreter LRB. Bug: https://bugs.openjdk.java.net/browse/JDK-8232992 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on Linux aarch64 Linux Windows x86_64 Thanks, -Zhengyu From shade at redhat.com Fri Oct 25 14:48:17 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 16:48:17 +0200 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> Message-ID: <6ba6da68-c48f-24b1-7ca3-d2bd8a46c4b8@redhat.com> On 10/25/19 4:29 PM, Zhengyu Gu wrote: > Please review this patch that implements self-fixing interpreter LRB. > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8232992 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.00/ *) I believe we can drop "fixup" from ShenandoahRuntime::load_reference_barrier_fixup(_narrow), as there no not-fixup versions left. *) shenandoahBarrierSetAssembler_x86.cpp nit: space before parenthesis 346 if(setup_addr_first) { *) shenandoahBarrierSetAssembler_x86.cpp: why pop(thread) is in the middle here? 315 __ testb(gc_state, ShenandoahHeap::HAS_FORWARDED); 316 #ifndef _LP64 317 __ pop(thread); 318 #endif 319 __ jccb(Assembler::zero, done); *) shenandoahBarrierSetAssembler_x86.cpp: seems to me it is cleaner to initialize the boolean variable first, and then use it. Also, suggestion for name: "need_addr_setup". // Use rsi for src address const Register src_addr = rsi; bool need_addr_setup = (src_addr != dst); if (need_addr_setup) { ... } else { ... } __ call(RuntimeAddress(CAST_FROM_FN_PTR(...); if (need_addr_setup) { ... *) shenandoahBarrierSetAssembler_x86.cpp, shenandoahBarrierSetAssembler_aarch64.cpp: since this code now uses rscratch1, it has to assert that registers do not clash. For example with: assert_different_registers(dst, rscratch1, rscratch2); *) shenandoahBarrierSetC2.cpp: this change looks like a bug fix for matching _narrow. Please RFR it separately, it should go in sooner. -- Thanks, -Aleksey From rwestrel at redhat.com Fri Oct 25 15:11:19 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 25 Oct 2019 17:11:19 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? In-Reply-To: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> References: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> Message-ID: <874kzw5088.fsf@redhat.com> Signatures of Value and Identity is wrong so they are never called. See patch below. Roland. diff -r dae45258de89 src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Fri Oct 25 10:23:13 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Fri Oct 25 17:10:19 2019 +0200 @@ -2737,7 +2737,7 @@ return t->is_oopptr(); } -const Type* ShenandoahLoadReferenceBarrierNode::Value(PhaseGVN* phase) const { +const Type* ShenandoahLoadReferenceBarrierNode::Value(PhaseTransform *phase) const { // Either input is TOP ==> the result is TOP const Type *t2 = phase->type(in(ValueIn)); if( t2 == Type::TOP ) return Type::TOP; @@ -2750,7 +2750,7 @@ return type; } -Node* ShenandoahLoadReferenceBarrierNode::Identity(PhaseGVN* phase) { +Node* ShenandoahLoadReferenceBarrierNode::Identity(PhaseTransform *phase) { Node* value = in(ValueIn); if (!needs_barrier(phase, value)) { return value; @@ -2758,12 +2758,12 @@ return this; } -bool ShenandoahLoadReferenceBarrierNode::needs_barrier(PhaseGVN* phase, Node* n) { +bool ShenandoahLoadReferenceBarrierNode::needs_barrier(PhaseTransform* phase, Node* n) { Unique_Node_List visited; return needs_barrier_impl(phase, n, visited); } -bool ShenandoahLoadReferenceBarrierNode::needs_barrier_impl(PhaseGVN* phase, Node* n, Unique_Node_List &visited) { +bool ShenandoahLoadReferenceBarrierNode::needs_barrier_impl(PhaseTransform* phase, Node* n, Unique_Node_List &visited) { if (n == NULL) return false; if (visited.member(n)) { return false; // Been there. diff -r dae45258de89 src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp Fri Oct 25 10:23:13 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp Fri Oct 25 17:10:19 2019 +0200 @@ -165,14 +165,14 @@ virtual int Opcode() const; virtual const Type* bottom_type() const; - virtual const Type* Value(PhaseGVN* phase) const; + virtual const Type* Value(PhaseTransform *phase) const; virtual const class TypePtr *adr_type() const { return TypeOopPtr::BOTTOM; } virtual uint match_edge(uint idx) const { return idx >= ValueIn; } virtual uint ideal_reg() const { return Op_RegP; } - virtual Node* Identity(PhaseGVN* phase); + virtual Node* Identity(PhaseTransform *phase); uint size_of() const { return sizeof(*this); @@ -182,8 +182,8 @@ CallStaticJavaNode* pin_and_expand_null_check(PhaseIterGVN& igvn); private: - bool needs_barrier(PhaseGVN* phase, Node* n); - bool needs_barrier_impl(PhaseGVN* phase, Node* n, Unique_Node_List &visited); + bool needs_barrier(PhaseTransform* phase, Node* n); + bool needs_barrier_impl(PhaseTransform* phase, Node* n, Unique_Node_List &visited); }; From shade at redhat.com Fri Oct 25 15:21:36 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 17:21:36 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? In-Reply-To: <874kzw5088.fsf@redhat.com> References: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> <874kzw5088.fsf@redhat.com> Message-ID: On 10/25/19 5:11 PM, Roland Westrelin wrote: > Signatures of Value and Identity is wrong so they are never called. See > patch below. Really. Oh boy! The patch looks fine, it fixes the failure for me. Please push it to sh/jdk8 under e.g. "Fix ShenandoahLoadReferenceBarrierNode::{Value, Identity} signatures after LRB backport". -- Thanks, -Aleksey From rwestrel at redhat.com Fri Oct 25 15:23:31 2019 From: rwestrel at redhat.com (rwestrel at redhat.com) Date: Fri, 25 Oct 2019 15:23:31 +0000 Subject: hg: shenandoah/jdk8/hotspot: Fix ShenandoahLoadReferenceBarrierNode::{Value, Identity} signatures after LRB backport Message-ID: <201910251523.x9PFNVmQ026977@aojmv0008.oracle.com> Changeset: e040b7d17b6f Author: roland Date: 2019-10-25 17:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e040b7d17b6f Fix ShenandoahLoadReferenceBarrierNode::{Value, Identity} signatures after LRB backport ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp From shade at redhat.com Fri Oct 25 15:24:03 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 25 Oct 2019 17:24:03 +0200 Subject: RFR (XS) 8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all LRB shapes Message-ID: Bug: https://bugs.openjdk.java.net/browse/JDK-8233021 See bug for explanation. Fix: http://cr.openjdk.java.net/~shade/8233021/webrev.01/ Testing: hotspot_gc_shenandoah; specjvm2008 with C2 verification turned on -- Thanks, -Aleksey From zgu at redhat.com Fri Oct 25 15:26:33 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 25 Oct 2019 11:26:33 -0400 Subject: RFR (XS) 8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all LRB shapes In-Reply-To: References: Message-ID: Looks good to me. Thanks, -Zhengyu On 10/25/19 11:24 AM, Aleksey Shipilev wrote: > Bug: > https://bugs.openjdk.java.net/browse/JDK-8233021 > > See bug for explanation. > > Fix: > http://cr.openjdk.java.net/~shade/8233021/webrev.01/ > > Testing: hotspot_gc_shenandoah; specjvm2008 with C2 verification turned on > From rwestrel at redhat.com Fri Oct 25 15:51:11 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 25 Oct 2019 17:51:11 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? In-Reply-To: References: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> <874kzw5088.fsf@redhat.com> Message-ID: <871rv04yds.fsf@redhat.com> > Please push it to sh/jdk8 under e.g. "Fix ShenandoahLoadReferenceBarrierNode::{Value, Identity} > signatures after LRB backport". Done. But this doesn't seem right either: diff -r e040b7d17b6f src/share/vm/opto/escape.cpp --- a/src/share/vm/opto/escape.cpp Fri Oct 25 17:22:36 2019 +0200 +++ b/src/share/vm/opto/escape.cpp Fri Oct 25 17:49:32 2019 +0200 @@ -2991,7 +2991,6 @@ n->is_CheckCastPP() || n->is_EncodeP() || n->is_DecodeN() || - n->Opcode() == Op_ShenandoahLoadReferenceBarrier || (n->is_ConstraintCast() && n->Opcode() == Op_CastPP)) { if (visited.test_set(n->_idx)) { assert(n->is_Phi(), "loops only through Phi's"); From rkennke at redhat.com Fri Oct 25 16:01:11 2019 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 25 Oct 2019 18:01:11 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? In-Reply-To: <871rv04yds.fsf@redhat.com> References: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> <874kzw5088.fsf@redhat.com> <871rv04yds.fsf@redhat.com> Message-ID: <5DC7B69A-176B-404F-ABFC-20E499047987@redhat.com> I only tried to do what 11 and up do there (it's done via GC interface in newer versions) Maybe I got it wrong though.? Roman Am 25. Oktober 2019 17:51:11 MESZ schrieb Roland Westrelin : > >> Please push it to sh/jdk8 under e.g. "Fix >ShenandoahLoadReferenceBarrierNode::{Value, Identity} >> signatures after LRB backport". > >Done. But this doesn't seem right either: > >diff -r e040b7d17b6f src/share/vm/opto/escape.cpp >--- a/src/share/vm/opto/escape.cpp Fri Oct 25 17:22:36 2019 +0200 >+++ b/src/share/vm/opto/escape.cpp Fri Oct 25 17:49:32 2019 +0200 >@@ -2991,7 +2991,6 @@ > n->is_CheckCastPP() || > n->is_EncodeP() || > n->is_DecodeN() || >- n->Opcode() == Op_ShenandoahLoadReferenceBarrier || > (n->is_ConstraintCast() && n->Opcode() == Op_CastPP)) { > if (visited.test_set(n->_idx)) { > assert(n->is_Phi(), "loops only through Phi's"); -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From rwestrel at redhat.com Fri Oct 25 16:04:50 2019 From: rwestrel at redhat.com (Roland Westrelin) Date: Fri, 25 Oct 2019 18:04:50 +0200 Subject: [8] Heads-up: Borked EA after LRB backports? In-Reply-To: <5DC7B69A-176B-404F-ABFC-20E499047987@redhat.com> References: <9239c0a7-bbc2-b0a6-c475-fab06428df22@redhat.com> <874kzw5088.fsf@redhat.com> <871rv04yds.fsf@redhat.com> <5DC7B69A-176B-404F-ABFC-20E499047987@redhat.com> Message-ID: <87y2x83j6l.fsf@redhat.com> > I only tried to do what 11 and up do there (it's done via GC interface in newer versions) Maybe I got it wrong though.? Sure but I don't see anything gc specific there in jdk/jdk. Roland. From zgu at redhat.com Sat Oct 26 00:34:38 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 25 Oct 2019 20:34:38 -0400 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <6ba6da68-c48f-24b1-7ca3-d2bd8a46c4b8@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> <6ba6da68-c48f-24b1-7ca3-d2bd8a46c4b8@redhat.com> Message-ID: <942c5c5d-fa2b-e14b-3319-0092d782da24@redhat.com> On 10/25/19 10:48 AM, Aleksey Shipilev wrote: > On 10/25/19 4:29 PM, Zhengyu Gu wrote: >> Please review this patch that implements self-fixing interpreter LRB. >> >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8232992 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.00/ > > *) I believe we can drop "fixup" from ShenandoahRuntime::load_reference_barrier_fixup(_narrow), as > there no not-fixup versions left. Sure. > > *) shenandoahBarrierSetAssembler_x86.cpp nit: space before parenthesis > > 346 if(setup_addr_first) { Fixed > > *) shenandoahBarrierSetAssembler_x86.cpp: why pop(thread) is in the middle here? > > 315 __ testb(gc_state, ShenandoahHeap::HAS_FORWARDED); > 316 #ifndef _LP64 > 317 __ pop(thread); > 318 #endif > 319 __ jccb(Assembler::zero, done); > I was worried about having to track 'thread', so just pop it after use and forget about it. But, yes, there is nothing to worry about, reverted. > *) shenandoahBarrierSetAssembler_x86.cpp: seems to me it is cleaner to initialize the boolean > variable first, and then use it. Also, suggestion for name: "need_addr_setup". > > // Use rsi for src address > const Register src_addr = rsi; > bool need_addr_setup = (src_addr != dst); > > if (need_addr_setup) { > ... > } else { > ... > } > > __ call(RuntimeAddress(CAST_FROM_FN_PTR(...); > > if (need_addr_setup) { > ... > Fixed > *) shenandoahBarrierSetAssembler_x86.cpp, shenandoahBarrierSetAssembler_aarch64.cpp: since this code > now uses rscratch1, it has to assert that registers do not clash. For example with: > > assert_different_registers(dst, rscratch1, rscratch2); We only need to use rscratch1 when dst == r1, and there is possibility that dst comes in in rscratch1 (see SBSA::load_at() method), I think current assertion (dst != rscratch2) is sufficient. However, we do need to ensure scratch registers are not used by load_addr, so added: assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); Updated: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.01/ Reran hotspot_gc_shenandoah tests (fastdebug and release) x86_64 and x86_32 on Linux aarch64 on Linux Thanks, -Zhengyu > > *) shenandoahBarrierSetC2.cpp: this change looks like a bug fix for matching _narrow. Please RFR it > separately, it should go in sooner. > From shade at redhat.com Sat Oct 26 10:09:55 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Sat, 26 Oct 2019 12:09:55 +0200 Subject: RFR: Pick up jdk-14+20 In-Reply-To: <329011aa-f530-45b7-f05c-17433429ba4f@redhat.com> References: <6a6b466b-7db4-471b-ef30-dba14805d0a3@redhat.com> <329011aa-f530-45b7-f05c-17433429ba4f@redhat.com> Message-ID: <61e76bcb-5ffd-4206-b143-5529e885c8b0@redhat.com> On 10/24/19 5:50 PM, Aleksey Shipilev wrote: > On 10/24/19 4:49 PM, Roman Kennke wrote: >> Let's pick up jdk-14+20. Merge was simple with 2 easy to fix conflicts >> in Shenandoah code. >> >> List of changes: >> http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-10-24/changes.txt > > OK, let's do it. Please push it, so weekend runs would get some testing. -- Thanks, -Aleksey From rkennke at redhat.com Sat Oct 26 10:11:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 26 Oct 2019 12:11:39 +0200 Subject: RFR: Pick up jdk-14+20 In-Reply-To: <61e76bcb-5ffd-4206-b143-5529e885c8b0@redhat.com> References: <6a6b466b-7db4-471b-ef30-dba14805d0a3@redhat.com> <329011aa-f530-45b7-f05c-17433429ba4f@redhat.com> <61e76bcb-5ffd-4206-b143-5529e885c8b0@redhat.com> Message-ID: <9D64F35B-E899-48DC-8C08-B7F996E1735A@redhat.com> Will do as soon as I get home. Sorry for delays I'm still fighting a lingering influenza... Roman Am 26. Oktober 2019 12:09:55 MESZ schrieb Aleksey Shipilev : >On 10/24/19 5:50 PM, Aleksey Shipilev wrote: >> On 10/24/19 4:49 PM, Roman Kennke wrote: >>> Let's pick up jdk-14+20. Merge was simple with 2 easy to fix >conflicts >>> in Shenandoah code. >>> >>> List of changes: >>> >http://cr.openjdk.java.net/~rkennke/upstream-jdk14-merge-2019-10-24/changes.txt >> >> OK, let's do it. > >Please push it, so weekend runs would get some testing. > >-- >Thanks, >-Aleksey -- Diese Nachricht wurde von meinem Android-Ger?t mit K-9 Mail gesendet. From rkennke at redhat.com Sat Oct 26 14:51:30 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Sat, 26 Oct 2019 14:51:30 +0000 Subject: hg: shenandoah/jdk: 139 new changesets Message-ID: <201910261451.x9QEpdxq023651@aojmv0008.oracle.com> Changeset: e69d6f076a6a Author: dtitov Date: 2019-10-14 11:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e69d6f076a6a 8227231: JDWP help information shows use of obsolete Xdebug flag Reviewed-by: dholmes, sspitsyn, amenkov ! src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c Changeset: cd9c4e6aa631 Author: redestad Date: 2019-10-14 20:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cd9c4e6aa631 8232165: Reduce allocations in ValueStack copying constructor Reviewed-by: neliasso, kvn ! src/hotspot/share/c1/c1_ValueStack.cpp ! src/hotspot/share/c1/c1_ValueStack.hpp ! src/hotspot/share/ci/ciMetadata.hpp Changeset: 90412c2a04c2 Author: lmesnik Date: 2019-10-14 12:22 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/90412c2a04c2 8231981: Refactor test definitions to split RT and SVC tests Reviewed-by: sspitsyn, dholmes ! test/hotspot/jtreg/TEST.groups Changeset: f28a9893d521 Author: mseledtsov Date: 2019-10-14 14:40 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f28a9893d521 8232224: [TESTBUG] problemlist JFR TestLargeRootSet.java Summary: Problem listed the test Reviewed-by: egahlin, dcubed ! test/jdk/ProblemList.txt Changeset: 45a085445a8c Author: fyang Date: 2019-10-11 16:52 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/45a085445a8c 8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop Summary: Duplicate cmp node in empty loop if it has other users Reviewed-by: neliasso, thartmann Contributed-by: wanghuang3 at huawei.com, xietuo at huawei.com ! src/hotspot/share/opto/loopTransform.cpp + test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyLoop.java Changeset: 97974e906efb Author: dholmes Date: 2019-10-14 22:20 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/97974e906efb 8232182: RedefineNestmateAttr/TestNestmateAttr.java failes due to ObjectCollectedException Reviewed-by: phh, sspitsyn ! test/jdk/com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java Changeset: 9770ff6f0b20 Author: mbaesken Date: 2019-10-10 14:20 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9770ff6f0b20 8232107: support ThreadPriorityPolicy flag on AIX Reviewed-by: clanger, dholmes ! src/hotspot/os/aix/os_aix.cpp Changeset: fd7e7bb190aa Author: clanger Date: 2019-07-09 15:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fd7e7bb190aa 8227441: Enhance logging when reading the fontconfig info file Reviewed-by: prr, mbaesken Contributed-by: matthias.baesken at sap.com, christoph.langer at sap.com ! src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java Changeset: da02c2254989 Author: prr Date: 2019-09-24 09:09 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/da02c2254989 8231243: [TESTBUG] CustomFont.java cannot find font file Reviewed-by: serb ! test/jdk/java/awt/print/PrinterJob/CustomFont/CustomFont.java Changeset: 2ddb4fc49ca6 Author: psadhukhan Date: 2019-09-25 14:52 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2ddb4fc49ca6 Merge - src/hotspot/os/linux/gc/z/zVirtualMemory_linux.cpp - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/inlining/PolymorphicInliningTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotClassInitializationPlugin.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NormalizeCompareNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java - src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java Changeset: fa9f28a0e175 Author: aivanov Date: 2019-09-25 22:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fa9f28a0e175 8231144: Wrap contents of plain HTML files into contentContainer Reviewed-by: prr, serb ! src/java.desktop/share/classes/java/awt/doc-files/AWTThreadIssues.html ! src/java.desktop/share/classes/java/awt/doc-files/DesktopProperties.html ! src/java.desktop/share/classes/java/awt/doc-files/FocusSpec.html ! src/java.desktop/share/classes/java/awt/doc-files/Modality.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/bmp_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/png_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/tiff_metadata.html ! src/java.desktop/share/classes/javax/imageio/metadata/doc-files/wbmp_metadata.html ! src/java.desktop/share/classes/javax/swing/plaf/multi/doc-files/multi_tsc.html ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html ! src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Changeset: acbc26afebb6 Author: serb Date: 2019-09-30 22:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/acbc26afebb6 8231335: [macos] Delete unused and partly implemented JOGL/Java2D bridge Reviewed-by: jdv ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java Changeset: 4ff14948c6a1 Author: serb Date: 2019-10-01 10:28 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4ff14948c6a1 7124404: [macosx] no awt.multiClickInterval desktop property Reviewed-by: dmarkov ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m + test/jdk/java/awt/Toolkit/GetMulticlickTime/GetMulticlickTime.java Changeset: bdf0a922ae8a Author: serb Date: 2019-10-03 18:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/bdf0a922ae8a 8228676: Cleanup the native code related to fonts on Unix Reviewed-by: jdv ! src/java.desktop/unix/native/common/awt/X11Color.c ! src/java.desktop/unix/native/common/awt/awt_Font.c - src/java.desktop/unix/native/common/awt/awt_Font.h ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c Changeset: a9b346a481d7 Author: serb Date: 2019-10-09 17:06 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a9b346a481d7 8229810: [macos] NullPointerException getting bounds of GraphicsConfiguration Reviewed-by: jdv ! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java Changeset: 7a57470d0500 Author: psadhukhan Date: 2019-10-11 12:08 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a57470d0500 Merge - src/hotspot/share/runtime/compilationPolicy.cpp - src/hotspot/share/runtime/compilationPolicy.hpp - src/hotspot/share/runtime/rframe.cpp - src/hotspot/share/runtime/rframe.hpp - src/hotspot/share/runtime/tieredThresholdPolicy.cpp - src/hotspot/share/runtime/tieredThresholdPolicy.hpp - src/java.base/share/native/libjava/verify_stub.c - src/java.base/share/native/libverify/check_format.c - src/java.base/unix/native/libjava/jdk_util_md.c - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/JMXServiceProvider.java - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/package-info.java - test/hotspot/jtreg/compiler/graalunit/EA9Test.java - test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/JLModule.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineDeleteJmethod.java - test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/libRedefineDeleteJmethod.c Changeset: 70968bcc110c Author: psadhukhan Date: 2019-10-12 08:49 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/70968bcc110c 8223158: Docked MacBook cannot start any Java Swing applications Reviewed-by: prr, serb ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m Changeset: d97e1ee31e2b Author: psadhukhan Date: 2019-10-15 14:19 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d97e1ee31e2b Merge - test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java Changeset: 2312d1a04c49 Author: naoto Date: 2019-10-15 09:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2312d1a04c49 8212749: DecimalFormat.setGroupingSize(int) allows setting negative grouping size 8231984: Clarify semantics of DecimalFormat.getGroupingSize(0) Reviewed-by: rriggs ! src/java.base/share/classes/java/text/DecimalFormat.java + test/jdk/java/text/Format/DecimalFormat/SetGroupingSizeTest.java Changeset: 791217cdc433 Author: shade Date: 2019-10-15 19:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/791217cdc433 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: 10db6989907f Author: shade Date: 2019-10-15 19:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/10db6989907f 8232051: Epsilon should warn about Xms/Xmx/AlwaysPreTouch configuration Reviewed-by: zgu ! src/hotspot/share/gc/epsilon/epsilonArguments.cpp ! test/hotspot/jtreg/gc/epsilon/TestAlwaysPretouch.java Changeset: fbfc72ec8e6b Author: darcy Date: 2019-10-15 13:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fbfc72ec8e6b 8232234: Suppress warnings on non-serializable non-transient instance fields in java.rmi Reviewed-by: rriggs ! src/java.rmi/share/classes/java/rmi/activation/ActivationGroup.java ! src/java.rmi/share/classes/java/rmi/activation/ActivationGroupID.java ! src/java.rmi/share/classes/java/rmi/server/UnicastRemoteObject.java ! src/java.rmi/share/classes/sun/rmi/server/ActivatableServerRef.java ! src/java.rmi/share/classes/sun/rmi/server/Activation.java ! src/java.rmi/share/classes/sun/rmi/server/ActivationGroupImpl.java Changeset: 94710bb2a5bb Author: michaelm Date: 2019-03-25 17:15 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/94710bb2a5bb 8217997: Better socket support Reviewed-by: alanb, ahgross, chegar, igerasim ! src/java.base/share/classes/java/net/NetPermission.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java ! src/java.base/share/classes/sun/security/util/SecurityConstants.java Changeset: 53ddf218eddd Author: weijun Date: 2019-04-19 10:22 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/53ddf218eddd 8220302: Better Kerberos ccache handling Reviewed-by: valeriep ! src/java.base/share/conf/security/java.security ! 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/Krb5MechFactory.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5NameElement.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5ProxyCredential.java ! src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.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/Realm.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java ! src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java ! src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/Klist.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Changeset: 32aff2b7585b Author: weijun Date: 2019-04-22 13:01 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/32aff2b7585b 8209901: Canonical file handling Reviewed-by: mullan, alanb, ahgross ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/sun/security/util/FilePermCompat.java ! src/java.base/share/conf/security/java.security ! test/jdk/java/security/testlibrary/Proc.java ! test/jdk/sun/security/util/FilePermCompat/Flag.java Changeset: eb09ad30eccb Author: prr Date: 2019-04-23 11:59 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eb09ad30eccb 8220186: Improve use of font temporary files Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/FileFont.java ! src/java.desktop/share/classes/sun/font/FontScaler.java ! src/java.desktop/share/classes/sun/font/FreetypeFontScaler.java ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 29624901d8bc Author: aefimov Date: 2019-05-03 19:42 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/29624901d8bc 8223326: Regression introduced by CPU sync: java.security.AccessControlException: access denied ("java.net.NetPermission" "setSocketImpl") Reviewed-by: dfuchs, alanb Contributed-by: Alan Bateman ! src/java.base/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/java.base/share/classes/sun/nio/ch/SocketAdaptor.java Changeset: d5ea3bde1ebe Author: prr Date: 2019-05-15 12:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d5ea3bde1ebe 8222690: Better Glyph Images Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/GlyphList.java ! src/java.desktop/share/native/libfontmanager/DrawGlyphList.c ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c ! src/java.desktop/unix/classes/sun/font/XRGlyphCache.java ! src/java.desktop/unix/classes/sun/font/XRTextRenderer.java ! src/java.desktop/unix/native/common/java2d/x11/X11FontScaler_md.c Changeset: be9ef671a1b6 Author: serb Date: 2019-05-19 17:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/be9ef671a1b6 8221497: Optional Panes in Swing Reviewed-by: prr, alitvinov, mschoene, rhalade ! src/java.desktop/share/native/common/java2d/opengl/OGLBlitLoops.c + test/jdk/java/awt/image/DrawImage/IncorrectManagedImageSourceOffset.java ! test/jdk/java/awt/image/DrawImage/IncorrectUnmanagedImageSourceOffset.java + test/jdk/java/awt/image/DrawImage/SimpleManagedImage.java + test/jdk/java/awt/image/DrawImage/SimpleUnmanagedImage.java Changeset: 037ca385e957 Author: aefimov Date: 2019-05-20 15:57 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/037ca385e957 8213429: Windows file handling redux Reviewed-by: alanb, dfuchs, weijun, bpb, rhalade, ahgross ! src/java.base/share/classes/java/io/FilePermission.java Changeset: a95e1f6757c7 Author: weijun Date: 2019-05-21 08:37 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a95e1f6757c7 8224025: Fix for JDK-8220302 is not complete Reviewed-by: ahgross, mullan, valeriep ! src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c Changeset: 979b58a3bb97 Author: rriggs Date: 2019-04-30 16:45 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/979b58a3bb97 8221858: Build Better Processes Reviewed-by: alanb, rhalade, ahgross, darcy ! src/java.base/windows/classes/java/lang/ProcessImpl.java Changeset: ca5f1bf5a054 Author: joehw Date: 2019-05-21 13:02 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ca5f1bf5a054 8223505: Better pattern compilation Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: 17300b6f751f Author: prr Date: 2019-05-22 08:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/17300b6f751f 8223886: Add in font table referene Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc Changeset: 1b4ab3ebc51b Author: rriggs Date: 2019-05-22 13:31 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1b4ab3ebc51b 8224505: TestQuotedLogOutput failure after ProcessBuilder changes Reviewed-by: alanb ! test/hotspot/jtreg/serviceability/logging/TestQuotedLogOutputs.java Changeset: 2ffbbd3c662c Author: igerasim Date: 2019-05-22 19:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2ffbbd3c662c 8222684: Better support for patterns 8223163: Better pattern recognition Reviewed-by: ahgross, bchristi, jeff, rhalade, rriggs, smarks ! src/java.base/share/classes/java/util/regex/Pattern.java Changeset: 26867ad686e9 Author: hannesw Date: 2019-05-24 16:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/26867ad686e9 8223518: Unexpected exception in jjs Reviewed-by: sundar, mschoene, rhalade, jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/JdkRegExp.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java Changeset: 9b54aee889b4 Author: thartmann Date: 2019-05-27 01:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b54aee889b4 8224062: Improve String index handling Reviewed-by: kvn, rhalade, mschoene ! src/hotspot/cpu/x86/macroAssembler_x86.cpp Changeset: a9ed3d93cca3 Author: alitvinov Date: 2019-05-31 18:16 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a9ed3d93cca3 8218877: Help transform transformers Reviewed-by: serb, prr, mschoene, bpb, ssahoo ! src/java.desktop/share/native/common/java2d/opengl/OGLBlitLoops.c ! src/java.desktop/share/native/libawt/java2d/loops/GraphicsPrimitiveMgr.h ! src/java.desktop/share/native/libawt/java2d/loops/LoopMacros.h ! src/java.desktop/windows/native/libawt/java2d/d3d/D3DContext.cpp Changeset: 92a18902b92c Author: joehw Date: 2019-05-31 10:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/92a18902b92c 8224532: Better Path supports Reviewed-by: rriggs, lancea, dfuchs, mschoene ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPath.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Compiler.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java Changeset: 874e94940351 Author: prr Date: 2019-06-19 15:23 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/874e94940351 8225597: Enhance font glyph mapping Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/font/CMap.java Changeset: 2ede50a0f67d Author: prr Date: 2019-06-19 15:24 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2ede50a0f67d 8225286: Better rendering of native glyphs Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 6b93cc7741ba Author: chegar Date: 2019-06-21 10:51 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6b93cc7741ba 8225298: Improve TLS connection support Reviewed-by: dfuchs, igerasim, michaelm, rhalade, skoivu ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Changeset: 36c5e85b8597 Author: aefimov Date: 2019-06-25 00:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/36c5e85b8597 8223892: Improved handling of jar files Reviewed-by: dfuchs, chegar, michaelm, rhalade, ahgross ! src/java.base/share/classes/java/net/URL.java ! src/java.base/share/classes/sun/net/www/protocol/jar/Handler.java Changeset: fbab568169c4 Author: prr Date: 2019-06-14 20:33 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fbab568169c4 8224915: Better serial attributes Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/java/awt/Font.java Changeset: 0c518cbf1dcc Author: prr Date: 2019-06-16 13:14 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0c518cbf1dcc 8225292: Better Graphics2D drawing Reviewed-by: serb, psadhukhan, mschoene, rhalade ! src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java Changeset: da71aa13f86b Author: prr Date: 2019-07-18 07:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/da71aa13f86b 8227662: freetype seeks to index at the end of the font data Reviewed-by: serb, psadhukhan ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c + test/jdk/java/awt/FontMetrics/SpaceAdvance.java Changeset: 06d7236d6ef6 Author: rriggs Date: 2019-01-17 10:44 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/06d7236d6ef6 8227601: Better collection of references Reviewed-by: smarks, ahgross, skoivu, rhalade ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Stub.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/transport/DGCImpl_Stub.java ! src/java.rmi/share/classes/sun/rmi/transport/StreamRemoteCall.java ! test/jdk/java/rmi/testlibrary/TestSocketFactory.java Changeset: dbca9d2b4080 Author: hannesw Date: 2019-08-06 20:39 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/dbca9d2b4080 8226765: Commentary on Javadoc comments Reviewed-by: jjg, rhalade, skoivu ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/JavaScriptScanner.java ! test/langtools/jdk/javadoc/tool/TestScriptInComment.java Changeset: d66bdf0e2dfe Author: ascarpino Date: 2019-10-04 13:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d66bdf0e2dfe 8228825: Enhance ECDSA operations Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java Changeset: 7be56b2ac50d Author: henryjen Date: 2019-10-14 21:01 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7be56b2ac50d Merge ! src/hotspot/cpu/x86/macroAssembler_x86.cpp - src/hotspot/share/runtime/compilationPolicy.cpp - src/hotspot/share/runtime/compilationPolicy.hpp - src/hotspot/share/runtime/tieredThresholdPolicy.cpp - src/hotspot/share/runtime/tieredThresholdPolicy.hpp - src/java.base/unix/native/libjava/jdk_util_md.c ! 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/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/JMXServiceProvider.java - src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/package-info.java - test/hotspot/jtreg/compiler/graalunit/EA9Test.java - test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit/com/oracle/mxtool/junit/JLModule.java - test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java - test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java Changeset: e0bb6b38a6f6 Author: henryjen Date: 2019-10-15 21:33 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e0bb6b38a6f6 Merge - src/java.desktop/unix/native/common/awt/awt_Font.h Changeset: 55fe0d93bdd3 Author: zgu Date: 2019-10-15 22:22 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/55fe0d93bdd3 8229919: Support JNI Critical functions in object pinning API on x86_32 platforms Reviewed-by: rkennke, adinn ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java Changeset: b381e5328461 Author: mdoerr Date: 2019-10-16 11:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b381e5328461 8232106: [x86] C2: SIGILL due to usage of SSSE3 instructions on processors which don't support it Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/x86.ad Changeset: 64597a6fd186 Author: tschatzl Date: 2019-10-16 12:36 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/64597a6fd186 8232260: Remove g1 prefix in G1CollectedHeap::g1_hot_card_cache() getter Reviewed-by: kbarrett, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp Changeset: 6b6bf0de534b Author: dfuchs Date: 2019-10-16 14:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6b6bf0de534b 8231449: HttpClient???s client ssl certificate authentication seems to be broken. Summary: SSLFlowDelegate.Reader and SubscriberWrapper are changed to better cooperate on when more demand should be requested from upstream. The issue encountered in this scenario was triggered by a large certificate which caused the SSLFlowDelegate to stop requesting data from upstream during the handshake although the engine handshake status was NEED_UNWRAP. Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/common/SSLFlowDelegate.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/SubscriberWrapper.java + test/jdk/java/net/httpclient/HttpSlowServerTest.java + test/jdk/java/net/httpclient/LargeHandshakeTest.java + test/jdk/java/net/httpclient/LargeResponseTest.java Changeset: d068b1e534de Author: yzheng Date: 2019-10-16 16:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d068b1e534de 8231754: [JVMCI] Make r27 unconditionally reserved in JVMCI Summary: Reserve r27 (heap base register) on AArch64 unconditionally Reviewed-by: adinn, dlong ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotJVMCIBackendFactory.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java Changeset: 9b67dd88a931 Author: manc Date: 2019-10-14 18:48 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9b67dd88a931 8232232: G1RemSetSummary::_rs_threads_vtimes is not initialized to zero Summary: Fix error in "Concurrent refinement threads times" in GC log and cleanup. Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.cpp ! src/hotspot/share/gc/g1/g1RemSetSummary.hpp Changeset: 71fef5fae9cc Author: igerasim Date: 2019-10-16 14:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/71fef5fae9cc 8230407: SocketPermission and FilePermission action list allows leading comma Reviewed-by: chegar Contributed-by: Ivan Gerasimov , Chris Hegarty ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/net/SocketPermission.java ! test/jdk/java/io/FilePermission/SpecTests.java ! test/jdk/java/net/SocketPermission/Ctor.java Changeset: 562bf1878089 Author: redestad Date: 2019-10-17 00:00 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/562bf1878089 8232211: Remove dead code from os.hpp|cpp Reviewed-by: dholmes, dcubed, rehn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/aix/os_aix.hpp ! src/hotspot/os/aix/os_aix.inline.hpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/bsd/os_bsd.inline.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/linux/os_linux.inline.hpp ! src/hotspot/os/posix/os_posix.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/solaris/os_solaris.hpp ! 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/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/runtime/os.hpp Changeset: 21a92562f0c2 Author: redestad Date: 2019-10-17 00:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/21a92562f0c2 8232207: Linux os::available_memory re-reads cgroup configuration on every invocation Reviewed-by: bobv, sgehwolf ! src/hotspot/os/linux/osContainer_linux.cpp ! src/hotspot/os/linux/osContainer_linux.hpp Changeset: 7322c48a84cf Author: weijun Date: 2019-10-17 07:31 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7322c48a84cf 8232357: Compare version info of Santuario to legal notice Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java + test/jdk/javax/xml/crypto/dsig/Versions.java Changeset: 6252605fb005 Author: darcy Date: 2019-10-16 16:55 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6252605fb005 8232230: Suppress warnings on non-serializable non-transient instance fields in java.util.concurrent Reviewed-by: martin ! src/java.base/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/RecursiveTask.java ! src/java.base/share/classes/java/util/concurrent/ThreadPoolExecutor.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/java.base/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java Changeset: 55866aa5fb54 Author: jwilhelm Date: 2019-10-17 02:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/55866aa5fb54 Added tag jdk-14+19 for changeset 9b67dd88a931 ! .hgtags Changeset: 4113f16d5109 Author: igerasim Date: 2019-10-16 18:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4113f16d5109 8231859: Extra dash after the exception name in @throws clause of javadoc Reviewed-by: weijun ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/java/security/AllPermission.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/java/security/PermissionCollection.java ! src/java.base/share/classes/java/security/Policy.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 7a81cc7ca25c Author: mli Date: 2019-10-17 13:18 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/7a81cc7ca25c 8209824: Improve the code coverage for ThreadLocal Reviewed-by: dholmes, alanb + test/jdk/java/lang/ThreadLocal/ReplaceStaleEntry.java Changeset: d2108d9fc4f5 Author: mli Date: 2019-10-17 13:34 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d2108d9fc4f5 8134599: TEST_BUG: java/rmi/transport/closeServerSocket/CloseServerSocket.java fails intermittently with Address already in use Reviewed-by: weijun, darcy, rriggs, coffeys ! test/jdk/java/rmi/transport/closeServerSocket/CloseServerSocket.java Changeset: 5b7a967da646 Author: rrich Date: 2019-10-16 17:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5b7a967da646 8232162: Object reallocation in Deoptimization::fetch_unroll_info_helper should not depend on EliminateNestedLocks Reviewed-by: thartmann, neliasso ! src/hotspot/share/runtime/deoptimization.cpp Changeset: 11a574b352d0 Author: ihse Date: 2019-10-17 10:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/11a574b352d0 8223998: Missing MakeDir in ExecuteWithLog Reviewed-by: tbell, erikj ! make/common/MakeBase.gmk Changeset: e3618c902d17 Author: goetz Date: 2019-10-14 11:36 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/e3618c902d17 8218628: Add detailed message to NullPointerException describing what is null. Summary: This is the implementation of JEP 358: Helpful NullPointerExceptions. Reviewed-by: coleenp, clanger, rschmelter, rriggs, forax, mr ! make/hotspot/symbols/symbols-unix ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/include/jvm.h + src/hotspot/share/interpreter/bytecodeUtils.cpp + src/hotspot/share/interpreter/bytecodeUtils.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/NullPointerException.java + src/java.base/share/native/libjava/NullPointerException.c + test/hotspot/jtreg/runtime/exceptionMsgs/NullPointerException/NPEInHiddenTopFrameTest.java + test/hotspot/jtreg/runtime/exceptionMsgs/NullPointerException/NullPointerExceptionTest.java + test/hotspot/jtreg/runtime/exceptionMsgs/NullPointerException/SuppressMessagesTest.java Changeset: eda750f21308 Author: coleenp Date: 2019-10-17 07:35 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eda750f21308 8232112: MDO extra_data_lock leaks during class unloading Summary: call the MDO destructor during class unloading. Reviewed-by: dholmes, eosterlund ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/methodData.hpp Changeset: 931ec3339786 Author: ihse Date: 2019-10-17 14:20 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/931ec3339786 8213239: Configure cannot handle command overrides with arguments Reviewed-by: erikj ! make/autoconf/basics.m4 Changeset: 06cc25fe0ca3 Author: darcy Date: 2019-10-17 09:38 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/06cc25fe0ca3 8232448: Suppress warnings on non-serializable non-transient instance fields in jdk.jdi Reviewed-by: sspitsyn ! src/jdk.jdi/share/classes/com/sun/jdi/InvocationException.java ! src/jdk.jdi/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java ! src/jdk.jdi/share/classes/com/sun/jdi/connect/VMStartException.java Changeset: 42a3a8941418 Author: zgu Date: 2019-10-17 13:14 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/42a3a8941418 8231999: Shenandoah: Traversal failed compiler/jsr292/CallSiteDepContextTest.java Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 0cc52a55fce4 Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0cc52a55fce4 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Changeset: 92e7d617897e Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 5f14a659a8cb Author: clanger Date: 2019-10-17 22:41 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5f14a659a8cb 8232370: Refactor some com.sun.jdi tests to enable IDE integration Reviewed-by: amenkov, cjplummer, sspitsyn ! test/jdk/com/sun/jdi/MonitorEventTest.java ! test/jdk/com/sun/jdi/MonitorFrameInfo.java ! test/jdk/com/sun/jdi/RedefineImplementor.java Changeset: 9f5b92d5a1b2 Author: ysuenaga Date: 2019-10-18 09:57 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9f5b92d5a1b2 8232084: HotSpot build failed with GCC 9.2.1 Reviewed-by: sspitsyn, cjplummer, dholmes, iklam ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/share/services/diagnosticArgument.cpp ! src/hotspot/share/utilities/compilerWarnings.hpp ! src/hotspot/share/utilities/compilerWarnings_gcc.hpp Changeset: 2e0462f4cf4e Author: jiefu Date: 2019-10-18 14:15 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2e0462f4cf4e 8232593: [TESTBUG] runtime/cds/CheckDefaultArchiveFile.java fails when cds is disabled Reviewed-by: iklam, dholmes ! test/hotspot/jtreg/runtime/cds/CheckDefaultArchiveFile.java Changeset: 4b13a908c2d0 Author: mbaesken Date: 2019-10-18 14:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4b13a908c2d0 8232381: add result NULL-checking to freetypeScaler.c Reviewed-by: clanger, prr ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 0279391875bf Author: zgu Date: 2019-10-18 11:36 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0279391875bf 8231324: Shenandoah: avoid duplicated weak root works during final traversal 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 ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 72e605a88500 Author: ccheung Date: 2019-10-18 09:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/72e605a88500 8232030: HelloDynamic.java fails with latest Graal Summary: Include the dynamic dumping condition when setting up the merged_ordering array in merge_in_new_methods() of defaultMethods.cpp. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/defaultMethods.cpp Changeset: 294fe0fef773 Author: zgu Date: 2019-10-18 12:20 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/294fe0fef773 8232009: Shenandoah: C2 load barrier does not match interpreter version Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp Changeset: eb172a3b1c1c Author: jboes Date: 2019-10-17 08:56 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/eb172a3b1c1c 8225499: InetSocketAddress::toString not friendly to IPv6 literal addresses Summary: Enclose IPv6 literal in brackets and adjust string format for unresolved addresses Reviewed-by: dfuchs, chegar ! src/java.base/share/classes/java/net/InetSocketAddress.java ! test/jdk/java/net/InetSocketAddress/ToString.java Changeset: 04946947ca79 Author: pconcannon Date: 2019-10-16 11:12 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/04946947ca79 8231719: Correct contradictions in timeout range descriptions. Summary: Clarified verbiage in method descriptions. Reviewed-by: chegar, dfuchs ! src/java.base/share/classes/java/net/DatagramSocket.java ! src/java.base/share/classes/java/net/ServerSocket.java ! src/java.base/share/classes/java/net/Socket.java Changeset: 3f35a9efd7de Author: zgu Date: 2019-10-18 13:07 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/3f35a9efd7de 8232010: Shenandoah: implement self-fixing native barrier Reviewed-by: rkennke ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/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: 199ee1bf9b3b Author: zgu Date: 2019-10-18 14:03 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/199ee1bf9b3b 8232008: Shenandoah: C1 load barrier does not match interpreter version Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp Changeset: f7df2861be47 Author: cjplummer Date: 2019-10-18 14:07 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f7df2861be47 8232276: Problem list serviceability/sa/ClhsdbJstackXcompStress.java Reviewed-by: sgehwolf, dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: b7465577320f Author: jiefu Date: 2019-10-18 20:28 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b7465577320f 8232616: JVMCI_lock fails to get initialized when cds is disabled Reviewed-by: iklam, dholmes ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: f87353679927 Author: amlu Date: 2019-10-21 14:04 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f87353679927 8232195: Enable BigInteger tests: DivisionOverflow, SymmetricRangeTests and StringConstructorOverflow Reviewed-by: bpb, darcy ! test/jdk/TEST.ROOT - test/jdk/java/math/BigInteger/DivisionOverflow.java - test/jdk/java/math/BigInteger/StringConstructorOverflow.java - test/jdk/java/math/BigInteger/SymmetricRangeTests.java + test/jdk/java/math/BigInteger/largeMemory/DivisionOverflow.java + test/jdk/java/math/BigInteger/largeMemory/StringConstructorOverflow.java + test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 5d10ba4a0468 Author: pliden Date: 2019-10-21 09:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/5d10ba4a0468 8232001: ZGC: Ignore metaspace GC threshold until GC is warm Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zDirector.cpp ! src/hotspot/share/gc/z/zDirector.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 215308c0d5e8 Author: pliden Date: 2019-10-21 09:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/215308c0d5e8 8231943: ZGC: Enable serviceability/dcmd/gc/RunGCTest Reviewed-by: tschatzl, eosterlund, sspitsyn ! test/hotspot/jtreg/serviceability/dcmd/gc/RunGCTest.java Changeset: c203d10291e1 Author: pliden Date: 2019-10-21 09:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c203d10291e1 8231940: ZGC: Print correct low/high capacity Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 8b16701b4636 Author: pliden Date: 2019-10-21 09:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/8b16701b4636 8231996: ZGC: Replace ZStatisticsForceTrace with check if JFR event is enabled Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp ! src/hotspot/share/gc/z/zTracer.cpp ! src/hotspot/share/gc/z/zTracer.hpp ! src/hotspot/share/gc/z/zTracer.inline.hpp ! src/hotspot/share/gc/z/z_globals.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: f5662bdbee4a Author: pliden Date: 2019-10-21 09:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f5662bdbee4a 8232235: ZGC: Move ZValue inline funtions to zValue.inline.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/z/zObjectAllocator.cpp ! src/hotspot/share/gc/z/zObjectAllocator.hpp ! src/hotspot/share/gc/z/zPageCache.cpp ! src/hotspot/share/gc/z/zPageCache.inline.hpp ! src/hotspot/share/gc/z/zReferenceProcessor.cpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zThreadLocalAllocBuffer.cpp ! src/hotspot/share/gc/z/zValue.hpp + src/hotspot/share/gc/z/zValue.inline.hpp ! src/hotspot/share/gc/z/zWeakRootsProcessor.hpp Changeset: d8e211419aaf Author: pliden Date: 2019-10-21 09:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d8e211419aaf 8232236: ZGC: Move ZThread inline funtions to zThread.inline.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zLiveMap.cpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zObjectAllocator.cpp ! src/hotspot/share/gc/z/zRelocate.cpp ! src/hotspot/share/gc/z/zThread.cpp ! src/hotspot/share/gc/z/zThread.hpp + src/hotspot/share/gc/z/zThread.inline.hpp ! src/hotspot/share/gc/z/zValue.inline.hpp Changeset: 810409af12f1 Author: pliden Date: 2019-10-21 09:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/810409af12f1 8232237: ZGC: Move ZArray inline funtions to zArray.inline.hpp Reviewed-by: tschatzl ! src/hotspot/share/gc/z/zArray.hpp ! src/hotspot/share/gc/z/zArray.inline.hpp Changeset: f74ec3cbfcc0 Author: pliden Date: 2019-10-21 09:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f74ec3cbfcc0 8232238: ZGC: Move ZList inline funtions to zList.inline.hpp Reviewed-by: eosterlund ! src/hotspot/share/gc/z/zList.hpp ! src/hotspot/share/gc/z/zList.inline.hpp ! src/hotspot/share/gc/z/zMemory.inline.hpp ! src/hotspot/share/gc/z/zPage.cpp ! src/hotspot/share/gc/z/zPage.hpp Changeset: 662d9e1e2a60 Author: pliden Date: 2019-10-21 09:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/662d9e1e2a60 8232239: ZGC: Inline ZCPU::count() and ZCPU:id() Reviewed-by: tschatzl ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/share/gc/z/zCPU.cpp ! src/hotspot/share/gc/z/zCPU.hpp + src/hotspot/share/gc/z/zCPU.inline.hpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zValue.inline.hpp Changeset: ff3eab78554f Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ff3eab78554f 8232674: Fix build and rename ShenandoahBarrierSet::oop_load_from_native_barrier Reviewed-by: zgu ! 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 Changeset: 765ecbffe88a Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/765ecbffe88a 8232575: Shenandoah: asynchronous object/region pinning Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 14e098407bb0 Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/14e098407bb0 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals Reviewed-by: rkennke ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java Changeset: ad69fd32778e Author: jlahoda Date: 2019-10-21 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ad69fd32778e 8226585: Improve javac messages for using a preview API Summary: Avoiding deprecation for removal for APIs associated with preview features, the features are marked with an annotation, and errors/warnings are produced for them based on the annotation. Reviewed-by: erikj, mcimadamore, alanb Contributed-by: joe.darcy at oracle.com, jan.lahoda at oracle.com ! make/CompileInterimLangtools.gmk ! make/Docs.gmk + make/jdk/src/classes/build/tools/taglet/Preview.java ! src/java.base/share/classes/java/lang/String.java + src/java.base/share/classes/jdk/internal/PreviewFeature.java ! src/java.base/share/classes/module-info.java ! src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/SwitchExpressionTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/tree/YieldTree.java ! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTaskPool.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java ! test/jdk/java/lang/String/Formatted.java ! test/jdk/java/lang/String/StripIndent.java ! test/jdk/java/lang/String/TranslateEscapes.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/lib/combo/ComboInstance.java + test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/tree/NoPrivateTypesExported.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java Changeset: ae0af9fb3dbb Author: erikj Date: 2019-10-21 09:26 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ae0af9fb3dbb 8232572: Add hooks for custom output dir in Bundles.gmk Reviewed-by: tbell ! make/Bundles.gmk Changeset: cba8afa5cfed Author: lfoltan Date: 2019-10-21 13:13 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cba8afa5cfed 8231844: Enhance type signature characters in classfile_constants.h and improve the JVM to use type signature characters more consistently Summary: Increase the use of type signature constants instead of hard coded characters within the JVM. Reviewed-by: coleenp, dholmes, fparain Contributed-by: lois.foltan at oracle.com, john.r.rose at oracle.com ! src/hotspot/share/aot/aotCodeHeap.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciObjArrayKlass.cpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/javaAssertions.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/classfile/verificationType.hpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/vmSymbols.cpp ! src/hotspot/share/compiler/methodMatcher.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jvmci/compilerRuntime.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/heapInspection.cpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiImpl.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiTagMap.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/fieldType.cpp ! src/hotspot/share/runtime/fieldType.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp ! src/hotspot/share/utilities/globalDefinitions.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp ! src/java.base/share/native/include/classfile_constants.h.template Changeset: 559c46cd0e8b Author: erikj Date: 2019-10-21 10:32 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/559c46cd0e8b 8232569: Use test image from different jib profile for testing Reviewed-by: tbell ! make/conf/jib-profiles.js Changeset: 190ec5fae2af Author: zgu Date: 2019-10-21 14:26 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/190ec5fae2af 8232712: Shenandoah: SIGBUS in load_reference_barrier_native Reviewed-by: shade, rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp Changeset: 449555c346d9 Author: jjg Date: 2019-10-21 11:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/449555c346d9 8232639: Change module graph images to use SVG instead of PNG format. Reviewed-by: mchung, ihse ! make/Docs.gmk ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.java Changeset: fa1f838b5486 Author: jjg Date: 2019-10-21 13:25 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/fa1f838b5486 8231587: Memory leak in WorkArounds.serializedForms Reviewed-by: hannesw Contributed-by: fw at deneb.enyo.de ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java Changeset: 6d5c7f91e0b5 Author: aivanov Date: 2019-10-21 21:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6d5c7f91e0b5 8232624: Java cannot start: NewStringPlatform missing Reviewed-by: dholmes, alanb, redestad ! src/hotspot/share/classfile/javaClasses.cpp ! src/java.base/share/native/libjava/jni_util.c ! src/java.base/share/native/libjava/jni_util.h Changeset: 15f4471787b9 Author: shade Date: 2019-10-21 22:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/15f4471787b9 8232730: Shenandoah: Traversal should not CAS the roots Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp Changeset: ca620b06b5c9 Author: shade Date: 2019-10-21 22:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ca620b06b5c9 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: de395bbd7a93 Author: jiefu Date: 2019-10-21 17:27 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/de395bbd7a93 8232692: [TESTBUG] compiler/aot/fingerprint/SelfChangedCDS.java fails when cds is disabled Reviewed-by: kvn ! test/hotspot/jtreg/compiler/aot/fingerprint/SelfChangedCDS.java Changeset: d2da05214592 Author: jiefu Date: 2019-10-22 11:32 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/d2da05214592 8232757: VM fails to report an error for DumpLoadedClassList when cds is disabled Reviewed-by: iklam, dholmes ! src/hotspot/share/runtime/arguments.cpp Changeset: 24d411cb3a90 Author: ihse Date: 2019-10-22 08:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/24d411cb3a90 8223400: Replace some enums with static const members in hotspot/runtime Reviewed-by: iklam, coleenp ! src/hotspot/share/oops/klass.hpp ! src/hotspot/share/prims/jvm.cpp Changeset: a39cdab8fac1 Author: shade Date: 2019-10-22 14:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a39cdab8fac1 8232778: Shenandoah: SBSA::arraycopy_prologue checks wrong register Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: ef2b75750838 Author: zgu Date: 2019-10-22 11:59 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/ef2b75750838 8232747: Shenandoah: Concurrent GC should deactivate SATB before processing weak roots Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 2b0c5800fb1c Author: mchung Date: 2019-10-22 09:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2b0c5800fb1c 8232617: Update the outdated code comments in java.lang.System class Reviewed-by: dholmes, bchristi ! src/java.base/share/classes/java/lang/System.java Changeset: 259b54092265 Author: shade Date: 2019-10-22 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/259b54092265 8232791: Shenandoah: passive mode should disable pacing Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp Changeset: 62e16c1e0f66 Author: shade Date: 2019-10-22 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/62e16c1e0f66 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Changeset: a6c56d661d75 Author: cito Date: 2019-10-22 23:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a6c56d661d75 8223697: jfr tool can't format duration values greater than 1 minute Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/PrettyWriter.java Changeset: 083bbca50d2d Author: ysuenaga Date: 2019-10-23 10:02 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/083bbca50d2d 8232592: is shown in jstack mixed mode Reviewed-by: cjplummer, phh ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java Changeset: c9c3bb79861e Author: dholmes Date: 2019-10-22 22:00 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c9c3bb79861e 8232571: Add missing SIGINFO signal Reviewed-by: dholmes, rriggs Contributed-by: Benoit Daloze ! src/hotspot/os/posix/os_posix.cpp + test/hotspot/jtreg/runtime/signal/TestSiginfo.java ! test/jdk/sun/misc/SunMiscSignalTest.java Changeset: 70e6b0d8db13 Author: mhorie Date: 2019-10-22 21:26 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/70e6b0d8db13 8231649: PPC64: Intrinsics for Math.ceil, floor, rint on Power Reviewed-by: mdoerr, vlivanov ! src/hotspot/cpu/ppc/assembler_ppc.hpp ! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/share/opto/convertnode.cpp ! src/hotspot/share/opto/convertnode.hpp ! src/hotspot/share/opto/library_call.cpp Changeset: a3d208fc1b10 Author: ihse Date: 2019-10-23 09:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/a3d208fc1b10 8211073: Remove -Wno-extra from Hotspot Reviewed-by: dholmes, erikj, kbarrett ! make/hotspot/lib/CompileJvm.gmk Changeset: c6fd655677ec Author: ihse Date: 2019-10-23 09:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c6fd655677ec 8232770: Enable more warnings on solaris studio Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/common/TestFilesCompilation.gmk ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/launcher/Launcher-jdk.pack.gmk ! make/lib/Awt2dLibraries.gmk ! make/lib/CoreLibraries.gmk ! make/lib/Lib-jdk.hotspot.agent.gmk ! make/lib/Lib-jdk.pack.gmk Changeset: 6e287efa5fa3 Author: jiefu Date: 2019-10-23 09:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/6e287efa5fa3 8232768: Configuration with --disable-cds --enable-generate-classlist should be reported as an error Reviewed-by: ihse ! make/autoconf/jdk-options.m4 Changeset: cfdd7ef808d9 Author: chagedorn Date: 2019-10-23 12:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/cfdd7ef808d9 8232873: Add missing test for 8220416 Summary: Adds a missing test which verifies the bug fix of 8220416. Reviewed-by: roland, thartmann + test/hotspot/jtreg/compiler/c2/CmpPNodeSubTest.java Changeset: c8d42aa9359a Author: chagedorn Date: 2019-10-23 12:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/c8d42aa9359a 8232874: Add missing test for 8230062 Summary: Adds a missing test which verifies the bug fix of 8230062. Reviewed-by: roland, thartmann + test/hotspot/jtreg/compiler/loopopts/superword/SuperWordIntermediateUse.java Changeset: 0f882d53c204 Author: chagedorn Date: 2019-10-23 12:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/0f882d53c204 8231412: C2: InitializeNode::detect_init_independence() bails out on simple IR shapes Summary: Avoids early bailout of capturing a field store to remove unnecessary zeroing in simple methods containing only non-escaping objects. Reviewed-by: roland, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestEliminateAllocation.java Changeset: 765710337ee1 Author: thartmann Date: 2019-10-23 13:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/765710337ee1 8232883: compiler/c2/CmpPNodeSubTest.java fails because test class name is wrong Summary: Renamed test file to match class name. Reviewed-by: roland - test/hotspot/jtreg/compiler/c2/CmpPNodeSubTest.java + test/hotspot/jtreg/compiler/c2/CompareKlassPointersTest.java Changeset: 9510ce1b0190 Author: tschatzl Date: 2019-10-23 14:06 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/9510ce1b0190 8232771: Revert JDK-8230794 because of environment changes Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp Changeset: f67f4674b466 Author: erikj Date: 2019-10-23 05:48 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/f67f4674b466 8232834: RunTest sometimes fails to produce valid exitcode.txt Reviewed-by: ihse ! make/RunTests.gmk Changeset: b7aa58d7f5aa Author: redestad Date: 2019-10-23 15:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/b7aa58d7f5aa 8232887: Remove SystemDictionary::has_checkPackageAccess Reviewed-by: coleenp, lfoltan ! src/hotspot/share/classfile/dictionary.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 2b13d126a2d8 Author: dfuchs Date: 2019-10-23 15:54 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/2b13d126a2d8 8232625: HttpClient redirect policy should be more conservative Summary: When enabled, HttpClient redirect is fixed to drop the body when the request method is changed, and to relay any redirection code it does not understand to the caller. Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/RedirectFilter.java + test/jdk/java/net/httpclient/HttpRedirectTest.java ! test/jdk/java/net/httpclient/http2/RedirectTest.java ! test/jdk/java/net/httpclient/http2/server/Http2RedirectHandler.java Changeset: 4242e35767b5 Author: shade Date: 2019-10-23 17:35 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4242e35767b5 8232882: GCC 4.8.5 build failure after JDK-8211073 Reviewed-by: thartmann ! src/hotspot/share/opto/memnode.cpp Changeset: 1f7f707c1aa9 Author: redestad Date: 2019-10-23 18:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/1f7f707c1aa9 8232881: Remove unnecessary InstanceKlass::casts Reviewed-by: coleenp ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/verificationType.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/prims/jniCheck.cpp Changeset: 54ffb15c4839 Author: darcy Date: 2019-10-23 13:01 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/54ffb15c4839 8232442: Suppress warnings on non-serializable non-transient instance fields in java.management.* Reviewed-by: rriggs, mchung ! src/java.management.rmi/share/classes/com/sun/jmx/remote/internal/rmi/ProxyRef.java ! src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/java.management/share/classes/javax/management/Attribute.java ! src/java.management/share/classes/javax/management/AttributeChangeNotification.java ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java ! src/java.management/share/classes/javax/management/ImmutableDescriptor.java ! src/java.management/share/classes/javax/management/InvalidApplicationException.java ! src/java.management/share/classes/javax/management/NotificationFilterSupport.java ! src/java.management/share/classes/javax/management/loading/PrivateMLet.java ! src/java.management/share/classes/javax/management/monitor/MonitorNotification.java ! src/java.management/share/classes/javax/management/openmbean/CompositeDataSupport.java ! src/java.management/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java ! src/java.management/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java ! src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java ! src/java.management/share/classes/javax/management/openmbean/TabularType.java ! src/java.management/share/classes/sun/management/LazyCompositeData.java ! src/java.management/share/classes/sun/management/LockInfoCompositeData.java ! src/java.management/share/classes/sun/management/MemoryNotifInfoCompositeData.java ! src/java.management/share/classes/sun/management/MemoryUsageCompositeData.java ! src/java.management/share/classes/sun/management/MonitorInfoCompositeData.java ! src/java.management/share/classes/sun/management/ThreadInfoCompositeData.java ! src/java.management/share/classes/sun/management/counter/perf/PerfByteArrayCounter.java ! src/java.management/share/classes/sun/management/counter/perf/PerfLongArrayCounter.java ! src/java.management/share/classes/sun/management/counter/perf/PerfLongCounter.java Changeset: 4df6e75519ee Author: rkennke Date: 2019-10-24 15:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk/rev/4df6e75519ee Merge ! .hgtags ! 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/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/os/linux/gc/z/zNUMA_linux.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os_cpu/solaris_sparc/os_solaris_sparc.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/java.desktop/unix/native/common/awt/awt_Font.h ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/CriticalNativeArgs.java ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java ! test/hotspot/jtreg/gc/stress/CriticalNativeStress.java - test/jdk/java/math/BigInteger/DivisionOverflow.java - test/jdk/java/math/BigInteger/StringConstructorOverflow.java - test/jdk/java/math/BigInteger/SymmetricRangeTests.java From shade at redhat.com Mon Oct 28 10:15:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 11:15:46 +0100 Subject: [11] RFR: 2019-10-24, bulk backports to sh/jdk11 In-Reply-To: References: Message-ID: <5a824134-4334-3067-ebd8-4696d654f8ce@redhat.com> On 10/24/19 3:28 PM, Aleksey Shipilev wrote: > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191024/webrev.01/ > > This bunch includes: > > [backport] 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing > [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking > [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases > [backport] 8232575: Shenandoah: asynchronous object/region pinning > [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require > cancelled gc > [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent > -XX:+VerifyObjectEquals > [backport] 8232730: Shenandoah: Traversal should not CAS the roots > [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned > [backport] 8232791: Shenandoah: passive mode should disable pacing > [backport] 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than > allocated recently" > > Testing: it passed a few nightlies in jdk/jdk; hotspot_gc_shenandoah {fastdebug, release} Ping? -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 11:08:54 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 12:08:54 +0100 Subject: [11] RFR: 2019-10-24, bulk backports to sh/jdk11 In-Reply-To: <5a824134-4334-3067-ebd8-4696d654f8ce@redhat.com> References: <5a824134-4334-3067-ebd8-4696d654f8ce@redhat.com> Message-ID: Yes, please! Roman > On 10/24/19 3:28 PM, Aleksey Shipilev wrote: >> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk11-20191024/webrev.01/ >> >> This bunch includes: >> >> [backport] 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing >> [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking >> [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases >> [backport] 8232575: Shenandoah: asynchronous object/region pinning >> [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require >> cancelled gc >> [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent >> -XX:+VerifyObjectEquals >> [backport] 8232730: Shenandoah: Traversal should not CAS the roots >> [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned >> [backport] 8232791: Shenandoah: passive mode should disable pacing >> [backport] 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than >> allocated recently" >> >> Testing: it passed a few nightlies in jdk/jdk; hotspot_gc_shenandoah {fastdebug, release} > > Ping? > From shade at redhat.com Mon Oct 28 11:20:00 2019 From: shade at redhat.com (shade at redhat.com) Date: Mon, 28 Oct 2019 11:20:00 +0000 Subject: hg: shenandoah/jdk11: 10 new changesets Message-ID: <201910281120.x9SBK1cW024308@aojmv0008.oracle.com> Changeset: 557a4cc1c277 Author: shade Date: 2019-10-15 19:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/557a4cc1c277 [backport] 8232205: Shenandoah: missing "Update References" -> "Update Roots" tracing Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Changeset: e395c3e12bf0 Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e395c3e12bf0 [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp Changeset: 6e09401bf86a Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6e09401bf86a [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 35dcaee1a5f4 Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/35dcaee1a5f4 [backport] 8232575: Shenandoah: asynchronous object/region pinning Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 3ddaa3d342a8 Author: shade Date: 2019-10-22 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3ddaa3d342a8 [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp Changeset: 280d4ec7558a Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/280d4ec7558a [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals Reviewed-by: rkennke ! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java Changeset: 57aec6f46b17 Author: shade Date: 2019-10-21 22:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/57aec6f46b17 [backport] 8232730: Shenandoah: Traversal should not CAS the roots Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp Changeset: cd79e3861a44 Author: shade Date: 2019-10-21 22:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/cd79e3861a44 [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp Changeset: 7c266cc1f736 Author: shade Date: 2019-10-22 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7c266cc1f736 [backport] 8232791: Shenandoah: passive mode should disable pacing Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp Changeset: 743587c28e0f Author: shade Date: 2019-10-24 11:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/743587c28e0f [backport] 8232908: Shenandoah: compact heuristics has incorrect trigger "Free is lower than allocated recently" Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp From rkennke at redhat.com Mon Oct 28 12:11:07 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 13:11:07 +0100 Subject: RFR [sh/8h]: Fix signatures of ShLRBNode::Value() and ::Identity() Message-ID: After the LRB backport, we saw a regression in one of our tests. The root cause is that ShLRBNode::Value() and ::Identity() have changed signatures between 8 and 11 and I did not pick that up in 8u backport and thus those methods never have been called. Webrev: http://cr.openjdk.java.net/~rkennke/fixsigs/webrev.00/ Testing: The failing test passes now. hotspot_gc_shenandoah Ok to push? Thanks, Roman From rkennke at redhat.com Mon Oct 28 12:15:57 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 13:15:57 +0100 Subject: RFR [sh/8h]: Fix signatures of ShLRBNode::Value() and ::Identity() In-Reply-To: References: Message-ID: <29a0a8e8-a20e-296c-c034-3b85222059da@redhat.com> Nevermind this one. Roland already pushed that fix. Roman > After the LRB backport, we saw a regression in one of our tests. The > root cause is that ShLRBNode::Value() and ::Identity() have changed > signatures between 8 and 11 and I did not pick that up in 8u backport > and thus those methods never have been called. > > Webrev: > http://cr.openjdk.java.net/~rkennke/fixsigs/webrev.00/ > Testing: > The failing test passes now. hotspot_gc_shenandoah > > Ok to push? > > Thanks, > Roman > From rkennke at redhat.com Mon Oct 28 12:30:20 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 13:30:20 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes Message-ID: A test failed after recent LRB backport which is caused by wrong ordering of load, LRB and trailing membar. Currently the membar feeds off the LRB, but it should really have the raw load as its input so that membars don't participate in the data flow analysis that we do in our LRB optimizations. The fix is in Unsafe accessor. This mimics how it's already done for getfield (in parse3.cpp) and also in later releases. Webrev: http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/ Testing: the failing test doesn't crash now. hotspot_gc_shenandoah Ok? Roman From shade at redhat.com Mon Oct 28 12:35:29 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 13:35:29 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: References: Message-ID: On 10/28/19 1:30 PM, Roman Kennke wrote: > A test failed after recent LRB backport which is caused by wrong > ordering of load, LRB and trailing membar. Currently the membar feeds > off the LRB, but it should really have the raw load as its input so that > membars don't participate in the data flow analysis that we do in our > LRB optimizations. > > The fix is in Unsafe accessor. This mimics how it's already done for > getfield (in parse3.cpp) and also in later releases. > > Webrev: > http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/ Looks fine. *) Why do we need "ld" variable here again? 2779 Node* ld = load; *) Is the order w.r.t. pre_barrier okay? New patch exposes non-LRB-ed load to pre_barrier on T_OBJECT path. *) Is it fine to LRB the result of ConvX2UL from T_ADDRESS path? -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 12:39:14 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 13:39:14 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: References: Message-ID: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> hi Aleksey, > On 10/28/19 1:30 PM, Roman Kennke wrote: >> A test failed after recent LRB backport which is caused by wrong >> ordering of load, LRB and trailing membar. Currently the membar feeds >> off the LRB, but it should really have the raw load as its input so that >> membars don't participate in the data flow analysis that we do in our >> LRB optimizations. >> >> The fix is in Unsafe accessor. This mimics how it's already done for >> getfield (in parse3.cpp) and also in later releases. >> >> Webrev: >> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/ > > Looks fine. > > *) Why do we need "ld" variable here again? > 2779 Node* ld = load; This is so that we can push the LRBed value, but keep the non-LRB value for the membar-path. > *) Is the order w.r.t. pre_barrier okay? New patch exposes non-LRB-ed load to pre_barrier on > T_OBJECT path. The pre-barrier is only applied on stores, the LRB only on loads. > *) Is it fine to LRB the result of ConvX2UL from T_ADDRESS path? I think so, the LRB is only applied on T_OBJECT and T_ARRAY. Yes I know, it's not the most obvious way to express this, but it's the least intrusive I think. That's where the GC interface makes things much cleaner/clearer. Roman From shade at redhat.com Mon Oct 28 12:44:13 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 13:44:13 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> References: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> Message-ID: On 10/28/19 1:39 PM, Roman Kennke wrote: >>> Webrev: >>> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/ >> >> Looks fine. >> >> *) Why do we need "ld" variable here again? >> 2779 Node* ld = load; > > This is so that we can push the LRBed value, but keep the non-LRB value > for the membar-path. Ah. It is weird to see membar not using LRB value... >> *) Is the order w.r.t. pre_barrier okay? New patch exposes non-LRB-ed load to pre_barrier on >> T_OBJECT path. > > The pre-barrier is only applied on stores, the LRB only on loads. No, pre-barrier is not only for loads, see the T_OBJECT branch in the case right before new LRB placement. I think that's a special case for reading Reference.referent. >> *) Is it fine to LRB the result of ConvX2UL from T_ADDRESS path? > > I think so, the LRB is only applied on T_OBJECT and T_ARRAY. Right. Disregard this comment. -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 13:34:24 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 14:34:24 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: References: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> Message-ID: <37120c05-6936-cf0d-8aa0-716a37db08ce@redhat.com> >>>> Webrev: >>>> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/ >>> >>> Looks fine. >>> >>> *) Why do we need "ld" variable here again? >>> 2779 Node* ld = load; >> >> This is so that we can push the LRBed value, but keep the non-LRB value >> for the membar-path. > > Ah. It is weird to see membar not using LRB value... Yeah. But that's more natural when you see how it's done with the GC interface. >>> *) Is the order w.r.t. pre_barrier okay? New patch exposes non-LRB-ed load to pre_barrier on >>> T_OBJECT path. >> >> The pre-barrier is only applied on stores, the LRB only on loads. > > No, pre-barrier is not only for loads, see the T_OBJECT branch in the case right before new LRB > placement. I think that's a special case for reading Reference.referent. Right. That is a problem. Let's do something else then: http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.01/ This extracts the original load from the LRB before feeding into the membar. Also passes the same testing. What do you think? Roman From shade at redhat.com Mon Oct 28 14:34:41 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 15:34:41 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: <37120c05-6936-cf0d-8aa0-716a37db08ce@redhat.com> References: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> <37120c05-6936-cf0d-8aa0-716a37db08ce@redhat.com> Message-ID: On 10/28/19 2:34 PM, Roman Kennke wrote: > Right. That is a problem. Let's do something else then: > http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.01/ > > This extracts the original load from the LRB before feeding into the membar. Um, no. This applies LRB only when is_volatile is true, which is obviously incorrect. Don't we need to feed the LRB result to set_result too? Or is it handled in some non-obvious way? -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 14:43:38 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 15:43:38 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: References: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> <37120c05-6936-cf0d-8aa0-716a37db08ce@redhat.com> Message-ID: >> Right. That is a problem. Let's do something else then: >> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.01/ >> >> This extracts the original load from the LRB before feeding into the membar. > > Um, no. This applies LRB only when is_volatile is true, which is obviously incorrect. > > Don't we need to feed the LRB result to set_result too? Or is it handled in some non-obvious way? We do. And we also feed the LRB into the pre-barrier and into set_result(). We only extract the original load in order to feed it into the membar. Roman From shade at redhat.com Mon Oct 28 14:45:15 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 15:45:15 +0100 Subject: RFR [sh/8u]: Correct order between load, LRB and membar nodes In-Reply-To: References: <71ae6a1d-d3da-97b4-6702-ee01f57ff676@redhat.com> <37120c05-6936-cf0d-8aa0-716a37db08ce@redhat.com> Message-ID: <191194ba-289d-d1a5-5b83-b6f31dd3da0f@redhat.com> On 10/28/19 3:43 PM, Roman Kennke wrote: >>> Right. That is a problem. Let's do something else then: >>> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.01/ >>> >>> This extracts the original load from the LRB before feeding into the membar. >> >> Um, no. This applies LRB only when is_volatile is true, which is obviously incorrect. >> >> Don't we need to feed the LRB result to set_result too? Or is it handled in some non-obvious way? > > We do. And we also feed the LRB into the pre-barrier and into > set_result(). We only extract the original load in order to feed it into > the membar. Ah! The old LRB is still in place, I forgot about that. Okay then! Let's see what post-integration testing says about this :) -- Thanks, -Aleksey From shade at redhat.com Mon Oct 28 14:49:23 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 15:49:23 +0100 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <942c5c5d-fa2b-e14b-3319-0092d782da24@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> <6ba6da68-c48f-24b1-7ca3-d2bd8a46c4b8@redhat.com> <942c5c5d-fa2b-e14b-3319-0092d782da24@redhat.com> Message-ID: <15f36ca6-aa08-3ca6-dad8-314baa77fc75@redhat.com> On 10/26/19 2:34 AM, Zhengyu Gu wrote: > We only need to use rscratch1 when dst == r1, and there is possibility that dst comes in in > rscratch1 (see SBSA::load_at() method), I think current assertion (dst != rscratch2) is sufficient. > > However, we do need to ensure scratch registers are not used by load_addr, so added: > > ? assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); > ? assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); Why not just: assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2); > Updated: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.01/ Looks fine to me otherwise. -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 14:50:07 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 28 Oct 2019 14:50:07 +0000 Subject: hg: shenandoah/jdk8/hotspot: Correct order between load, LRB and membar nodes Message-ID: <201910281450.x9SEo8aI016682@aojmv0008.oracle.com> Changeset: fabf567ee9dd Author: rkennke Date: 2019-10-28 14:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fabf567ee9dd Correct order between load, LRB and membar nodes ! src/share/vm/opto/library_call.cpp From shade at redhat.com Mon Oct 28 14:51:13 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 15:51:13 +0100 Subject: [8] Heads-up: LRB strength selector needs to consider MemBar nodes? In-Reply-To: References: Message-ID: (replying to myself for archival reasons) I believe Roman fixes it with: "RFR [sh/8u]: Correct order between load, LRB and membar nodes" https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010899.html -Aleksey On 10/25/19 3:01 PM, Aleksey Shipilev wrote: > This happens in sh/jdk8 only. But it might indicate we need to consider MemBar nodes in the > ShenandoahLoadReferenceBarrierNode::get_barrier_strength in all releases? > > $ build/linux-x86_64-normal-server-slowdebug/images/j2sdk-image/bin/java > -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -jar ~/Downloads/renaissance-mit-0.9.0.jar > akka-uct -r 5 > ====== akka-uct (actors), iteration 0 started ====== > Unknown node in get_barrier_strength: > 2141 ShenandoahLoadReferenceBarrier === _ 2142 [[ 2135 2140 2211 ]] > Oop:scala/concurrent/forkjoin/ForkJoinTask * !orig=284 !jvms: ForkJoinPool::scan @ bci:162 > 2208 Proj === 2209 [[ 2143 2211 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !orig=280 !jvms: > ForkJoinPool::scan @ bci:162 > 2255 Proj === 2209 [[ 2143 2211 ]] #0 !orig=279 !jvms: ForkJoinPool::scan @ bci:162 > 2211 MemBarAcquire === 2255 1 2208 1 1 2141 [[ 2210 2254 ]] !orig=285 !jvms: > ForkJoinPool::scan @ bci:162 > # To suppress the following error report, specify this argument > # after -XX: or in .hotspotrc: SuppressErrorAt=/shenandoahSupport.cpp:2969 > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error > (/home/shade/trunks/shenandoah-jdk8/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp:2969), > pid=31711, tid=0x00007fd69a4ab700 > # Error: ShouldNotReachHere() > # > # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-debug-shade_2019_10_25_11_54-b00) > # Java VM: OpenJDK 64-Bit Server VM (25.71-b00-debug mixed mode linux-amd64 compressed oops) > # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c > unlimited" before starting Java again > # > # An error report file with more information is saved as: > # /home/shade/trunks/shenandoah-jdk8/hs_err_pid31711.log > # > # Compiler replay data is saved as: > # /home/shade/trunks/shenandoah-jdk8/replay_pid31711.log > # > # If you would like to submit a bug report, please visit: > # http://bugreport.java.com/bugreport/crash.jsp > # > Current thread is 140559688316672 > Dumping core ... > Aborted (core dumped) From zgu at redhat.com Mon Oct 28 15:35:49 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 28 Oct 2019 11:35:49 -0400 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <15f36ca6-aa08-3ca6-dad8-314baa77fc75@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> <6ba6da68-c48f-24b1-7ca3-d2bd8a46c4b8@redhat.com> <942c5c5d-fa2b-e14b-3319-0092d782da24@redhat.com> <15f36ca6-aa08-3ca6-dad8-314baa77fc75@redhat.com> Message-ID: <48c982fe-9dce-b122-c1fd-6e716778d4f2@redhat.com> On 10/28/19 10:49 AM, Aleksey Shipilev wrote: > On 10/26/19 2:34 AM, Zhengyu Gu wrote: >> We only need to use rscratch1 when dst == r1, and there is possibility that dst comes in in >> rscratch1 (see SBSA::load_at() method), I think current assertion (dst != rscratch2) is sufficient. >> >> However, we do need to ensure scratch registers are not used by load_addr, so added: >> >> ? assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); >> ? assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); > > Why not just: > assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2); Yep, fixed and pushed. Thanks, -Zhengyu > >> Updated: http://cr.openjdk.java.net/~zgu/JDK-8232992/webrev.01/ > > Looks fine to me otherwise. > From rkennke at redhat.com Mon Oct 28 16:50:46 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 17:50:46 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer Message-ID: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> This backports the elimination of the forwarding pointer. It's the two changesets: [backport] 8224584: Shenandoah: Eliminate forwarding pointer word [backport] 8223567: Rename ShenandoahBrooksPointer to ShenandoahForwarding It also reverts a whole lot of shared code changes all over the place. Testing: hotspot_gc_shenandoah (x86/aarch64), specjvm ongoing Can I please get a review? Thanks, Roman From rkennke at redhat.com Mon Oct 28 16:58:15 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 17:58:15 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> Message-ID: <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> Notice that I backported jdk11's gc/shared/preservedMarks.* stuff into gc_implementation/shenandoah for mark-compact. Roman > This backports the elimination of the forwarding pointer. It's the two > changesets: > > [backport] 8224584: Shenandoah: Eliminate forwarding pointer word > [backport] 8223567: Rename ShenandoahBrooksPointer to ShenandoahForwarding > > It also reverts a whole lot of shared code changes all over the place. > > Testing: hotspot_gc_shenandoah (x86/aarch64), specjvm ongoing > > Can I please get a review? > > Thanks, > Roman > From rkennke at redhat.com Mon Oct 28 17:06:18 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 18:06:18 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> Message-ID: Ha, and it missed the webrev link: http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ Roman > Notice that I backported jdk11's gc/shared/preservedMarks.* stuff into > gc_implementation/shenandoah for mark-compact. > > Roman > > >> This backports the elimination of the forwarding pointer. It's the two >> changesets: >> >> [backport] 8224584: Shenandoah: Eliminate forwarding pointer word >> [backport] 8223567: Rename ShenandoahBrooksPointer to ShenandoahForwarding >> >> It also reverts a whole lot of shared code changes all over the place. >> >> Testing: hotspot_gc_shenandoah (x86/aarch64), specjvm ongoing >> >> Can I please get a review? >> >> Thanks, >> Roman >> > From shade at redhat.com Mon Oct 28 17:27:05 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 18:27:05 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> Message-ID: <250e96fc-aedb-ebe8-6894-aad6e865ba96@redhat.com> On 10/28/19 6:06 PM, Roman Kennke wrote: > Ha, and it missed the webrev link: > > http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ From the first cursory examination, looks really good. It builds fine and passes hotspot_gc_shenandoah on my machine. But, I think it misses two important followup bugfixes: https://bugs.openjdk.java.net/browse/JDK-8231583 https://bugs.openjdk.java.net/browse/JDK-8231197 -- Thanks, -Aleksey From shade at redhat.com Mon Oct 28 18:44:46 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 19:44:46 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> Message-ID: <5d39eceb-9749-1d0a-55dd-7f96dd1ec233@redhat.com> On 10/28/19 6:06 PM, Roman Kennke wrote: > Ha, and it missed the webrev link: > http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ More thorough review: *) shenandoahBarrierSetAssembler_x86.cpp, SBSA::load_reference_barrier_not_null, why EVACUATION was dropped here? 91 __ testb(gc_state, ShenandoahHeap::HAS_FORWARDED); Otherwise looks very good. -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 18:49:11 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 19:49:11 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: <5d39eceb-9749-1d0a-55dd-7f96dd1ec233@redhat.com> References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> <5d39eceb-9749-1d0a-55dd-7f96dd1ec233@redhat.com> Message-ID: > On 10/28/19 6:06 PM, Roman Kennke wrote: >> Ha, and it missed the webrev link: >> http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ > > More thorough review: > > *) shenandoahBarrierSetAssembler_x86.cpp, SBSA::load_reference_barrier_not_null, why EVACUATION was > dropped here? > > 91 __ testb(gc_state, ShenandoahHeap::HAS_FORWARDED); > In order to match jdk11: https://hg.openjdk.java.net/shenandoah/jdk11/rev/77ca9dd0bf0a#l3.61 Also, EVACUATION is a subset of HAS_FORWARDED, right? Roman From shade at redhat.com Mon Oct 28 18:49:59 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 19:49:59 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> <5d39eceb-9749-1d0a-55dd-7f96dd1ec233@redhat.com> Message-ID: On 10/28/19 7:49 PM, Roman Kennke wrote: >> On 10/28/19 6:06 PM, Roman Kennke wrote: >>> Ha, and it missed the webrev link: >>> http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ >> >> More thorough review: >> >> *) shenandoahBarrierSetAssembler_x86.cpp, SBSA::load_reference_barrier_not_null, why EVACUATION was >> dropped here? >> >> 91 __ testb(gc_state, ShenandoahHeap::HAS_FORWARDED); >> > > In order to match jdk11: > > https://hg.openjdk.java.net/shenandoah/jdk11/rev/77ca9dd0bf0a#l3.61 > > Also, EVACUATION is a subset of HAS_FORWARDED, right? Right. It does not matter here. -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 19:31:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 28 Oct 2019 20:31:37 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: <250e96fc-aedb-ebe8-6894-aad6e865ba96@redhat.com> References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> <250e96fc-aedb-ebe8-6894-aad6e865ba96@redhat.com> Message-ID: > On 10/28/19 6:06 PM, Roman Kennke wrote: >> Ha, and it missed the webrev link: >> >> http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.00/ > > From the first cursory examination, looks really good. It builds fine and passes > hotspot_gc_shenandoah on my machine. But, I think it misses two important followup bugfixes: > https://bugs.openjdk.java.net/browse/JDK-8231583 > https://bugs.openjdk.java.net/browse/JDK-8231197 I also backported the two: Incremental: http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.01.diff/ Full: http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.01/ Testing: same as before, plus the tests mentioned in the bugreports. All good. Roman From shade at redhat.com Mon Oct 28 19:32:34 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 28 Oct 2019 20:32:34 +0100 Subject: RFR [sh/8u]: Backport elimination of forwarding pointer In-Reply-To: References: <3d6add08-c6dc-88d3-b6e5-21db052d5e02@redhat.com> <1832c23d-e005-5ad4-8294-6bf5aa92be41@redhat.com> <250e96fc-aedb-ebe8-6894-aad6e865ba96@redhat.com> Message-ID: <39a7c1f8-0044-2329-9cc2-3adee922dae8@redhat.com> On 10/28/19 8:31 PM, Roman Kennke wrote: > Incremental: > http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.01.diff/ > Full: > http://cr.openjdk.java.net/~rkennke/nofwdptr-sh8/webrev.01/ Thumbs up! Please push, and let overnight testing see where it leaks. -- Thanks, -Aleksey From rkennke at redhat.com Mon Oct 28 19:35:39 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Mon, 28 Oct 2019 19:35:39 +0000 Subject: hg: shenandoah/jdk8/hotspot: 4 new changesets Message-ID: <201910281935.x9SJZev6028276@aojmv0008.oracle.com> Changeset: 66fab7238237 Author: rkennke Date: 2019-05-08 20:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/66fab7238237 [backport] 8223567: Rename ShenandoahBrooksPointer to ShenandoahForwarding Reviewed-by: shade ! src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.cpp ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/asm/assembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahAsserts.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSetC1.cpp - src/share/vm/gc_implementation/shenandoah/shenandoahBrooksPointer.hpp - src/share/vm/gc_implementation/shenandoah/shenandoahBrooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahForwarding.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahForwarding.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahStringDedup.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/type.cpp Changeset: fa0d7fae7231 Author: rkennke Date: 2019-05-29 12:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fa0d7fae7231 [backport] 8224584: Shenandoah: Eliminate forwarding pointer word Reviewed-by: shade, roland ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.cpp ! src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.hpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/ci/ciInstanceKlass.cpp + src/share/vm/gc_implementation/shenandoah/preservedMarks.cpp + src/share/vm/gc_implementation/shenandoah/preservedMarks.hpp + src/share/vm/gc_implementation/shenandoah/preservedMarks.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahAsserts.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahForwarding.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahForwarding.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp Changeset: 46d3abf81070 Author: shade Date: 2019-09-19 20:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/46d3abf81070 [backport] 8231197: Shenandoah: JVMTI heap walking cleanup crashes with NULL forwardee Reviewed-by: zgu, rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahCodeRoots.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 24f427395b33 Author: shade Date: 2019-09-30 18:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/24f427395b33 [backport] 8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing Reviewed-by: rkennke ! src/cpu/aarch64/vm/shenandoahBarrierSetAssembler_aarch64.cpp ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp From shade at redhat.com Tue Oct 29 10:22:10 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Oct 2019 11:22:10 +0100 Subject: [8] 2019-10-29: Bulk backports to sh/jdk8 Message-ID: <52b9f222-63b1-2eaa-e314-a898073a1cba@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191029/webrev.01/ This batch brings in a few simple backports to sh/jdk8, in preparation for x86_32 backporting work and exposing sh/jdk8 to wider testing. I carefully selected backports that do not clash with Traversal and/or larger changesets. Changes: [backport] 8223450: Disable Shenandoah C2 barriers verification for x86_32 [backport] 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag [backport] 8225229: Shenandoah: trim down default number of GC threads [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings [backport] 8226957: Shenandoah: Remove obsoleted ShenandoahStoreCheck option [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals [backport] 8225017: [TESTBUG] gc/shenandoah/oom/TestThreadFailure.java takes too long Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 29 10:25:04 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 29 Oct 2019 11:25:04 +0100 Subject: [8] 2019-10-29: Bulk backports to sh/jdk8 In-Reply-To: <52b9f222-63b1-2eaa-e314-a898073a1cba@redhat.com> References: <52b9f222-63b1-2eaa-e314-a898073a1cba@redhat.com> Message-ID: Ok. Thanks! Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191029/webrev.01/ > > This batch brings in a few simple backports to sh/jdk8, in preparation for x86_32 backporting work > and exposing sh/jdk8 to wider testing. I carefully selected backports that do not clash with > Traversal and/or larger changesets. > > Changes: > [backport] 8223450: Disable Shenandoah C2 barriers verification for x86_32 > [backport] 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC > [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag > [backport] 8225229: Shenandoah: trim down default number of GC threads > [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings > [backport] 8226957: Shenandoah: Remove obsoleted ShenandoahStoreCheck option > [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent > -XX:+VerifyObjectEquals > [backport] 8225017: [TESTBUG] gc/shenandoah/oom/TestThreadFailure.java takes too long > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Tue Oct 29 10:30:34 2019 From: shade at redhat.com (shade at redhat.com) Date: Tue, 29 Oct 2019 10:30:34 +0000 Subject: hg: shenandoah/jdk8/hotspot: 8 new changesets Message-ID: <201910291030.x9TAUZK4003127@aojmv0008.oracle.com> Changeset: 1b435382fd22 Author: shade Date: 2019-05-07 16:05 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1b435382fd22 [backport] 8223450: Disable Shenandoah C2 barriers verification for x86_32 Reviewed-by: rkennke ! src/share/vm/runtime/arguments.cpp Changeset: 467cbba602cd Author: shade Date: 2019-06-13 19:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/467cbba602cd [backport] 8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC Reviewed-by: rkennke, zgu ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 77927aa9dc51 Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/77927aa9dc51 [backport] 8231946: Remove obsolete and unused ShenandoahVerifyObjectEquals flag Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Changeset: 7b0908dda120 Author: shade Date: 2019-06-05 09:23 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/7b0908dda120 [backport] 8225229: Shenandoah: trim down default number of GC threads Reviewed-by: rkennke ! src/share/vm/runtime/arguments.cpp + test/gc/shenandoah/options/TestThreadCounts.java Changeset: 824d54ea3705 Author: shade Date: 2019-10-07 17:12 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/824d54ea3705 [backport] 8231932: Shenandoah: conc/par GC threads ergonomics overrides user settings Reviewed-by: rkennke ! src/share/vm/runtime/arguments.cpp ! test/gc/shenandoah/TestGCThreadGroups.java ! test/gc/shenandoah/options/TestThreadCounts.java + test/gc/shenandoah/options/TestThreadCountsOverride.java Changeset: 6c1842b5aec5 Author: zgu Date: 2019-07-01 08:24 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6c1842b5aec5 [backport] 8226957: Shenandoah: Remove obsoleted ShenandoahStoreCheck option Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! test/gc/shenandoah/TestEvilSyncBug.java ! test/gc/shenandoah/TestVerifyJCStress.java Changeset: ab1c1efdbe85 Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ab1c1efdbe85 [backport] 8232702: Shenandoah: gc/shenandoah/TestVerifyJCStress.java uses non-existent -XX:+VerifyObjectEquals Reviewed-by: rkennke ! test/gc/shenandoah/TestVerifyJCStress.java Changeset: 4f0444442f8b Author: shade Date: 2019-05-30 10:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/4f0444442f8b [backport] 8225017: [TESTBUG] gc/shenandoah/oom/TestThreadFailure.java takes too long Reviewed-by: rkennke ! test/gc/shenandoah/oom/TestThreadFailure.java From rkennke at redhat.com Tue Oct 29 12:42:21 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 29 Oct 2019 13:42:21 +0100 Subject: RFR [sh/8u]: Use correct flag to guard implicit concurrent GC Message-ID: <0a7bc20e-3d50-7f91-078a-599ecfb88900@redhat.com> This is an 8-only bug. We're using ExplicicGCInvokesConcurrent to guard implicit-to-conc GC, it should be ShenandoahImplicicGCInvokesConcurrent instead like in 11+ Testing: hotspot_gc_shenandoah Ok? diff -r 24f427395b33 -r 57ff1d0cfffe src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Mon Sep 30 18:02:24 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Tue Oct 29 13:38:25 2019 +0100 @@ -170,7 +170,7 @@ ?????? heuristics->record_requested_gc(); -????? if (ExplicitGCInvokesConcurrent) { +????? if (ShenandoahImplicitGCInvokesConcurrent) { ???????? policy->record_implicit_to_concurrent(); ???????? mode = concurrent_normal; From shade at redhat.com Tue Oct 29 12:42:06 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Oct 2019 13:42:06 +0100 Subject: RFR [sh/8u]: Use correct flag to guard implicit concurrent GC In-Reply-To: <0a7bc20e-3d50-7f91-078a-599ecfb88900@redhat.com> References: <0a7bc20e-3d50-7f91-078a-599ecfb88900@redhat.com> Message-ID: <492a78bc-3aa4-5e54-908a-70a4511d81f0@redhat.com> On 10/29/19 1:42 PM, Roman Kennke wrote: > This is an 8-only bug. We're using ExplicicGCInvokesConcurrent to guard implicit-to-conc GC, it > should be ShenandoahImplicicGCInvokesConcurrent instead like in 11+ > > Testing: hotspot_gc_shenandoah > > Ok? > > diff -r 24f427395b33 -r 57ff1d0cfffe > src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Mon Sep 30 18:02:24 2019 > +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp Tue Oct 29 13:38:25 2019 > +0100 > @@ -170,7 +170,7 @@ > > ?????? heuristics->record_requested_gc(); > > -????? if (ExplicitGCInvokesConcurrent) { > +????? if (ShenandoahImplicitGCInvokesConcurrent) { > ???????? policy->record_implicit_to_concurrent(); > ???????? mode = concurrent_normal; Yes! -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 29 12:43:30 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Tue, 29 Oct 2019 12:43:30 +0000 Subject: hg: shenandoah/jdk8/hotspot: Use correct flag to guard implicit concurrent GC Message-ID: <201910291243.x9TChUhf016009@aojmv0008.oracle.com> Changeset: 06c9bab61f02 Author: rkennke Date: 2019-10-29 13:45 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/06c9bab61f02 Use correct flag to guard implicit concurrent GC ! src/share/vm/gc_implementation/shenandoah/shenandoahControlThread.cpp From shade at redhat.com Tue Oct 29 19:55:30 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Oct 2019 20:55:30 +0100 Subject: [8] RFR: Backport Shenandoah x86_32 support Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/8u-32-bit/webrev.01/ This backports x86_32 support for Shenandoah. It is actually three patches: - [backport] 8225111: Make Shenandoah tests work with 32-bit VMs - Disable JNI tests for 32-bit platforms, due to lack of jtreg support - [backport] 8225048: Shenandoah x86_32 support The middle one is 8u-specific and needed to pass hotspot_gc_shenandoah cleanly on 32-bit. Once more 8u upstream work happens, we would enable those back. The backport itself misses the significant chunks of Traversal-related and arraycopy-related changes, those would need to be brought in with their respective backports. I also had to drill a few new barrier holes in x86_32 interpreter -- those match the similar places in x86_64 one. C1 and C2 seem to cover x86_32 cases well. The rest is usual _LP64 dance, with the notable exception of saving/restoring the registers prior to SR::load_reference_barrier_interpreter call. Testing: {x86_64, x86_32} hotspot_gc_shenandoah; specjvm (with full verification); jcstress (running now) -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 29 21:03:34 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 29 Oct 2019 22:03:34 +0100 Subject: [8] RFR: Backport Shenandoah x86_32 support In-Reply-To: References: Message-ID: <46767254-f68f-9e16-b83d-0a55e5235215@redhat.com> In src/cpu/x86/vm/templateInterpreter_x86_32.cpp: + Label notObj; it could go into the UseShenandoahGC scope, couldn't it? Otherwise looks good! Great work! Thanks, Roman > https://cr.openjdk.java.net/~shade/shenandoah/8u-32-bit/webrev.01/ > > This backports x86_32 support for Shenandoah. It is actually three patches: > - [backport] 8225111: Make Shenandoah tests work with 32-bit VMs > - Disable JNI tests for 32-bit platforms, due to lack of jtreg support > - [backport] 8225048: Shenandoah x86_32 support > > The middle one is 8u-specific and needed to pass hotspot_gc_shenandoah cleanly on 32-bit. Once more > 8u upstream work happens, we would enable those back. > > The backport itself misses the significant chunks of Traversal-related and arraycopy-related > changes, those would need to be brought in with their respective backports. > > I also had to drill a few new barrier holes in x86_32 interpreter -- those match the similar places > in x86_64 one. C1 and C2 seem to cover x86_32 cases well. The rest is usual _LP64 dance, with the > notable exception of saving/restoring the registers prior to SR::load_reference_barrier_interpreter > call. > > Testing: {x86_64, x86_32} hotspot_gc_shenandoah; specjvm (with full verification); jcstress (running > now) > From shade at redhat.com Tue Oct 29 21:34:47 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 29 Oct 2019 22:34:47 +0100 Subject: [8] RFR: Backport Shenandoah x86_32 support In-Reply-To: <46767254-f68f-9e16-b83d-0a55e5235215@redhat.com> References: <46767254-f68f-9e16-b83d-0a55e5235215@redhat.com> Message-ID: On 10/29/19 10:03 PM, Roman Kennke wrote: > In src/cpu/x86/vm/templateInterpreter_x86_32.cpp: > > + Label notObj; > > it could go into the UseShenandoahGC scope, couldn't it? Yes, it can. I would put it inside UseShenandoahGC block before push. -- Thanks, -Aleksey From rkennke at redhat.com Tue Oct 29 21:40:01 2019 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 29 Oct 2019 22:40:01 +0100 Subject: [8] RFR: Backport Shenandoah x86_32 support In-Reply-To: References: <46767254-f68f-9e16-b83d-0a55e5235215@redhat.com> Message-ID: > On 10/29/19 10:03 PM, Roman Kennke wrote: >> In src/cpu/x86/vm/templateInterpreter_x86_32.cpp: >> >> + Label notObj; >> >> it could go into the UseShenandoahGC scope, couldn't it? > > Yes, it can. I would put it inside UseShenandoahGC block before push. Then go! Cheers, Roman From shade at redhat.com Tue Oct 29 21:41:30 2019 From: shade at redhat.com (shade at redhat.com) Date: Tue, 29 Oct 2019 21:41:30 +0000 Subject: hg: shenandoah/jdk8/hotspot: 3 new changesets Message-ID: <201910292141.x9TLfUP1005941@aojmv0008.oracle.com> Changeset: 379aec26322c Author: shade Date: 2019-06-02 10:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/379aec26322c [backport] 8225111: Make Shenandoah tests work with 32-bit VMs Reviewed-by: rkennke ! test/gc/shenandoah/TestHumongousThreshold.java ! test/gc/shenandoah/TestLargeObjectAlignment.java ! test/gc/shenandoah/compiler/TestNullCheck.java ! test/gc/shenandoah/compiler/TestReferenceCAS.java ! test/gc/shenandoah/jvmti/TestHeapDump.sh ! test/gc/shenandoah/options/TestObjectAlignment.java Changeset: bceb0f735e47 Author: shade Date: 2019-10-29 22:40 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/bceb0f735e47 Disable JNI tests for 32-bit platforms, due to lack of jtreg support ! test/gc/shenandoah/jni/TestCriticalNativeArgs.sh ! test/gc/shenandoah/jni/TestCriticalNativeStress.sh ! test/gc/shenandoah/jni/TestJNICritical.sh ! test/gc/shenandoah/jni/TestJNIGlobalRefs.sh ! test/gc/shenandoah/jni/TestPinnedGarbage.sh ! test/gc/shenandoah/jvmti/TestHeapDump.sh Changeset: 1542c6e7f936 Author: shade Date: 2019-06-02 10:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/1542c6e7f936 [backport] 8225048: Shenandoah x86_32 support Reviewed-by: erikj, rkennke ! src/cpu/x86/vm/shenandoahBarrierSetAssembler_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/x86_32.ad ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/runtime/arguments.cpp From shade at redhat.com Wed Oct 30 10:14:33 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 11:14:33 +0100 Subject: [8] 2019-10-30: Bulk backports to sh/jdk8 Message-ID: <4d8bd0e4-b4f2-efe8-ff63-e408a6789aa8@redhat.com> https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191030/webrev.01/ This backports the follow-up LRB bugfixes and other performance improvements: [backport] 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info [backport] 8229707: [TESTBUG] Some Shenandoah tests assume Server VM by default [backport] 8229350: Shenandoah does not need barriers before CreateEx [backport] 8225046: Shenandoah metrics logs refactoring [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction [backport] 8224932: Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock [backport] 8229231: Shenandoah: Non-PCH builds failed after JDK-8224932 [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong [backport] 8232575: Shenandoah: asynchronous object/region pinning [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc Testing: {x86_32, x86_64} x {fastdebug, release} hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 30 10:24:49 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 11:24:49 +0100 Subject: [8] 2019-10-30: Bulk backports to sh/jdk8 In-Reply-To: <4d8bd0e4-b4f2-efe8-ff63-e408a6789aa8@redhat.com> References: <4d8bd0e4-b4f2-efe8-ff63-e408a6789aa8@redhat.com> Message-ID: <2b820ade-62eb-7b85-cd61-08aa55c0d098@redhat.com> Great, go! Changes look good. Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191030/webrev.01/ > > This backports the follow-up LRB bugfixes and other performance improvements: > > [backport] 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info > [backport] 8229707: [TESTBUG] Some Shenandoah tests assume Server VM by default > [backport] 8229350: Shenandoah does not need barriers before CreateEx > [backport] 8225046: Shenandoah metrics logs refactoring > [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction > [backport] 8224932: Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock > [backport] 8229231: Shenandoah: Non-PCH builds failed after JDK-8224932 > [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking > [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases > [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment > [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong > [backport] 8232575: Shenandoah: asynchronous object/region pinning > [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require > cancelled gc > > Testing: {x86_32, x86_64} x {fastdebug, release} hotspot_gc_shenandoah > From shade at redhat.com Wed Oct 30 10:32:16 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 30 Oct 2019 10:32:16 +0000 Subject: hg: shenandoah/jdk8/hotspot: 13 new changesets Message-ID: <201910301032.x9UAWGR1027848@aojmv0008.oracle.com> Changeset: d0912bb7bdfa Author: roland Date: 2019-09-26 17:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/d0912bb7bdfa [backport] 8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info Reviewed-by: shade, rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp + test/gc/shenandoah/compiler/CallMultipleCatchProjs.java Changeset: 3914b48481ac Author: shade Date: 2019-08-14 20:32 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/3914b48481ac [backport] 8229707: [TESTBUG] Some Shenandoah tests assume Server VM by default Reviewed-by: rkennke ! test/gc/shenandoah/compiler/TestWriteBarrierClearControl.java Changeset: f88ae7f24e3b Author: shade Date: 2019-08-09 13:07 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f88ae7f24e3b [backport] 8229350: Shenandoah does not need barriers before CreateEx Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp Changeset: f03386fe304d Author: shade Date: 2019-06-03 14:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/f03386fe304d [backport] 8225046: Shenandoah metrics logs refactoring Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMetrics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMetrics.hpp Changeset: b0e521a0c3ec Author: shade Date: 2019-10-01 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/b0e521a0c3ec [backport] 8231667: Shenandoah: Full GC should take empty regions into slices for compaction Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: cdda3f9e91c7 Author: zgu Date: 2019-05-29 09:43 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/cdda3f9e91c7 [backport] 8224932: Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp - src/share/vm/gc_implementation/shenandoah/shenandoahHeapLock.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahLock.hpp Changeset: 21d8d6bb2a5c Author: zgu Date: 2019-08-07 12:26 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/21d8d6bb2a5c [backport] 8229231: Shenandoah: Non-PCH builds failed after JDK-8224932 Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahLock.hpp Changeset: c1762d9e3797 Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c1762d9e3797 [backport] 8232534: Shenandoah: guard against reentrant ShenandoahHeapLock locking Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahLock.hpp Changeset: ecbb48f68293 Author: shade Date: 2019-10-17 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/ecbb48f68293 [backport] 8232573: Shenandoah: cleanup and add more logging for in-pause phases Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPhaseTimings.hpp Changeset: c1fb0aea689b Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/c1fb0aea689b [backport] 8231947: Shenandoah: cleanup ShenandoahHumongousMoves flag treatment Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp + test/gc/shenandoah/options/TestHumongousMoves.java Changeset: e7d2bf49281b Author: shade Date: 2019-10-14 11:03 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e7d2bf49281b [backport] 8232176: Shenandoah: new assert in ShenandoahEvacuationTask is too strong Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp Changeset: 6dd7867f6803 Author: shade Date: 2019-10-21 15:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/6dd7867f6803 [backport] 8232575: Shenandoah: asynchronous object/region pinning Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPhaseTimings.hpp Changeset: e9d60bdac4b5 Author: shade Date: 2019-10-22 18:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/e9d60bdac4b5 [backport] 8232802: Shenandoah: transition between "cset" and "pinned_cset" does not require cancelled gc Reviewed-by: zgu ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp From shade at redhat.com Wed Oct 30 11:26:38 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 12:26:38 +0100 Subject: [11] RFR/RFC: Pick up 11.0.6+1 to sh/jdk11 Message-ID: 11u updates project had tagged the 11.0.6+1, which includes lots of outstanding changes in 11u project. Let's pick those up. I believe I did the merge right, but there are generally awkward things that might need follow-ups. Notably, new CAS matchers in aarch64.ad and BSC2::clone_barrier hooks. This would become more clear after we push and look through build/test/webrev results. Changeset list: https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.6%2b1/changesets.txt Merge changeset (large): http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.6%2b1/merge.changeset Testing: hotspot_gc_shenandoah {fastdebug,release} -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 30 12:17:01 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 13:17:01 +0100 Subject: [11] RFR/RFC: Pick up 11.0.6+1 to sh/jdk11 In-Reply-To: References: Message-ID: <088a81d1-d559-9226-6335-c5f74a81e480@redhat.com> OK. Let's do it. Roman > 11u updates project had tagged the 11.0.6+1, which includes lots of outstanding changes in 11u > project. Let's pick those up. > > I believe I did the merge right, but there are generally awkward things that might need follow-ups. > Notably, new CAS matchers in aarch64.ad and BSC2::clone_barrier hooks. This would become more clear > after we push and look through build/test/webrev results. > > Changeset list: > https://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.6%2b1/changesets.txt > > Merge changeset (large): > http://cr.openjdk.java.net/~shade/shenandoah/merges/jdk11-11.0.6%2b1/merge.changeset > > Testing: hotspot_gc_shenandoah {fastdebug,release} > From shade at redhat.com Wed Oct 30 12:18:19 2019 From: shade at redhat.com (shade at redhat.com) Date: Wed, 30 Oct 2019 12:18:19 +0000 Subject: hg: shenandoah/jdk11: 182 new changesets Message-ID: <201910301218.x9UCIXE7026751@aojmv0008.oracle.com> Changeset: e345263391be Author: lbourges Date: 2019-09-30 15:30 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e345263391be 8230728: Thin stroked shapes are not rendered if affine transform has flip bit Summary: use abs(at.getDeterminant()) in userSpaceLineWidth() to ensure positive value Reviewed-by: prr, jdv ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java + test/jdk/sun/java2d/marlin/FlipBitTest.java Changeset: 3bf13d471753 Author: lbourges Date: 2019-10-01 14:41 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3bf13d471753 8231693: Backout "8230728: Thin stroked shapes are not rendered if affine transform has flip bit" from jdk11u Summary: revert push to jdk11u Reviewed-by: sgehwolf ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java - test/jdk/sun/java2d/marlin/FlipBitTest.java Changeset: aafefab6f9ec Author: andrew Date: 2019-10-15 21:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aafefab6f9ec Added tag jdk-11.0.5-ga for changeset 6385eb06af94 ! .hgtags Changeset: dff66d0cfc60 Author: andrew Date: 2019-10-15 22:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/dff66d0cfc60 Merge Changeset: 355bc0967a7f Author: goetz Date: 2019-08-28 10:59 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/355bc0967a7f Added tag jdk-11.0.6+0 for changeset 7431ec494a29 ! .hgtags Changeset: 3f01d36ea558 Author: goetz Date: 2019-08-12 12:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3f01d36ea558 8229408: Bump update version for OpenJDK: jdk-11.0.6 Reviewed-by: shade ! make/autoconf/version-numbers Changeset: a1b7cc187add Author: prr Date: 2019-08-28 09:01 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a1b7cc187add 8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 Summary: Prefer the older v35 freetype byte code interpreter. Reviewed-by: serb, neugens Contributed-by: alvdavi at amazon.com ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 93ce869a551e Author: kbarrett Date: 2018-12-08 18:52 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/93ce869a551e 8214315: G1: fatal error: acquiring lock SATB_Q_FL_lock/1 out of order with lock tty_lock/0 Summary: Add new 'tty' lock rank. Reviewed-by: eosterlund, tschatzl ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/runtime/mutexLocker.cpp Changeset: 245d6b7a9d38 Author: stuefe Date: 2019-04-05 11:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/245d6b7a9d38 8222015: Small VM.metaspace improvements Reviewed-by: jiangli, coleenp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/metaspaceCommon.cpp ! src/hotspot/share/memory/metaspace/metaspaceCommon.hpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.hpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp ! src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.hpp Changeset: 6421c819cd67 Author: stuefe Date: 2019-05-22 09:33 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6421c819cd67 8224193: stringStream should not use Resouce Area Reviewed-by: goetz, coleenp, dholmes ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp + test/hotspot/gtest/utilities/test_ostream.cpp Changeset: 831b5526339c Author: mbaesken Date: 2019-06-05 16:53 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/831b5526339c 8224958: add os::dll_load calls to event log Reviewed-by: dholmes, mdoerr, stuefe ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: 3d6a6a62883f Author: ysuenaga Date: 2019-07-11 08:19 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3d6a6a62883f 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: c975c98d5658 Author: egahlin Date: 2019-09-02 09:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c975c98d5658 8205516: JFR tool Reviewed-by: mgronlun + make/launcher/Launcher-jdk.jfr.gmk ! src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp ! src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp ! src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp ! src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/TimeConverter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/OldObjectSample.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkHeader.java + src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/RecordingInternals.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Assemble.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Command.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Disassemble.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/EventPrintWriter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Help.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/JSONWriter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Metadata.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/PrettyWriter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/StructuredWriter.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Summary.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/UserDataException.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/UserSyntaxException.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Version.java + src/jdk.jfr/share/classes/jdk/jfr/internal/tool/XMLWriter.java ! src/jdk.jfr/share/classes/module-info.java ! test/jdk/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java + test/jdk/jdk/jfr/tool/ExecuteHelper.java + test/jdk/jdk/jfr/tool/TestAssemble.java + test/jdk/jdk/jfr/tool/TestDisassemble.java + test/jdk/jdk/jfr/tool/TestHelp.java + test/jdk/jdk/jfr/tool/TestMetadata.java + test/jdk/jdk/jfr/tool/TestPrint.java + test/jdk/jdk/jfr/tool/TestPrintDefault.java + test/jdk/jdk/jfr/tool/TestPrintJSON.java + test/jdk/jdk/jfr/tool/TestPrintXML.java + test/jdk/jdk/jfr/tool/TestSummary.java + test/jdk/jdk/jfr/tool/jfr.xsd ! test/jdk/tools/launcher/HelpFlagsTest.java ! test/jdk/tools/launcher/VersionCheck.java Changeset: 04c396b2118b Author: egahlin Date: 2018-12-05 18:08 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/04c396b2118b 8214896: JFR Tool left files behind Reviewed-by: mgronlun - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Command.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Execute.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/HelpCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/JSONWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrettyWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrintCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/ReconstructCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SplitCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/StructuredWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SummaryCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/XMLWriter.java - test/jdk/jdk/jfr/cmd/ExecuteHelper.java - test/jdk/jdk/jfr/cmd/TestHelp.java - test/jdk/jdk/jfr/cmd/TestPrint.java - test/jdk/jdk/jfr/cmd/TestPrintDefault.java - test/jdk/jdk/jfr/cmd/TestPrintJSON.java - test/jdk/jdk/jfr/cmd/TestPrintXML.java - test/jdk/jdk/jfr/cmd/TestReconstruct.java - test/jdk/jdk/jfr/cmd/TestSplit.java - test/jdk/jdk/jfr/cmd/TestSummary.java Changeset: 6d9c89ed4b8b Author: egahlin Date: 2018-12-06 23:38 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6d9c89ed4b8b 8214925: JFR tool fails to execute Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java ! test/jdk/jdk/jfr/tool/ExecuteHelper.java ! test/jdk/jdk/jfr/tool/TestAssemble.java ! test/jdk/jdk/jfr/tool/TestDisassemble.java ! test/jdk/jdk/jfr/tool/TestHelp.java ! test/jdk/jdk/jfr/tool/TestMetadata.java ! test/jdk/jdk/jfr/tool/TestPrint.java ! test/jdk/jdk/jfr/tool/TestPrintDefault.java ! test/jdk/jdk/jfr/tool/TestPrintJSON.java ! test/jdk/jdk/jfr/tool/TestPrintXML.java ! test/jdk/jdk/jfr/tool/TestSummary.java Changeset: c4f7f80f00a9 Author: stuefe Date: 2019-03-26 15:46 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c4f7f80f00a9 8221406: Windows 32bit build error in NetworkInterface_winXP.c Reviewed-by: clanger ! src/java.base/windows/native/libnet/NetworkInterface_winXP.c Changeset: c75c5c7307b0 Author: mchung Date: 2019-08-15 13:41 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c75c5c7307b0 8193325: StackFrameInfo::getByteCodeIndex returns wrong value if bci > 32767 Reviewed-by: coleenp, fparain, shade, plevart ! src/hotspot/share/classfile/javaClasses.cpp ! src/java.base/share/classes/java/lang/StackFrameInfo.java Changeset: 72f5227654f7 Author: stefank Date: 2019-07-02 12:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/72f5227654f7 8227086: Use AS_NO_KEEPALIVE loads in HeapDumper Reviewed-by: kbarrett, sspitsyn ! src/hotspot/share/services/heapDumper.cpp Changeset: 9e84e20b29d0 Author: roland Date: 2019-01-14 15:07 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9e84e20b29d0 8216135: C2 assert(!had_error) failed: bad dominance Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: c8013c5d9afd Author: thartmann Date: 2018-08-24 08:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c8013c5d9afd 8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place" Summary: Deoptimize if exception is thrown in _clone intrinsic. Reviewed-by: kvn ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/intrinsics/object/TestClone.java Changeset: 35f06eab5628 Author: thartmann Date: 2019-08-20 07:47 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/35f06eab5628 8228888: C2 compilation fails with assert "m has strange control" Summary: Weakened too strong assert. Reviewed-by: kvn, roland ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/StrangeControl.jasm + test/hotspot/jtreg/compiler/loopopts/TestStrangeControl.java Changeset: a7390630ced0 Author: rkennke Date: 2018-11-06 23:03 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a7390630ced0 8213381: Hook to allow GC to inject Node::Ideal() calls Reviewed-by: kvn, eosterlund, roland ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/phaseX.hpp Changeset: 82ab919d1612 Author: redestad Date: 2018-08-07 23:08 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/82ab919d1612 8209003: Consolidate use of empty collections in java.lang.module Reviewed-by: alanb, mchung ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleFinder.java ! src/java.base/share/classes/jdk/internal/module/Builder.java ! src/java.base/share/classes/jdk/internal/module/ExplodedSystemModules.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfo.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModulePath.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java ! src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java ! test/jdk/java/lang/module/ModuleDescriptorTest.java Changeset: 5d1974dad9ab Author: jiangli Date: 2018-08-10 00:35 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/5d1974dad9ab 8207263: Store the Configuration for system modules into CDS archive. Summary: Archive boot layer Configuration. Reviewed-by: redestad, iklam, ccheung ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java ! test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java ! test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java Changeset: 178a7dfd1a15 Author: redestad Date: 2018-08-13 19:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/178a7dfd1a15 8209120: Archive the Integer.IntegerCache Reviewed-by: jiangli, alanb, plevart, iklam, mchung ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/java.base/share/classes/java/lang/Integer.java + test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java + test/hotspot/jtreg/runtime/appcds/cacheObject/CheckIntegerCacheApp.java Changeset: 3f1b5115bfc2 Author: iklam Date: 2018-08-14 20:46 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3f1b5115bfc2 8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes Summary: Added BASIC_JAVA_CLASSES_DO in javaClasses.hpp Reviewed-by: jiangli, redestad, coleenp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: 6563427cdd91 Author: iklam Date: 2018-08-15 11:19 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6563427cdd91 8209545: Simplify HeapShared::archive_module_graph_objects Summary: Added archivable_static_fields array in heapShared.cpp Reviewed-by: jiangli ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/memory/heapShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 1e47b238c9e2 Author: iklam Date: 2018-08-20 13:58 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/1e47b238c9e2 8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled Summary: Added fieldDescriptor.inline.hpp Reviewed-by: coleenp, shade ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/memory/heapShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jniCheck.cpp ! src/hotspot/share/prims/jvmtiEnter.xsl ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/methodHandles.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/fieldDescriptor.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp + src/hotspot/share/runtime/fieldDescriptor.inline.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: b7e330085143 Author: mseledtsov Date: 2019-03-07 12:15 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b7e330085143 8213448: [TESTBUG] enhance jfr/jvm/TestDumpOnCrash Summary: added 2 more crash scenarios, removed dumponexit, and more Reviewed-by: egahlin ! test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java Changeset: de8faae8d8d9 Author: stuefe Date: 2019-05-24 09:02 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/de8faae8d8d9 8220394: bufferedStream does not honor size limit Reviewed-by: dholmes, clanger ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/utilities/test_ostream.cpp Changeset: b432283fcda0 Author: stuefe Date: 2019-06-05 19:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b432283fcda0 8225225: stringStream internal buffer should always be zero terminated Reviewed-by: coleenp, dholmes ! src/hotspot/share/utilities/ostream.cpp ! src/hotspot/share/utilities/ostream.hpp ! test/hotspot/gtest/utilities/test_ostream.cpp Changeset: 3cf5d6bcc927 Author: goetz Date: 2019-09-04 10:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3cf5d6bcc927 Merge ! .hgtags Changeset: 616976ac20be Author: roland Date: 2018-08-22 10:29 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/616976ac20be 8209691: Allow MemBar on single memory slice Reviewed-by: kvn, vlivanov ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/formssel.hpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/adlc/output_h.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/node.hpp Changeset: aa5da734f27f Author: pliden Date: 2019-01-09 13:31 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aa5da734f27f 8215708: ZGC: Add missing LoadBarrierNode::size_of() Reviewed-by: eosterlund, neliasso ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Changeset: 68a0a8b52989 Author: neliasso Date: 2019-01-09 15:36 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/68a0a8b52989 8215755: ZGC: split_barrier_thru_phi: check number of inputs of phi Reviewed-by: pliden, thartmann ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: 161e95741d67 Author: thartmann Date: 2019-08-13 09:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/161e95741d67 8228772: C2 compilation fails due to unschedulable graph if DominatorSearchLimit is reached Summary: Ignore membar if the load is already control dependent on it. Reviewed-by: neliasso, kvn ! src/hotspot/share/opto/gcm.cpp + test/hotspot/jtreg/compiler/controldependency/TestAntiDependentMembar.java Changeset: a0adaf820255 Author: neliasso Date: 2019-05-31 10:13 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a0adaf820255 8224538: LoadBarrierNode::common_barrier must check address Reviewed-by: thartmann, kvn ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Changeset: d37689f54455 Author: ascarpino Date: 2018-12-10 09:19 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d37689f54455 8214098: sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards. Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/HandshakeHash.java Changeset: 681336e0d26d Author: thartmann Date: 2018-09-12 09:23 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/681336e0d26d 8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced" Summary: Refresh iterator and start from the beginning while there is progress when removing dead regions. Reviewed-by: kvn ! src/hotspot/share/opto/phaseX.cpp + test/hotspot/jtreg/compiler/c2/TestUnreachableRegionDuringCCP.java Changeset: adae7dbb4a79 Author: ctornqvi Date: 2019-04-01 14:34 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/adae7dbb4a79 8212627: [TESTBUG] runtime/CreateMirror/ArraysNewInstanceBug.java timed out Reviewed-by: coleenp, dcubed, hseigel ! test/hotspot/jtreg/runtime/CreateMirror/ArraysNewInstanceBug.java Changeset: d628b65ceb25 Author: eosterlund Date: 2018-08-15 09:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d628b65ceb25 8208582: Introduce native oop barriers in C1 for OopHandle Reviewed-by: coleenp, kvn ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp Changeset: e49e0f1411ec Author: naoto Date: 2019-07-09 08:05 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e49e0f1411ec 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: c86336df8704 Author: eosterlund Date: 2018-08-22 13:06 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c86336df8704 8208601: Introduce native oop barriers in C2 for OopHandle Reviewed-by: neliasso, kvn ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! 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/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/subnode.cpp Changeset: e77726484446 Author: eosterlund Date: 2018-09-05 10:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e77726484446 8210158: Accessorize JFR getEventWriter() intrinsics Reviewed-by: kvn, neliasso, roland, rbackman ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/opto/library_call.cpp Changeset: 0b5b217834ff Author: xliu Date: 2019-09-04 16:39 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/0b5b217834ff 8229450: C2 compilation fails with assert(found_sfpt) failed Reviewed-by: roland, thartmann ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopstripmining/LoadDependsOnIfIdenticalToLoopExit.java Changeset: 76d1c4ad9720 Author: mgronlun Date: 2019-07-03 11:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/76d1c4ad9720 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/vm_operations.hpp Changeset: 9df529dc674f Author: mgronlun Date: 2019-08-02 10:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9df529dc674f 8228834: Regression caused by JDK-8214542 not installing complete checkpoint data to candidates Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp Changeset: dd8cc588a989 Author: mgronlun Date: 2019-09-02 13:57 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/dd8cc588a989 8229437: assert(is_aligned(ref, HeapWordSize)) failed: invariant Reviewed-by: egahlin ! src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp ! src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp Changeset: a0fe83b40d82 Author: mikael Date: 2019-02-14 15:17 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a0fe83b40d82 8218935: Make jfr strncpy uses GCC 8.x friendly Reviewed-by: clanger ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadGroup.cpp ! src/hotspot/share/jfr/recorder/repository/jfrChunkState.cpp ! src/hotspot/share/jfr/recorder/repository/jfrRepository.cpp Changeset: f43dada3e483 Author: shade Date: 2019-09-05 19:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f43dada3e483 8230646: Epsilon does not extend TLABs to max size Reviewed-by: tschatzl, zgu ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp Changeset: 11610f4ddc4b Author: hseigel Date: 2019-01-17 08:48 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/11610f4ddc4b 8215699: -Xlog::file cannot be used with named pipe Summary: If the log file is a named pipe then change the default file_count to zero so no log file rotation is attempted. Reviewed-by: lfoltan, coleenp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/os/windows/os_windows.hpp ! src/hotspot/share/logging/logFileOutput.cpp ! src/hotspot/share/logging/logFileOutput.hpp Changeset: ea2ed9cda3a1 Author: cjplummer Date: 2019-03-13 19:42 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ea2ed9cda3a1 8220352: Crash with assert(external_guard || result != __null) failed: Invalid JNI handle Summary: Don't delete globalrefs that might still be referenced Reviewed-by: gadams, jcbeyler, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWait/monitorwait001/monitorwait001.c ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWaited/monitorwaited001/monitorwaited001.c Changeset: e22a6a1aec50 Author: neliasso Date: 2019-04-17 09:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e22a6a1aec50 8218468: Load barrier slow path node should be MachTypeNode Reviewed-by: shade, pliden, kvn ! src/hotspot/share/adlc/formssel.cpp Changeset: 4d18c3d9f0bd Author: rkennke Date: 2018-10-18 21:14 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4d18c3d9f0bd 8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance" Reviewed-by: thartmann, kvn, shade ! src/hotspot/share/opto/callnode.cpp + test/hotspot/jtreg/compiler/gcbarriers/EqvUncastStepOverBarrier.java Changeset: 6b379a93915a Author: thartmann Date: 2019-08-07 12:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6b379a93915a 8229016: C2 scalarization crashes with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required Summary: Detect array copy to self to avoid emitting another load to the to-be-removed allocation. Reviewed-by: kvn ! src/hotspot/share/opto/macro.cpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java Changeset: eab7fb29e36d Author: ysuenaga Date: 2019-03-16 21:27 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/eab7fb29e36d 8220555: JFR tool shows potentially misleading message when it cannot access a file Reviewed-by: egahlin, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Command.java ! test/jdk/jdk/jfr/tool/TestPrint.java Changeset: 6f60110e73b5 Author: mseledtsov Date: 2019-04-15 11:44 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6f60110e73b5 8221711: [TESTBUG] create more tests for JFR in container environment Summary: Added test cases for environment and network events Reviewed-by: egahlin + test/hotspot/jtreg/containers/docker/JfrNetwork.java ! test/hotspot/jtreg/containers/docker/JfrReporter.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java + test/hotspot/jtreg/containers/docker/TestJFRNetworkEvents.java ! test/jtreg-ext/requires/VMProps.java Changeset: bb4b8bcf1953 Author: mseledtsov Date: 2019-04-25 11:45 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bb4b8bcf1953 8222888: [TESTBUG] docker/TestJFREvents.java fails due to "RuntimeException: JAVA_MAIN_CLASS_ is not defined" Summary: Introduced unique environment variable Reviewed-by: egahlin, lmesnik, sgehwolf ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 94905164d585 Author: cito Date: 2019-05-10 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/94905164d585 8221569: JFR tool produces incorrect output when both --categories and --events are specified Reviewed-by: mgronlun Contributed-by: chihiro.ito at oracle.com, erik.gahlin at oracle.com ! src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java Changeset: 5a7106d40be1 Author: egahlin Date: 2019-06-06 20:19 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/5a7106d40be1 8216283: Allow shorter method sampling interval than 10 ms Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc Changeset: f438b841178c Author: mdoerr Date: 2018-11-09 15:19 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f438b841178c 8213604: Fix missing includes after JDK-8212673 Reviewed-by: tschatzl, roland ! src/hotspot/share/opto/callnode.cpp Changeset: ceb33245bff7 Author: goetz Date: 2019-09-11 17:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ceb33245bff7 Merge ! .hgtags Changeset: 81e528c07560 Author: smarks Date: 2019-09-11 17:15 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/81e528c07560 8227368: EnumSet.class serialization broken in JDK 9+ Reviewed-by: plevart, clanger ! src/java.base/share/classes/java/util/EnumSet.java ! test/jdk/java/util/EnumSet/BogusEnumSet.java + test/jdk/java/util/EnumSet/EnumSetClassSerialization.java Changeset: 11f65f9dc7d8 Author: goetz Date: 2019-09-12 09:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/11f65f9dc7d8 Merge Changeset: 223227e8e4ca Author: thartmann Date: 2018-11-01 14:15 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/223227e8e4ca 8213014: Crash in CompileBroker::make_thread due to OOM Summary: Added missing null checks and checks for pending exception. Reviewed-by: kvn, dholmes, mdoerr ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp Changeset: be4a9e9b04d4 Author: shade Date: 2019-09-02 11:31 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/be4a9e9b04d4 8230238: Add another regression test for JDK-8134739 Reviewed-by: kvn + test/hotspot/jtreg/compiler/loopopts/superword/TestFuzzPreLoop.java Changeset: 9787bfedcaf0 Author: shade Date: 2019-09-10 19:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9787bfedcaf0 8230813: Add JDK-8010500 to compiler/loopopts/superword/TestFuzzPreLoop.java bug list Reviewed-by: zgu ! test/hotspot/jtreg/compiler/loopopts/superword/TestFuzzPreLoop.java Changeset: 22868f45829d Author: coleenp Date: 2018-09-14 12:10 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/22868f45829d 8210559: ClassLoaderData Symbols can leak Summary: unrefcount the symbol names when the CLD is destroyed Reviewed-by: lfoltan, jiangli, iklam ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java ! test/hotspot/jtreg/runtime/testlibrary/ClassUnloadCommon.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 789f9eed315c Author: mbaesken Date: 2019-09-05 09:59 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/789f9eed315c 8230466: check malloc/calloc results in jdk.hotspot.agent Reviewed-by: cjplummer, ysuenaga, sspitsyn ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m ! src/jdk.hotspot.agent/macosx/native/libsaproc/symtab.c Changeset: 00016eaf4070 Author: mbaesken Date: 2019-09-06 16:15 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/00016eaf4070 8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG Reviewed-by: mdoerr ! src/hotspot/share/opto/escape.cpp Changeset: cdf7b5d139f7 Author: mbaesken Date: 2019-09-09 16:34 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/cdf7b5d139f7 8230769: BufImg_SetupICM add ReleasePrimitiveArrayCritical call in early return Reviewed-by: prr, stuefe ! src/java.desktop/share/native/libawt/awt/image/BufImgSurfaceData.c Changeset: 219372e8fa3e Author: mbaesken Date: 2019-09-03 17:52 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/219372e8fa3e 8229182: runtime/containers/docker/TestMemoryAwareness.java test fails on SLES12 Reviewed-by: clanger, mseledtsov ! test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java ! test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 2dbf6950d6bb Author: roland Date: 2018-11-05 12:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2dbf6950d6bb 8209835: Aarch64: elide barriers on all volatile operations Reviewed-by: aph, adinn ! src/hotspot/cpu/aarch64/aarch64.ad + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAE.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAA.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAS.java + test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileWeakCAS.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMS.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMSCondMark.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesG1.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesParallel.java ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesSerial.java Changeset: 7fc6294146f5 Author: kaddepalli Date: 2019-04-25 15:19 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7fc6294146f5 8219914: Change the environment variable for Java Access Bridge logging to have a directory. Reviewed-by: prr ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.cpp ! src/jdk.accessibility/windows/native/common/AccessBridgeDebug.h ! src/jdk.accessibility/windows/native/libjavaaccessbridge/JavaAccessBridge.cpp ! src/jdk.accessibility/windows/native/libwindowsaccessbridge/WinAccessBridge.cpp Changeset: 5ad0bf2a4ebd Author: coleenp Date: 2019-08-29 08:52 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/5ad0bf2a4ebd 8216977: ShowHiddenFrames use in java_lang_StackTraceElement::fill_in appears broken Summary: Return NULL source file and negative line number for hidden frames. Reviewed-by: dholmes, hseigel ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.inline.hpp + test/hotspot/jtreg/runtime/StackTrace/HiddenFrameTest.java Changeset: 113f6fe71303 Author: jiefu Date: 2019-08-30 01:21 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/113f6fe71303 8230376: [TESTBUG] runtime/StackTrace/HiddenFrameTest.java fails with release VM Reviewed-by: dholmes ! test/hotspot/jtreg/runtime/StackTrace/HiddenFrameTest.java Changeset: f28afdf97bd1 Author: roland Date: 2019-08-23 14:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f28afdf97bd1 8229701: aarch64: C2 OSR compilation fails with "shouldn't process one node several times" in final graph reshaping Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/compile.cpp + test/hotspot/jtreg/compiler/c2/aarch64/ConvI2LWideningAssertTooStrong.java Changeset: de615b5fab0c Author: sgehwolf Date: 2019-07-08 17:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/de615b5fab0c 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: f7e6e7ab4ebe Author: goetz Date: 2019-09-18 17:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f7e6e7ab4ebe Merge ! .hgtags - test/fmw/gtest/README Changeset: baed381dfb8c Author: stuefe Date: 2018-12-08 12:09 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/baed381dfb8c 8214975: No hs-err file if fatal error is raised during dynamic initialization Reviewed-by: dholmes, dcubed, clanger ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp + test/hotspot/jtreg/runtime/ErrorHandling/VeryEarlyAssertTest.java Changeset: 37662d78416d Author: goetz Date: 2019-09-19 11:55 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/37662d78416d Merge Changeset: 029965820011 Author: sherman Date: 2018-10-03 12:54 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/029965820011 8211385: (zipfs) ZipDirectoryStream yields a stream of absolute paths when directory is relative Reviewed-by: alanb, lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipDirectoryStream.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! test/jdk/jdk/nio/zipfs/Basic.java Changeset: e4fb925de411 Author: lancea Date: 2019-01-16 17:37 -0500 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e4fb925de411 8211919: ZipDirectoryStream should provide a stream of paths that are relative to the directory Reviewed-by: alanb, clanger ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipDirectoryStream.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipPath.java ! test/jdk/jdk/nio/zipfs/Basic.java + test/jdk/jdk/nio/zipfs/DirectoryStreamTests.java Changeset: 6cb51a5b466c Author: clanger Date: 2019-04-26 08:53 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6cb51a5b466c 8222440: (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present Reviewed-by: lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! test/jdk/jdk/nio/zipfs/jarfs/JFSTester.java - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf4.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf4.txt Changeset: b8c808d0cdda Author: rschmelter Date: 2019-04-17 01:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b8c808d0cdda 8222529: sun.jdwp.listenerAddress agent property uses wrong encoding Reviewed-by: sspitsyn, amenkov, clanger, erikj ! make/lib/Lib-jdk.jdwp.agent.gmk ! src/jdk.jdwp.agent/share/native/libjdwp/util.c Changeset: b8e6cde44910 Author: lancea Date: 2019-05-20 12:24 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b8e6cde44910 8222807: Address iteration with invalid ZIP header entries Reviewed-by: redestad, clanger ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/InvalidZipHeaderTests.java Changeset: 3c31bcc9f8fd Author: mbaesken Date: 2019-05-16 09:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3c31bcc9f8fd 8223438: add VirtualizationInformation JFR event Reviewed-by: clanger, egahlin ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/periodic/jfrOSInterface.cpp ! src/hotspot/share/jfr/periodic/jfrOSInterface.hpp ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/runtime/vm_version.hpp ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc + test/jdk/jdk/jfr/event/os/TestVirtualizationInfo.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: d65ac57e1e04 Author: dcubed Date: 2019-07-10 10:18 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d65ac57e1e04 8227338: templateInterpreter.cpp: copy_table() needs to be safer Reviewed-by: dholmes, eosterlund, sspitsyn, kbarrett ! src/hotspot/share/interpreter/templateInterpreter.cpp Changeset: 9283080c1e8b Author: rschmelter Date: 2019-07-18 10:25 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9283080c1e8b 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: 89880f400b6c Author: egahlin Date: 2018-12-12 18:43 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/89880f400b6c 8214750: Unnecessary

tags in jfr classes Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/package-info.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBean.java Changeset: 2c039137a99c Author: mseledtsov Date: 2019-08-22 10:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2c039137a99c 8226779: [TESTBUG] Test JFR API from Java agent Summary: Created new tests for JFR plus Java Agent Reviewed-by: egahlin + test/jdk/jdk/jfr/javaagent/EventEmitterAgent.java + test/jdk/jdk/jfr/javaagent/JavaAgentBuilder.java + test/jdk/jdk/jfr/javaagent/TestLoadedAgent.java + test/jdk/jdk/jfr/javaagent/TestPremainAgent.java Changeset: 6d947fcb3ea4 Author: clanger Date: 2019-09-20 12:11 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6d947fcb3ea4 8231247: (zipfs) Test failure in jdk/nio/zipfs/InvalidZipHeaderTests.java after backport of JDK-8222807 Reviewed-by: goetz ! test/jdk/jdk/nio/zipfs/InvalidZipHeaderTests.java Changeset: b0436c181872 Author: mbalao Date: 2019-09-12 13:30 -0300 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b0436c181872 8230923: SunJSSE is not properly initialized in FIPS mode from a configuration file Reviewed-by: andrew ! src/java.base/share/classes/sun/security/jca/ProviderConfig.java + test/jdk/sun/security/pkcs11/fips/SunJSSEFIPSInit.java + test/jdk/sun/security/pkcs11/fips/SunJSSEFIPSInitClient.java Changeset: ce2a558bb6b8 Author: stuefe Date: 2019-07-11 06:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ce2a558bb6b8 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: a21290a663ff Author: stuefe Date: 2019-07-01 16:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a21290a663ff 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: 80ea7eac95e2 Author: stuefe Date: 2019-07-02 10:25 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/80ea7eac95e2 8227035: JVM::printFlags fails in native OOM situations Reviewed-by: goetz, gziemski ! src/hotspot/share/runtime/flags/jvmFlag.cpp Changeset: 074b88efa400 Author: goetz Date: 2019-09-25 17:21 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/074b88efa400 Merge ! .hgtags - make/jdk/src/classes/build/tools/tzdb/ZoneRules.java - test/jdk/sun/util/calendar/zi/tzdata/VERSION - test/jdk/sun/util/calendar/zi/tzdata/africa - test/jdk/sun/util/calendar/zi/tzdata/antarctica - test/jdk/sun/util/calendar/zi/tzdata/asia - test/jdk/sun/util/calendar/zi/tzdata/australasia - test/jdk/sun/util/calendar/zi/tzdata/backward - test/jdk/sun/util/calendar/zi/tzdata/etcetera - test/jdk/sun/util/calendar/zi/tzdata/europe - test/jdk/sun/util/calendar/zi/tzdata/factory - test/jdk/sun/util/calendar/zi/tzdata/gmt - test/jdk/sun/util/calendar/zi/tzdata/iso3166.tab - test/jdk/sun/util/calendar/zi/tzdata/jdk11_backward - test/jdk/sun/util/calendar/zi/tzdata/leapseconds - test/jdk/sun/util/calendar/zi/tzdata/northamerica - test/jdk/sun/util/calendar/zi/tzdata/pacificnew - test/jdk/sun/util/calendar/zi/tzdata/solar87 - test/jdk/sun/util/calendar/zi/tzdata/solar88 - test/jdk/sun/util/calendar/zi/tzdata/solar89 - test/jdk/sun/util/calendar/zi/tzdata/southamerica - test/jdk/sun/util/calendar/zi/tzdata/systemv - test/jdk/sun/util/calendar/zi/tzdata/zone.tab - test/jdk/sun/util/calendar/zi/tzdata_jdk/gmt - test/jdk/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward Changeset: eac5a14ee3bb Author: egahlin Date: 2019-06-09 11:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/eac5a14ee3bb 8216064: -XX:StartFlightRecording:settings= doesn't work properly Reviewed-by: mgronlun ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/jni/jfrJavaCall.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/jfc/JFC.java + test/jdk/jdk/jfr/startupargs/TestStartNoSettings.java Changeset: 94db426b3dcd Author: mgronlun Date: 2019-05-30 11:42 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/94db426b3dcd 8224172: assert(jfr_is_event_enabled(id)) failed: invariant Reviewed-by: dcubed, dholmes ! src/hotspot/share/jfr/support/jfrFlush.cpp Changeset: 41b5fca86515 Author: azeller Date: 2019-09-24 14:46 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/41b5fca86515 8230110: TestLinkageErrorInGenerateOopMap times out Reviewed-by: stuefe, clanger, thartmann ! test/hotspot/jtreg/compiler/linkage/TestLinkageErrorInGenerateOopMap.java Changeset: bdca8e8e0db2 Author: jiefu Date: 2019-09-17 20:38 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bdca8e8e0db2 8230943: False deadlock detection with -XX:+CIPrintCompileQueue after JDK-8163511 Reviewed-by: dholmes, thartmann ! src/hotspot/share/compiler/compileBroker.cpp + test/hotspot/jtreg/compiler/print/PrintCompileQueue.java Changeset: 58a573b413a0 Author: mbaesken Date: 2019-09-13 11:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/58a573b413a0 8230901: missing ReleaseStringUTFChars in serviceability native code Reviewed-by: stuefe, sspitsyn ! src/java.instrument/share/native/libinstrument/JPLISAgent.c ! src/jdk.hotspot.agent/solaris/native/libsaproc/saproc.cpp Changeset: 033bb6dbfe4a Author: mbaesken Date: 2019-09-13 07:43 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/033bb6dbfe4a 8230900: missing ReleaseStringUTFChars in java.desktop native code Reviewed-by: clanger, prr ! src/java.desktop/unix/native/common/awt/fontpath.c ! src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp Changeset: 4da3883c5955 Author: mbaesken Date: 2019-09-11 16:13 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4da3883c5955 8230856: Java_java_net_NetworkInterface_getByName0 on unix misses ReleaseStringUTFChars in early return Reviewed-by: dfuchs, stuefe, vtewari ! src/java.base/unix/native/libnet/NetworkInterface.c Changeset: 7a14052a07fc Author: mbaesken Date: 2019-09-11 16:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/7a14052a07fc 8230861: missing ReleaseStringUTFChars in Java_sun_security_pkcs11_wrapper_PKCS11_connect Reviewed-by: alanb, stuefe ! src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/p11_md.c Changeset: f639474f0285 Author: mbaesken Date: 2019-08-02 10:10 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f639474f0285 8228902: add os::dll_load to the unified logging os category Reviewed-by: coleenp, mdoerr ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/solaris/os_solaris.cpp ! src/hotspot/os/windows/os_windows.cpp Changeset: fe7c5377e4b5 Author: shurailine Date: 2018-08-06 15:35 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/fe7c5377e4b5 8208364: java/lang/reflect/callerCache/ReflectionCallerCacheTest.java missing module dependencies declaration Reviewed-by: mchung ! test/jdk/java/lang/reflect/callerCache/ReflectionCallerCacheTest.java Changeset: c5f20150aa9f Author: vromero Date: 2018-10-04 10:19 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c5f20150aa9f 8210789: langtools/tools/javac/T8152616.java missing @modules Reviewed-by: jjg ! test/langtools/tools/javac/T8152616.java Changeset: 2201ae271c28 Author: mseledtsov Date: 2019-08-02 13:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2201ae271c28 8228687: [TESTBUG] exclude Container tests from hotspot_misc group Summary: Excluded hotspot_containers from hotspot_misc Reviewed-by: dcubed, adinn ! test/hotspot/jtreg/TEST.groups Changeset: 29ca0951d8be Author: alanb Date: 2018-12-18 10:26 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/29ca0951d8be 8215449: Several tests failing when jtreg run with -vmoption:--illegal-access=deny Reviewed-by: redestad, mchung, jjg, adinn, clanger ! test/jdk/java/lang/reflect/callerCache/ReflectionCallerCacheTest.java ! test/jdk/java/net/URL/RacyHandler.java Changeset: 380a3fc36b47 Author: mgronlun Date: 2019-03-25 15:37 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/380a3fc36b47 8217362: Emergency dump does not work when disk=false is set Reviewed-by: egahlin, ysuenaga Contributed-by: yasuenag at gmail.com ! src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.cpp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.hpp ! src/hotspot/share/jfr/recorder/repository/jfrRepository.cpp ! test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java Changeset: e394b7696e62 Author: mgronlun Date: 2019-09-02 15:04 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e394b7696e62 8227411: TestTimeMultiple.java failed "assert(!lease()) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp Changeset: 804a23905c3e Author: mgronlun Date: 2019-07-31 16:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/804a23905c3e 8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" Reviewed-by: dholmes, dcubed, egahlin ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdMacros.hpp Changeset: 12ab58e08401 Author: lbourges Date: 2019-09-30 15:30 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/12ab58e08401 8230728: Thin stroked shapes are not rendered if affine transform has flip bit Summary: use abs(at.getDeterminant()) in userSpaceLineWidth() to ensure positive value Reviewed-by: prr, jdv ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java + test/jdk/sun/java2d/marlin/FlipBitTest.java Changeset: a5f064cb3fc6 Author: simonis Date: 2019-03-27 19:47 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a5f064cb3fc6 8220528: [AIX] Fix basic Xinerama and Xrender functionality Reviewed-by: clanger, stuefe, serb ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 076a0dddc118 Author: bobv Date: 2019-06-24 11:49 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/076a0dddc118 8224502: [TESTBUG] JDK docker test TestSystemMetrics.java fails with access issues and OOM Reviewed-by: sgehwolf, mseledtsov ! test/jdk/jdk/internal/platform/docker/TestSystemMetrics.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java Changeset: bb59bf9f0483 Author: sgehwolf Date: 2019-07-12 19:37 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bb59bf9f0483 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: 1a77d77a1a4b Author: sgehwolf Date: 2019-07-22 10:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/1a77d77a1a4b 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: 182a6cbf8e1b Author: clanger Date: 2019-10-04 11:23 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/182a6cbf8e1b 8231318: Several compiler/aot tests fail for JDK11 on Windows when only MSVC 2017 is installed Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java Changeset: 25925d7c7867 Author: mbaesken Date: 2019-08-28 14:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/25925d7c7867 8229284: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage Reviewed-by: mseledtsov, sgehwolf ! test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java Changeset: 74098bf27064 Author: roland Date: 2019-09-23 16:49 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/74098bf27064 8229483: Sinking load out of loop may trigger: assert(found_sfpt) failed: no node in loop that's not input to safepoint Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopstripmining/AntiDependentLoadInOuterStripMinedLoop.java Changeset: 9424c28a8fbb Author: clanger Date: 2019-10-01 14:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9424c28a8fbb 8223869: Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java on more platforms Reviewed-by: goetz ! test/jdk/ProblemList.txt Changeset: 02e4765f84b6 Author: roland Date: 2019-09-17 15:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/02e4765f84b6 8231055: C2: arraycopy with same non escaping src and dest but different positions causes wrong execution Reviewed-by: thartmann, vlivanov ! src/hotspot/share/opto/macro.cpp ! test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java Changeset: efda0b4375cf Author: roland Date: 2019-09-30 17:58 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/efda0b4375cf 8231665: 8231055 broke escapeAnalysis/TestSelfArrayCopy.java Reviewed-by: thartmann ! test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java Changeset: f984acde3a0d Author: rrich Date: 2019-08-30 09:24 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f984acde3a0d 8230363: C2: Let ConnectionGraph::not_global_escape(Node* n) return false if n is not in the CG Reviewed-by: thartmann, mdoerr ! src/hotspot/share/opto/escape.cpp Changeset: 657327d7ef0f Author: thartmann Date: 2019-09-05 13:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/657327d7ef0f 8229496: SIGFPE (division by zero) in C2 OSR compiled method Summary: Adding a CastNode to keep the dependency between the div/mod operation and the zero check. Reviewed-by: roland, mdoerr ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/runtime/vmStructs.cpp + test/hotspot/jtreg/compiler/loopopts/TestDivZeroCheckControl.java Changeset: 6629536d8932 Author: shade Date: 2019-09-06 09:26 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6629536d8932 8230671: x86_32 build failures after JDK-8229496 Reviewed-by: thartmann ! src/hotspot/cpu/x86/x86_32.ad Changeset: 90de47885deb Author: roland Date: 2019-08-28 15:51 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/90de47885deb 8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp + test/hotspot/jtreg/compiler/loopstripmining/DeadNodesInOuterLoopAtLoopCloning.java Changeset: 350056b34705 Author: thartmann Date: 2019-09-26 09:16 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/350056b34705 8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed Summary: Bail out if the range check If has an Opaque4Node input instead of a BoolNode. Reviewed-by: roland, kvn ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopopts.cpp + test/hotspot/jtreg/compiler/loopopts/TestCMovWithOpaque.java Changeset: 3935841a9691 Author: aeubanks Date: 2019-08-19 16:08 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3935841a9691 8229899: Make java.io.File.isInvalid() less racy Reviewed-by: alanb, martin, shade ! src/java.base/share/classes/java/io/File.java Changeset: 414fcac53af5 Author: bpb Date: 2019-10-02 07:50 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/414fcac53af5 8229022: BufferedReader performance can be improved by using StringBuilder Reviewed-by: igerasim, vtewari, dfuchs ! src/java.base/share/classes/java/io/BufferedReader.java Changeset: aafc58f8651b Author: pliden Date: 2019-10-01 12:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aafc58f8651b 8231296: ZGC: vmTestbase/nsk/jvmti/Allocate/alloc001/ fails Reviewed-by: sspitsyn, dcubed, iignatyev ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/TestDescription.java Changeset: 824bd53a4648 Author: pliden Date: 2019-09-26 13:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/824bd53a4648 8231294: ZGC: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002 fails Reviewed-by: shade, dholmes ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002/TestDescription.java Changeset: aab201b6039d Author: dzhou Date: 2019-01-07 18:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aab201b6039d 8215913: [Test_bug]java/util/Locale/LocaleProvidersRun.java failed on de_DE and ja_JP locale. Reviewed-by: naoto, rgoel, rriggs ! test/jdk/java/util/Locale/LocaleProviders.java ! test/jdk/java/util/Locale/LocaleProviders.sh Changeset: c36e89310ddb Author: mbaesken Date: 2019-07-18 14:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/c36e89310ddb 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: 56b1cbdfcab3 Author: prr Date: 2019-08-28 09:13 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/56b1cbdfcab3 8229800: WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll Reviewed-by: jdv, serb, aaivanov ! src/java.desktop/windows/native/common/awt/systemscale/systemScale.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp Changeset: aab77c151379 Author: pliden Date: 2019-03-27 18:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/aab77c151379 8221456: nmethod::make_unloaded() clears _method member too early Reviewed-by: eosterlund, thartmann ! src/hotspot/share/code/nmethod.cpp Changeset: e5cdd545b2c9 Author: shade Date: 2019-09-19 09:50 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/e5cdd545b2c9 8231201: hs_err should print coalesced safepoint operations in Events section Reviewed-by: phh, dholmes ! src/hotspot/share/runtime/vmThread.cpp Changeset: 9b8d1c75f8c7 Author: egahlin Date: 2019-06-06 15:22 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9b8d1c75f8c7 8224217: RecordingInfo should use textual representation of path Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/WriteableUserPath.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/RecordingInfo.java Changeset: a8e6261ca76f Author: kbarrett Date: 2019-07-31 14:28 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a8e6261ca76f 8048556: Unnecessary GCLocker-initiated young GCs Summary: Fixed recognition of unnecessary GCLocker collections. Reviewed-by: pliden, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/vmPSOperations.cpp ! src/hotspot/share/gc/shared/gcLocker.cpp ! src/hotspot/share/gc/shared/gcLocker.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/vmGCOperations.hpp + test/hotspot/jtreg/gc/stress/gclocker/TestExcessGCLockerCollections.java Changeset: 2396dfcc6c64 Author: serb Date: 2019-03-09 14:48 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2396dfcc6c64 8219504: Test for JDK-8211435 can be run on all platforms Reviewed-by: kaddepalli, dmarkov, sveerabhadra ! test/jdk/java/awt/Focus/NullActiveWindowOnFocusLost/NullActiveWindowOnFocusLost.java Changeset: 620c138e271e Author: dtitov Date: 2019-06-20 18:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/620c138e271e 8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout Reviewed-by: sspitsyn, cjplummer ! src/hotspot/os/linux/perfMemory_linux.cpp Changeset: acb9afea8da5 Author: serb Date: 2018-11-09 22:25 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/acb9afea8da5 8213568: Typo in java/awt/GraphicsEnvironment/LoadLock/GE_init5.java Reviewed-by: prr ! test/jdk/java/awt/GraphicsEnvironment/LoadLock/GE_init5.java Changeset: dc3d40f7f6ea Author: jiefu Date: 2019-08-03 09:04 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/dc3d40f7f6ea 8229020: Failure on CPUs allowing loads reordering: assert(_tasks[t] == 1) failed: What else? Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/shared/workgroup.cpp Changeset: 3764fe936196 Author: coffeys Date: 2019-10-09 10:14 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3764fe936196 8231770: Test java/util/zip/FlaterTest.java fails with -Xcheck:jni Reviewed-by: alanb, coffeys, chegar Contributed-by: kiran.sidhartha.ravikumar at oracle.com ! src/java.base/share/native/libzip/Deflater.c ! test/jdk/java/util/zip/FlaterTest.java Changeset: ff9c08e8eb0e Author: joehw Date: 2019-09-30 17:54 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ff9c08e8eb0e 8016914: CoreDocumentImpl.setXmlVersion NPE Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.java + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.xml + test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest1.xml Changeset: 202d733ec479 Author: stefank Date: 2019-04-10 15:41 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/202d733ec479 8221913: Add GC.selected() jtreg-ext function Reviewed-by: kbarrett, pliden ! test/lib/sun/hotspot/gc/GC.java Changeset: b342be15c337 Author: shade Date: 2019-10-01 15:38 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b342be15c337 8231503: [TESTBUG] compiler/{jvmci,aot} tests should not run with GCs that do not support JVMCI/AOT Reviewed-by: kvn, dlong, stefank ! test/jtreg-ext/requires/VMProps.java Changeset: 538e611341b0 Author: chagedorn Date: 2019-09-30 09:29 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/538e611341b0 8230062: assert(i == p->size()-1) failed: must be last element of the pack Summary: Avoids vectorization of reduction chain in which an intermediate result is used. Reviewed-by: roland, thartmann ! src/hotspot/share/opto/superword.cpp Changeset: d3230d497fd7 Author: igerasim Date: 2019-09-10 09:08 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d3230d497fd7 8230303: JDB hangs when running monitor command Reviewed-by: sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java + test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002a.java Changeset: 72b8eec031ee Author: andrew Date: 2019-10-17 07:17 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/72b8eec031ee Merge ! .hgtags ! src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java ! src/java.desktop/share/classes/sun/java2d/marlin/Version.java ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 1f86e4ce4c8c Author: ccheung Date: 2018-09-14 11:17 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/1f86e4ce4c8c 8190737: use unicode version of the canonicalize() function to handle long path on windows Summary: also calling CreateFileW in zip_util.c to handle long path Reviewed-by: sherman, iklam ! src/hotspot/os/windows/include/jvm_md.h ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjava/io_util_md.h ! test/hotspot/jtreg/runtime/LoadClass/LongBCP.java Changeset: 73e8dbdea741 Author: erikj Date: 2018-09-24 13:51 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/73e8dbdea741 8211037: Load jib jars dynamically from JibArtifactManager Reviewed-by: ihse ! make/RunTests.gmk ! make/autoconf/spec.gmk.in ! make/autoconf/toolchain.m4 ! make/conf/jib-profiles.js ! test/TestCommon.gmk ! test/lib/jdk/test/lib/artifacts/ArtifactResolver.java ! test/lib/jdk/test/lib/artifacts/JibArtifactManager.java Changeset: 3a6bab220de6 Author: erikj Date: 2018-10-15 11:36 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3a6bab220de6 8212028: Use run-test makefile framework for testing in Oracle's Mach5 Reviewed-by: ihse ! make/Help.gmk ! make/RunTests.gmk ! make/RunTestsPrebuilt.gmk ! make/RunTestsPrebuiltSpec.gmk ! make/common/MakeBase.gmk ! make/conf/jib-profiles.js ! test/hotspot/jtreg/compiler/escapeAnalysis/TestArrayCopy.java ! test/hotspot/jtreg/compiler/graalunit/JttLangMathALTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangMathMZTest.java ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java ! test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationApp.java ! test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/correctBootstrap/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/incorrectBootstrap/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mh/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mt/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/gc/createLotsOfMHConsts/Test.java ! test/jdk/tools/jimage/JImageExtractTest.java Changeset: 44d33bbca1db Author: erikj Date: 2018-10-25 16:47 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/44d33bbca1db 8213005: Missing symbols in hs_err files on Windows after JDK-8212028 Reviewed-by: ctornqvi ! make/RunTests.gmk ! make/RunTestsPrebuiltSpec.gmk Changeset: ec017aa1dd9e Author: dfuchs Date: 2019-01-18 17:06 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ec017aa1dd9e 8216561: HttpClient: The logic of retry on connect exception is inverted Summary: Allows retry on connect exception by default, ensuring that the second attempt takes into account the time spent in the first attempt in order to honor the connect timeout value (if present). Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java ! src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java Changeset: ece3fb92bfbc Author: rhalade Date: 2019-10-09 12:21 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ece3fb92bfbc 8231887: ComodoCA.java fails because certificate was revoked Reviewed-by: mullan, clanger ! test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java Changeset: 1983faf64371 Author: vkempik Date: 2019-09-24 14:54 +0300 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/1983faf64371 8229872: (fs) Increase buffer size used with getmntent Summary: Dynamically allocate memory for getmntent Reviewed-by: alanb ! src/java.base/linux/classes/sun/nio/fs/LinuxFileSystem.java ! src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java ! src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c ! src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Changeset: 268271288a9e Author: poonam Date: 2019-08-16 18:06 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/268271288a9e 8229420: [Redo] 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: ace055848dbb Author: serb Date: 2019-09-12 22:20 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ace055848dbb 8225101: Crash at sun.awt.X11.XlibWrapper.XkbGetUpdatedMap when change keybord map Reviewed-by: prr, pbansal ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 9a2e79c290c2 Author: serb Date: 2019-03-29 16:09 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/9a2e79c290c2 8215105: java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java: Wrong Pixel Color Reviewed-by: prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m + test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java Changeset: 179cf5cc729f Author: psadhukhan Date: 2019-08-19 12:13 +0530 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/179cf5cc729f 8226513: JEditorPane is shown with incorrect size Reviewed-by: prr, psadhukhan Contributed-by: semyon.sadetsky at oracle.com ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java + test/jdk/javax/swing/JEditorPane/8226513/JEditorPaneLayoutTest.java Changeset: 8a2809b4e3a6 Author: serb Date: 2019-06-26 15:34 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8a2809b4e3a6 8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported Reviewed-by: prr ! test/jdk/java/awt/GraphicsDevice/IncorrectDisplayModeExitFullscreen.java Changeset: 3434b4bc793a Author: serb Date: 2019-08-27 04:43 -0700 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/3434b4bc793a 8146238: [macosx] Java2D Queue Flusher crash on OSX after switching between user accounts Reviewed-by: prr, avu ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m ! src/java.desktop/share/classes/sun/java2d/opengl/OGLSurfaceData.java ! src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.c ! src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.h ! src/java.desktop/unix/classes/sun/java2d/opengl/GLXSurfaceData.java ! src/java.desktop/unix/native/common/java2d/opengl/GLXSurfaceData.c ! src/java.desktop/windows/classes/sun/java2d/opengl/WGLSurfaceData.java ! src/java.desktop/windows/native/libawt/java2d/opengl/WGLSurfaceData.c Changeset: 17b14b5d6e9d Author: cito Date: 2019-10-07 16:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/17b14b5d6e9d 8225694: Destination option missing in FlightRecorderMXBeanImpl Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java ! src/jdk.management.jfr/share/classes/jdk/management/jfr/MBeanUtils.java ! test/jdk/jdk/jfr/jmx/TestRecordingOptions.java Changeset: 47efa08d75cb Author: rschmelter Date: 2019-10-01 14:09 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/47efa08d75cb 8191521: handle long relative path specified in -Xbootclasspath/a on windows 8231885: Fix/remove malformed assert in os_windows.cpp 8231930: Windows build fails after JDK-8191521 Reviewed-by: ccheung, clanger ! src/hotspot/os/windows/os_windows.cpp + test/hotspot/gtest/runtime/test_os_windows.cpp ! test/hotspot/jtreg/runtime/LoadClass/LongBCP.java Changeset: b3475c7c4bed Author: ysuenaga Date: 2019-10-23 10:02 +0900 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b3475c7c4bed 8232592: is shown in jstack mixed mode Reviewed-by: cjplummer, phh ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java Changeset: 2fa378d6a446 Author: mbaesken Date: 2019-10-02 10:01 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/2fa378d6a446 8231751: on aix handle Power 9 in os::get_summary_cpu_info Reviewed-by: clanger, mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: a840c897dbce Author: kbarrett Date: 2019-08-06 11:40 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/a840c897dbce 8229156: ProblemList gc/stress/gclocker/TestExcessGCLockerCollections.java Reviewed-by: shade ! test/hotspot/jtreg/ProblemList.txt Changeset: 8d8b6eb13853 Author: mbaesken Date: 2018-12-19 10:30 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/8d8b6eb13853 8215411: some GetByteArrayElements calls miss corresponding Release Reviewed-by: dholmes, jcbeyler ! src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m ! src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: d1b3339f6a2a Author: dfuchs Date: 2019-03-28 12:16 +0000 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/d1b3339f6a2a 8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends Summary: When a non WebSocket connection is not returned to the pool, it needs to be closed even if HttpConnection::isOpen yields false. Reviewed-by: chegar, michaelm ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java ! test/jdk/java/net/httpclient/whitebox/ConnectionPoolTestDriver.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java Changeset: 74a9ffa3abfe Author: chagedorn Date: 2019-10-23 12:17 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/74a9ffa3abfe 8232874: Add missing test for 8230062 Summary: Adds a missing test which verifies the bug fix of 8230062. Reviewed-by: roland, thartmann + test/hotspot/jtreg/compiler/loopopts/superword/SuperWordIntermediateUse.java Changeset: 02095842abd4 Author: shade Date: 2019-10-15 19:45 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/02095842abd4 8232051: Epsilon should warn about Xms/Xmx/AlwaysPreTouch configuration Reviewed-by: zgu ! src/hotspot/share/gc/epsilon/epsilonArguments.cpp ! test/hotspot/jtreg/gc/epsilon/TestAlwaysPretouch.java Changeset: 32cd3051b3f9 Author: jwilhelm Date: 2018-12-08 05:04 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/32cd3051b3f9 8214052: [testbug] vmTestbase/vm/compiler/CodeCacheInfoOnCompilation - wrong shell used Reviewed-by: jwilhelm Contributed-by: merkel05 at gmail.com ! test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh Changeset: 4074b6289836 Author: fyang Date: 2019-10-11 16:52 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/4074b6289836 8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop Summary: Duplicate cmp node in empty loop if it has other users Reviewed-by: neliasso, thartmann Contributed-by: wanghuang3 at huawei.com, xietuo at huawei.com ! src/hotspot/share/opto/loopTransform.cpp + test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyLoop.java Changeset: b9cefb46d9f2 Author: iignatyev Date: 2019-01-30 09:30 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/b9cefb46d9f2 8207922: ctw of jdk.security.auth failed with "Unexpected zero exit codebefore finishing all compilations" Reviewed-by: roland, thartmann ! test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java Changeset: 637f55d2548e Author: jiefu Date: 2019-08-07 17:00 +0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/637f55d2548e 8229169: False failure of GenericTaskQueue::pop_local on architectures with weak memory model Reviewed-by: mdoerr, kbarrett, tschatzl ! src/hotspot/share/gc/shared/taskqueue.inline.hpp Changeset: 5c4cff4a6000 Author: rkennke Date: 2019-09-18 20:56 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/5c4cff4a6000 8231085: C2/GC: Better GC-interface for expanding clone Reviewed-by: eosterlund ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp Changeset: 148957581f5c Author: xuelei Date: 2019-02-08 10:03 -0800 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/148957581f5c 8218580: endpoint identification algorithm should be case-insensitive Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/ClientHello.java ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java Changeset: 6eb89e59a06a Author: mdoerr Date: 2019-10-24 16:28 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/6eb89e59a06a 8232005: [s390, PPC64] More exception checks missing in interpreter Reviewed-by: rrich, goetz ! src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp ! src/hotspot/cpu/s390/interp_masm_s390.cpp Changeset: ae7ed8c70ecc Author: goetz Date: 2019-10-30 10:22 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/ae7ed8c70ecc Added tag jdk-11.0.6+1 for changeset 6eb89e59a06a ! .hgtags Changeset: bc2d5a439bc2 Author: shade Date: 2019-10-30 12:24 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/bc2d5a439bc2 Merge ! .hgtags ! make/autoconf/version-numbers ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/formssel.hpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/adlc/output_h.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/compiler/compileBroker.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/taskqueue.inline.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/interpreter/linkResolver.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/jfr/metadata/metadata.xml ! src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/opto/callnode.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/library_call.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopTransform.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/fieldDescriptor.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/runtime/vm_operations.hpp - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Command.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Execute.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/HelpCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/JSONWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrettyWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrintCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/ReconstructCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SplitCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/StructuredWriter.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SummaryCommand.java - src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/XMLWriter.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java ! test/hotspot/jtreg/compiler/gcbarriers/EqvUncastStepOverBarrier.java - test/jdk/jdk/jfr/cmd/ExecuteHelper.java - test/jdk/jdk/jfr/cmd/TestHelp.java - test/jdk/jdk/jfr/cmd/TestPrint.java - test/jdk/jdk/jfr/cmd/TestPrintDefault.java - test/jdk/jdk/jfr/cmd/TestPrintJSON.java - test/jdk/jdk/jfr/cmd/TestPrintXML.java - test/jdk/jdk/jfr/cmd/TestReconstruct.java - test/jdk/jdk/jfr/cmd/TestSplit.java - test/jdk/jdk/jfr/cmd/TestSummary.java - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf4.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf1.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf2.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf3.txt - test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf4.txt ! test/lib/jdk/test/lib/jfr/EventNames.java ! test/lib/sun/hotspot/gc/GC.java From zgu at redhat.com Wed Oct 30 12:56:33 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 30 Oct 2019 08:56:33 -0400 Subject: RFR 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 Message-ID: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> The load address can come in in single-size or double-size register, as_pointer_register() can deal with both case. Bug: https://bugs.openjdk.java.net/browse/JDK-8233165 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233165/webrev.00/ Test: hotspot_gc_shenandoah (fastdebug and release) jcstress quick tests (fastdebug and release) on aarch64 Linux Thanks, -Zhengyu From rkennke at redhat.com Wed Oct 30 13:40:04 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 14:40:04 +0100 Subject: RFR 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 In-Reply-To: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> References: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> Message-ID: Nice. Please push the fix. Thanks, Roman > The load address can come in in single-size or double-size register, > as_pointer_register() can deal with both case. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8233165 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233165/webrev.00/ > > Test: > ? hotspot_gc_shenandoah (fastdebug and release) > ? jcstress quick tests (fastdebug and release) > ? on aarch64 Linux > > Thanks, > > -Zhengyu > From zgu at redhat.com Wed Oct 30 13:43:51 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 30 Oct 2019 09:43:51 -0400 Subject: RFR 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 In-Reply-To: References: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> Message-ID: Thanks for the review, and pushed. -Zhengyu On 10/30/19 9:40 AM, Roman Kennke wrote: > Nice. > > Please push the fix. > > Thanks, > Roman > >> The load address can come in in single-size or double-size register, >> as_pointer_register() can deal with both case. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8233165 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233165/webrev.00/ >> >> Test: >> ? hotspot_gc_shenandoah (fastdebug and release) >> ? jcstress quick tests (fastdebug and release) >> ? on aarch64 Linux >> >> Thanks, >> >> -Zhengyu >> > From rkennke at redhat.com Wed Oct 30 14:28:18 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 15:28:18 +0100 Subject: RFR [sh/11]: Move Shenandoah clone-expansion from shared code to ShBSC2 Message-ID: This is a follow-up to recent jdk11u merge. It moves the Shenandoah clone-expansion code to ShBSC2. http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.00/ Testing: hotspot_gc_shenandoah Good? Roman From shade at redhat.com Wed Oct 30 14:37:04 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 15:37:04 +0100 Subject: RFR [sh/11]: Move Shenandoah clone-expansion from shared code to ShBSC2 In-Reply-To: References: Message-ID: On 10/30/19 3:28 PM, Roman Kennke wrote: > This is a follow-up to recent jdk11u merge. It moves the Shenandoah > clone-expansion code to ShBSC2. > > http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.00/ jdk/jdk has clone_needs_barrier in the condition here: if (ShenandoahCloneBarrier && clone_needs_barrier(src, phase->igvn())) { Does it make sense in sh/jdk11? There is a definition of clone_needs_barrier already, but it is unused. -- Thanks, -Aleksey From shade at redhat.com Wed Oct 30 14:42:15 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 15:42:15 +0100 Subject: RFR [sh/11]: Move Shenandoah clone-expansion from shared code to ShBSC2 In-Reply-To: References: Message-ID: <70386a64-2727-48eb-d754-0d09020e14eb@redhat.com> On 10/30/19 3:37 PM, Aleksey Shipilev wrote: > On 10/30/19 3:28 PM, Roman Kennke wrote: >> This is a follow-up to recent jdk11u merge. It moves the Shenandoah >> clone-expansion code to ShBSC2. >> >> http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.00/ > > jdk/jdk has clone_needs_barrier in the condition here: > > if (ShenandoahCloneBarrier && clone_needs_barrier(src, phase->igvn())) { > > Does it make sense in sh/jdk11? There is a definition of clone_needs_barrier already, but it is unused. Ah, it is probably inlined here. Your call if you still want to do clone_needs_barrier call instead (it would clean up some code too). -- Thanks, -Aleksey From aph at redhat.com Wed Oct 30 16:50:36 2019 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 Oct 2019 16:50:36 +0000 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: On 7/26/19 2:18 AM, Zhengyu Gu wrote: > 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. FYI: I found a bug in AArch64. When we are resolving an object in native, rthread does not contain a valid thread value. Instead it should be derived from the jni_env argument. I believe this is true for all platforms: none will have a valid rthread when called from native code. Has this bug been backported? How should we handle it? Suggested patch: diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 @@ -424,9 +448,12 @@ // Check for null. __ cbz(obj, done); assert(obj != rscratch2, "need rscratch2"); - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); - __ ldrb(rscratch2, gc_state); + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); + __ lea(rscratch2, gc_state); + __ ldrb(rscratch2, Address(rscratch2)); // Check for heap in evacuation phase __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From shade at redhat.com Wed Oct 30 17:02:15 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 18:02:15 +0100 Subject: RFR 8228532: Shenandoah: Implement SBSA::try_resolve_jobject_in_native() In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: On 10/30/19 5:50 PM, Andrew Haley wrote: > Has this bug been backported? How should we handle it? JDK-8228532 is only in 14, it had not been backported. > Suggested patch: > > diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp > --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 > +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 > @@ -424,9 +448,12 @@ > // Check for null. > __ cbz(obj, done); > > assert(obj != rscratch2, "need rscratch2"); > - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > - __ ldrb(rscratch2, gc_state); > + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); > + __ lea(rscratch2, gc_state); > + __ ldrb(rscratch2, Address(rscratch2)); > > // Check for heap in evacuation phase > __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); Yes, RFR that under new bug and link it to 8228532 :) I think x86 does it correctly already: https://hg.openjdk.java.net/jdk/jdk/rev/db740ced41c4 -- Thanks, -Aleksey From aph at redhat.com Wed Oct 30 17:07:24 2019 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 Oct 2019 17:07:24 +0000 Subject: RFR 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 In-Reply-To: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> References: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> Message-ID: On 10/30/19 12:56 PM, Zhengyu Gu wrote: > Bug: https://bugs.openjdk.java.net/browse/JDK-8233165 > Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233165/webrev.00/ > > Test: > hotspot_gc_shenandoah (fastdebug and release) > jcstress quick tests (fastdebug and release) > on aarch64 Linux That looks right. -- 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 Oct 30 17:35:58 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 18:35:58 +0100 Subject: RFR [sh/11]: Move Shenandoah clone-expansion from shared code to ShBSC2 In-Reply-To: <70386a64-2727-48eb-d754-0d09020e14eb@redhat.com> References: <70386a64-2727-48eb-d754-0d09020e14eb@redhat.com> Message-ID: >>> This is a follow-up to recent jdk11u merge. It moves the Shenandoah >>> clone-expansion code to ShBSC2. >>> >>> http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.00/ >> >> jdk/jdk has clone_needs_barrier in the condition here: >> >> if (ShenandoahCloneBarrier && clone_needs_barrier(src, phase->igvn())) { >> >> Does it make sense in sh/jdk11? There is a definition of clone_needs_barrier already, but it is unused. > > Ah, it is probably inlined here. Your call if you still want to do clone_needs_barrier call instead > (it would clean up some code too). Right! It's much nicer when using the helper method instead: http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.01/ Testing still good. Roman From aph at redhat.com Wed Oct 30 17:38:05 2019 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 Oct 2019 17:38:05 +0000 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken 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: I found a bug in AArch64. When we are resolving an object in native, rthread does not contain a valid thread value. Instead it should be derived from the jni_env argument. x86 does not use rthread, and is OK. I believe this is true for all platforms: none will have a valid rthread when called from native code. Fixed thusly, the same as x86. OK? diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 @@ -424,9 +448,12 @@ // Check for null. __ cbz(obj, done); assert(obj != rscratch2, "need rscratch2"); - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); - __ ldrb(rscratch2, gc_state); + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); + __ lea(rscratch2, gc_state); + __ ldrb(rscratch2, Address(rscratch2)); // Check for heap in evacuation phase __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); -- 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 Oct 30 17:45:09 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 18:45:09 +0100 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: Is it not possible to use the gc_state Address directly in ldrb? Roman > I found a bug in AArch64. When we are resolving an object in native, > rthread does not contain a valid thread value. Instead it should be > derived from the jni_env argument. x86 does not use rthread, and is > OK. > > I believe this is true for all platforms: none will have a valid > rthread when called from native code. > > Fixed thusly, the same as x86. OK? > > diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp > --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 > +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 > @@ -424,9 +448,12 @@ > // Check for null. > __ cbz(obj, done); > > assert(obj != rscratch2, "need rscratch2"); > - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > - __ ldrb(rscratch2, gc_state); > + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); > + __ lea(rscratch2, gc_state); > + __ ldrb(rscratch2, Address(rscratch2)); > > // Check for heap in evacuation phase > __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); > From zgu at redhat.com Wed Oct 30 17:48:23 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 30 Oct 2019 13:48:23 -0400 Subject: RFR 8233165: Shenandoah:SBSA::gen_load_reference_barrier_stub() should use pointer register for address on aarch64 In-Reply-To: References: <82ee1d40-a7a8-1b68-1aec-5b15597d7cbb@redhat.com> Message-ID: <6e455f3c-b306-31b4-5aa6-f065a3bdcf59@redhat.com> Thanks for the review, Andrew. It already pushed, so I can not add you as a reviewer. -Zhengyu On 10/30/19 1:07 PM, Andrew Haley wrote: > On 10/30/19 12:56 PM, Zhengyu Gu wrote: >> Bug: https://bugs.openjdk.java.net/browse/JDK-8233165 >> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233165/webrev.00/ >> >> Test: >> hotspot_gc_shenandoah (fastdebug and release) >> jcstress quick tests (fastdebug and release) >> on aarch64 Linux > > That looks right. > From zgu at redhat.com Wed Oct 30 17:59:16 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 30 Oct 2019 13:59:16 -0400 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: <5ab024a1-0f34-ccf2-d77f-4d2ded3af38d@redhat.com> Hi Andrew, Fix looks good. Sorry for neglecting aarch64 during past barrier works, I will double check them. -Zhengyu On 10/30/19 1:38 PM, Andrew Haley wrote: > I found a bug in AArch64. When we are resolving an object in native, > rthread does not contain a valid thread value. Instead it should be > derived from the jni_env argument. x86 does not use rthread, and is > OK. > > I believe this is true for all platforms: none will have a valid > rthread when called from native code. > > Fixed thusly, the same as x86. OK? > > diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp > --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 > +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 > @@ -424,9 +448,12 @@ > // Check for null. > __ cbz(obj, done); > > assert(obj != rscratch2, "need rscratch2"); > - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > - __ ldrb(rscratch2, gc_state); > + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); > + __ lea(rscratch2, gc_state); > + __ ldrb(rscratch2, Address(rscratch2)); > > // Check for heap in evacuation phase > __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); > From cng1067 at gmail.com Wed Oct 30 18:50:36 2019 From: cng1067 at gmail.com (Christopher Ng) Date: Wed, 30 Oct 2019 18:50:36 +0000 Subject: Crash when using java debugger and kafka Message-ID: Using Shenandoah, the test case at this link: https://github.com/facboy/shenandoah-bug will hang consuming all cores, and becoming non-responsive to eg interrupts signals, etc. the same does not happen if G1 is used. I first came across this when debugging from an IDE (Intellij IDEA). I haven't really been able to work out why this is happening. The JDK version is openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) running on CentOS Linux release 7.6.1810 (Core). I suspect a race condition as turning up the logging (eg to info on Kafka) seems to stop the bug happening. For the test case it seems that having the JVM listen (as opposed to connect to a running debugger) seems to also stop the bug, though in the main codebase where I first encountered this bug, this did not make a difference (ie the bug still occurred). i also found that running strace (when trying to diagnose the issue with the main codebase) also stopped the bug happening. From rkennke at redhat.com Wed Oct 30 19:42:39 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 20:42:39 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: References: Message-ID: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> Hi Christopher, I can reproduce the bug on RHEL8 with java 1.8.0_232. It looks like we get a write-barrier in JVMTI when scanning for GC roots, which is circular and must not happen. Our recent jdk8 development introduced the new barrier model (LRB). I tried your testcase with a recent build and it does not happen for me. Can you try a suitable build from here: https://builds.shipilev.net/openjdk-shenandoah-jdk8/ The fix will appear in one of the next releases of openjdk 8 package. Let us know when still encounter problems. Thanks, Roman > Using Shenandoah, the test case at this link: > https://github.com/facboy/shenandoah-bug will hang consuming all cores, and > becoming non-responsive to eg interrupts signals, etc. the same does not > happen if G1 is used. > > I first came across this when debugging from an IDE (Intellij IDEA). I > haven't really been able to work out why this is happening. The JDK > version is > > openjdk version "1.8.0_222" > OpenJDK Runtime Environment (build 1.8.0_222-b10) > OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) > > running on CentOS Linux release 7.6.1810 (Core). > > I suspect a race condition as turning up the logging (eg to info on Kafka) > seems to stop the bug happening. For the test case it seems that having > the JVM listen (as opposed to connect to a running debugger) seems to also > stop the bug, though in the main codebase where I first encountered this > bug, this did not make a difference (ie the bug still occurred). i also > found that running strace (when trying to diagnose the issue with the main > codebase) also stopped the bug happening. > From aph at redhat.com Wed Oct 30 20:26:52 2019 From: aph at redhat.com (Andrew Haley) Date: Wed, 30 Oct 2019 20:26:52 +0000 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: On 10/30/19 5:45 PM, Roman Kennke wrote: > Is it not possible to use the gc_state Address directly in ldrb? No, because it's a large negative offset. -- 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 Oct 30 20:35:40 2019 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 30 Oct 2019 21:35:40 +0100 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: <574a0d77-4c32-2d54-cf63-1a6c0fceed7e@redhat.com> > On 10/30/19 5:45 PM, Roman Kennke wrote: >> Is it not possible to use the gc_state Address directly in ldrb? > > No, because it's a large negative offset. Ah ok. Then it looks good. Thanks, Roman From shade at redhat.com Wed Oct 30 20:40:26 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 21:40:26 +0100 Subject: RFR: 8233232: AArch64: jni_fast_GetLongField is broken In-Reply-To: References: <5a2ee72a-ea25-669e-226f-7eb62084068a@redhat.com> <2b7ec01b-085b-6e33-2946-2ad570d89ec6@redhat.com> Message-ID: <76364785-81b1-f1df-4c87-419bfcad9dc3@redhat.com> On 10/30/19 6:38 PM, Andrew Haley wrote: > I found a bug in AArch64. When we are resolving an object in native, > rthread does not contain a valid thread value. Instead it should be > derived from the jni_env argument. x86 does not use rthread, and is > OK. > > I believe this is true for all platforms: none will have a valid > rthread when called from native code. > > Fixed thusly, the same as x86. OK? > > diff -r 6a05019acb67 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp > --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Tue Sep 17 14:00:36 2019 -0400 > +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Wed Oct 30 12:44:23 2019 -0400 > @@ -424,9 +448,12 @@ > // Check for null. > __ cbz(obj, done); > > assert(obj != rscratch2, "need rscratch2"); > - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > - __ ldrb(rscratch2, gc_state); > + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); > + __ lea(rscratch2, gc_state); > + __ ldrb(rscratch2, Address(rscratch2)); > > // Check for heap in evacuation phase > __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath); Looks good. -- Thanks, -Aleksey From shade at redhat.com Wed Oct 30 20:44:25 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 21:44:25 +0100 Subject: RFR [sh/11]: Move Shenandoah clone-expansion from shared code to ShBSC2 In-Reply-To: References: <70386a64-2727-48eb-d754-0d09020e14eb@redhat.com> Message-ID: <643444aa-bd53-d101-0acd-574ab078702a@redhat.com> On 10/30/19 6:35 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/sh11-c2clone/webrev.01/ Looks good! -- Thanks, -Aleksey From shade at redhat.com Wed Oct 30 21:09:37 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 30 Oct 2019 22:09:37 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> Message-ID: <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> On 10/30/19 8:42 PM, Roman Kennke wrote: > Our recent jdk8 development introduced the new barrier model (LRB). I > tried your testcase with a recent build and it does not happen for me. > Can you try a suitable build from here: > > https://builds.shipilev.net/openjdk-shenandoah-jdk8/ I actually tried that, and the hang is gone. I can reproduce the hang with 8u232, it indeed livelocks during Final Mark: Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent Trigger: Metadata GC Threshold 2.361: [Concurrent reset 88128K->88128K(2016M), 2.955 ms] 2.364: [Pause Init Mark (process weakrefs) (unload classes), 6.880 ms] 2.371: [Concurrent marking (process weakrefs) (unload classes) 88128K->89152K(2016M), 5.414 ms] 2.376: [Concurrent precleaning 89152K->89152K(2016M), 1.677 ms] 2.378: [Pause Final Mark (process weakrefs) (unload classes) ...when doing JvmtiTagMap::weak_oops_do. I might study how that happens in 8u232, to make sure head sh/jdk8 does not work by accident. Anyhow, given this is the weak root scanning problem, here is the workaround: -XX:-ClassUnloading. The hang disappears on 8u232 for me with disabled class unloading. -- Thanks, -Aleksey From rkennke at redhat.com Wed Oct 30 21:22:12 2019 From: rkennke at redhat.com (rkennke at redhat.com) Date: Wed, 30 Oct 2019 21:22:12 +0000 Subject: hg: shenandoah/jdk11: Move Shenandoah clone-expansion from shared code to ShBSC2 Message-ID: <201910302122.x9ULMDN0021384@aojmv0008.oracle.com> Changeset: 1896864bcfc8 Author: rkennke Date: 2019-10-30 18:33 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/1896864bcfc8 Move Shenandoah clone-expansion from shared code to ShBSC2 ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp From shade at redhat.com Thu Oct 31 08:10:00 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 09:10:00 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> Message-ID: <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> On 10/30/19 10:09 PM, Aleksey Shipilev wrote: > On 10/30/19 8:42 PM, Roman Kennke wrote: >> Our recent jdk8 development introduced the new barrier model (LRB). I >> tried your testcase with a recent build and it does not happen for me. >> Can you try a suitable build from here: >> >> https://builds.shipilev.net/openjdk-shenandoah-jdk8/ > > I actually tried that, and the hang is gone. > > I can reproduce the hang with 8u232, it indeed livelocks during Final Mark: > > Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent > Trigger: Metadata GC Threshold > 2.361: [Concurrent reset 88128K->88128K(2016M), 2.955 ms] > 2.364: [Pause Init Mark (process weakrefs) (unload classes), 6.880 ms] > 2.371: [Concurrent marking (process weakrefs) (unload classes) 88128K->89152K(2016M), 5.414 ms] > 2.376: [Concurrent precleaning 89152K->89152K(2016M), 1.677 ms] > 2.378: [Pause Final Mark (process weakrefs) (unload classes) > > ...when doing JvmtiTagMap::weak_oops_do. I might study how that happens in 8u232, to make sure head > sh/jdk8 does not work by accident. Found it. We seem to be entering JvmtiTagMap::do_weak_oops by all GC threads when evacuating the roots, which breaks in all sorts of weird ways when it tries to resize the underlying hash table racily. Here is the fix for 8u232: diff -r 309b496da750 src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 10 18:16:48 2019 +0100 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 31 09:06:51 2019 +0100 @@ -257,11 +257,11 @@ if (blobs != NULL) { ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::CodeCacheRoots, worker_id); _coderoots_cset_iterator.possibly_parallel_blobs_do(blobs); } - if (_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { + if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { ShenandoahForwardedIsAliveClosure is_alive; ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::JVMTIRoots, worker_id); JvmtiExport::weak_oops_do(&is_alive, oops); } } It was *accidentally* fixed with LRB backport: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/file/e9d60bdac4b5/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp#l296 Bottom line: 1) 8u232 is broken with lots of JVMTI tags (which is the case for debugging); 2) 8u232 workaround is to treat all JVMTI tags as strongly reachable (-XX:-ClassUnloading) 3) Current sh/jdk8 is immune to this, by happy accident, and would continue to be immune. Christopher, does this work for you? -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 31 09:15:43 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 31 Oct 2019 10:15:43 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> Message-ID: > Here is the fix for 8u232: > > diff -r 309b496da750 src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 10 18:16:48 > 2019 +0100 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 31 09:06:51 > 2019 +0100 > @@ -257,11 +257,11 @@ > if (blobs != NULL) { > ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::CodeCacheRoots, > worker_id); > _coderoots_cset_iterator.possibly_parallel_blobs_do(blobs); > } > > - if (_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { > + if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { > ShenandoahForwardedIsAliveClosure is_alive; > ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::JVMTIRoots, worker_id); > JvmtiExport::weak_oops_do(&is_alive, oops); > } > } > > It was *accidentally* fixed with LRB backport: > > https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/file/e9d60bdac4b5/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp#l296 Ha! I remember that I came across this when backporting LRB, and scratched my head how this ever worked. Apparently it didn't. Thanks for figuring this out. Roman From shade at redhat.com Thu Oct 31 09:15:51 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 10:15:51 +0100 Subject: RFR (XS) 8233303: Shenandoah: verifier assert erroneously uses byte_size_in_exact_unit Message-ID: <217faac8-b8bc-f499-8ea2-5b52768da5df@redhat.com> Bug: https://bugs.openjdk.java.net/browse/JDK-8233303 Typo in JDK-8232102 found by sh/jdk8 backports, where byte_size_in_exact_unit is not defined. Should actually be "proper_unit". Fix: diff -r b026a43e1809 src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Tue Oct 29 09:34:23 2019 +0800 +++ b/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Thu Oct 31 10:08:22 2019 +0100 @@ -693,12 +693,12 @@ size_t heap_committed = _heap->committed(); guarantee(cl.committed() == heap_committed, "%s: heap committed size must be consistent: heap-committed = " SIZE_FORMAT "%s, regions-committed = " SIZE_FORMAT "%s", label, - byte_size_in_exact_unit(heap_committed), proper_unit_for_byte_size(heap_committed), - byte_size_in_exact_unit(cl.committed()), proper_unit_for_byte_size(cl.committed())); + byte_size_in_proper_unit(heap_committed), proper_unit_for_byte_size(heap_committed), + byte_size_in_proper_unit(cl.committed()), proper_unit_for_byte_size(cl.committed())); } // Internal heap region checks if (ShenandoahVerifyLevel >= 1) { ShenandoahVerifyHeapRegionClosure cl(label, regions); Testing: x86_64 build -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 31 09:17:25 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 31 Oct 2019 10:17:25 +0100 Subject: RFR (XS) 8233303: Shenandoah: verifier assert erroneously uses byte_size_in_exact_unit In-Reply-To: <217faac8-b8bc-f499-8ea2-5b52768da5df@redhat.com> References: <217faac8-b8bc-f499-8ea2-5b52768da5df@redhat.com> Message-ID: <28db9580-76b0-4eea-b6c9-252e69f67f51@redhat.com> Ok. Thanks, Roman > Bug: > https://bugs.openjdk.java.net/browse/JDK-8233303 > > Typo in JDK-8232102 found by sh/jdk8 backports, where byte_size_in_exact_unit is not defined. Should > actually be "proper_unit". > > Fix: > > diff -r b026a43e1809 src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp > --- a/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Tue Oct 29 09:34:23 2019 +0800 > +++ b/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Thu Oct 31 10:08:22 2019 +0100 > @@ -693,12 +693,12 @@ > > size_t heap_committed = _heap->committed(); > guarantee(cl.committed() == heap_committed, > "%s: heap committed size must be consistent: heap-committed = " SIZE_FORMAT "%s, > regions-committed = " SIZE_FORMAT "%s", > label, > - byte_size_in_exact_unit(heap_committed), proper_unit_for_byte_size(heap_committed), > - byte_size_in_exact_unit(cl.committed()), proper_unit_for_byte_size(cl.committed())); > + byte_size_in_proper_unit(heap_committed), proper_unit_for_byte_size(heap_committed), > + byte_size_in_proper_unit(cl.committed()), proper_unit_for_byte_size(cl.committed())); > } > > // Internal heap region checks > if (ShenandoahVerifyLevel >= 1) { > ShenandoahVerifyHeapRegionClosure cl(label, regions); > > Testing: x86_64 build > From shade at redhat.com Thu Oct 31 09:20:45 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 31 Oct 2019 09:20:45 +0000 Subject: hg: shenandoah/jdk11: Added tag shenandoah-jdk-11.0.6+1 for changeset 1896864bcfc8 Message-ID: <201910310920.x9V9KjBH021427@aojmv0008.oracle.com> Changeset: f1725e44ae30 Author: shade Date: 2019-10-31 10:18 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk11/rev/f1725e44ae30 Added tag shenandoah-jdk-11.0.6+1 for changeset 1896864bcfc8 ! .hgtags From cng1067 at gmail.com Thu Oct 31 10:16:23 2019 From: cng1067 at gmail.com (Christopher Ng) Date: Thu, 31 Oct 2019 10:16:23 +0000 Subject: Crash when using java debugger and kafka In-Reply-To: <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> Message-ID: Hmm...not great news. I pulled the latest build from https://builds.shipilev.net/openjdk-shenandoah-jdk8/ (openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz 38M 2019-Oct-30 15:14). The bug does not occur when running jdb/mvn (as in the test case)...but it still occurs when debugging from Intellij IDEA. It's slightly better, now only 1 core locks up :). Disabling class unloading does seem to stop the error occurring. This is the -verbose:gc log from one instance when it did freeze (and then i kill -9'd it): Consider -XX:+ClassUnloadingWithConcurrentMark if large pause times are observed on class-unloading sensitive workloads Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent Connected to the target VM, address: '127.0.0.1:0', transport: 'socket' | 2019-10-31 10:13:19,016 INFO org.facboy.KafkaTestServer: Starting kafka server. | 2019-10-31 10:13:19,032 INFO org.facboy.KafkaTestServer: ZooKeeper instance is successfully started on port 35216 Trigger: Metadata GC Threshold [Concurrent reset 104M->104M(784M), 0.297 ms] [Pause Init Mark (process weakrefs) (unload classes), 2.922 ms] [Concurrent marking (process weakrefs) (unload classes) 105M->105M(784M), 6.062 ms] [Concurrent precleaning 105M->105M(784M), 0.679 ms] Disconnected from the target VM, address: '127.0.0.1:0', transport: 'socket' Process finished with exit code 137 (interrupted by signal 9: SIGKILL) [Pause Final Mark (process weakrefs) (unload classes) On Thu, Oct 31, 2019 at 8:10 AM Aleksey Shipilev wrote: > On 10/30/19 10:09 PM, Aleksey Shipilev wrote: > > On 10/30/19 8:42 PM, Roman Kennke wrote: > >> Our recent jdk8 development introduced the new barrier model (LRB). I > >> tried your testcase with a recent build and it does not happen for me. > >> Can you try a suitable build from here: > >> > >> https://builds.shipilev.net/openjdk-shenandoah-jdk8/ > > > > I actually tried that, and the hang is gone. > > > > I can reproduce the hang with 8u232, it indeed livelocks during Final > Mark: > > > > Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent > > Trigger: Metadata GC Threshold > > 2.361: [Concurrent reset 88128K->88128K(2016M), 2.955 ms] > > 2.364: [Pause Init Mark (process weakrefs) (unload classes), 6.880 ms] > > 2.371: [Concurrent marking (process weakrefs) (unload classes) > 88128K->89152K(2016M), 5.414 ms] > > 2.376: [Concurrent precleaning 89152K->89152K(2016M), 1.677 ms] > > 2.378: [Pause Final Mark (process weakrefs) (unload classes) > > > > ...when doing JvmtiTagMap::weak_oops_do. I might study how that happens > in 8u232, to make sure head > > sh/jdk8 does not work by accident. > > Found it. We seem to be entering JvmtiTagMap::do_weak_oops by all GC > threads when evacuating the > roots, which breaks in all sorts of weird ways when it tries to resize the > underlying hash table > racily. > > Here is the fix for 8u232: > > diff -r 309b496da750 > src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp > --- > a/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp > Thu Oct 10 18:16:48 > 2019 +0100 > +++ > b/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp > Thu Oct 31 09:06:51 > 2019 +0100 > @@ -257,11 +257,11 @@ > if (blobs != NULL) { > ShenandoahWorkerTimingsTracker timer(worker_times, > ShenandoahPhaseTimings::CodeCacheRoots, > worker_id); > _coderoots_cset_iterator.possibly_parallel_blobs_do(blobs); > } > > - if (_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { > + if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) > { > ShenandoahForwardedIsAliveClosure is_alive; > ShenandoahWorkerTimingsTracker timer(worker_times, > ShenandoahPhaseTimings::JVMTIRoots, worker_id); > JvmtiExport::weak_oops_do(&is_alive, oops); > } > } > > It was *accidentally* fixed with LRB backport: > > > https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/file/e9d60bdac4b5/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp#l296 > > Bottom line: > 1) 8u232 is broken with lots of JVMTI tags (which is the case for > debugging); > 2) 8u232 workaround is to treat all JVMTI tags as strongly reachable > (-XX:-ClassUnloading) > 3) Current sh/jdk8 is immune to this, by happy accident, and would > continue to be immune. > > Christopher, does this work for you? > > -- > Thanks, > -Aleksey > > From shade at redhat.com Thu Oct 31 10:33:33 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 11:33:33 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> Message-ID: On 10/31/19 11:16 AM, Christopher Ng wrote: > Hmm...not great news.? I pulled the latest build > from?https://builds.shipilev.net/openjdk-shenandoah-jdk8/?(openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz > 38M 2019-Oct-30 15:14). > > The bug does not occur when running jdb/mvn (as in the test case)...but it still occurs when > debugging from Intellij IDEA.? It's slightly better, now only 1 core locks up :).??Disabling class > unloading does seem to stop the error occurring. I have a theory about that. In 8u, there is another entry to JvmtiExport::weak_oops_do here: diff -r e6ac5fb6c8a3 src/share/vm/runtime/jniHandles.cpp --- a/src/share/vm/runtime/jniHandles.cpp Tue Aug 13 14:59:29 2019 +0200 +++ b/src/share/vm/runtime/jniHandles.cpp Thu Oct 31 11:30:10 2019 +0100 @@ -431,10 +431,16 @@ /* * JVMTI data structures may also contain weak oops. The iteration of them * is placed here so that we don't need to add it to each of the collectors. */ +#ifdef INCLUDE_ALL_GCS + if (UseShenandoahGC) { + // Do nothing, Shenandoah walks these separately. If we allow the walk here, + // then JvmtiExport would be visited by multiple threads and potentially livelock. + } else +#endif JvmtiExport::weak_oops_do(is_alive, f); } Let me dig up more details and propose a patch. -- Thanks, -Aleksey From shade at redhat.com Thu Oct 31 11:06:09 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 12:06:09 +0100 Subject: [8] 2019-10-31, Bulk backports to sh/jdk8 Message-ID: https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191031/webrev.01/ Another batch of sh/jdk8 backports for early testing: [backport] 8225441: Cleanup ShenandoahHeap::atomic_compare_exchange_oop [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned [backport] 8225514: Shenandoah: ShenandoahCodeRoots should inherit from AllStatic [backport] 8225357: Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups [backport] 8232102: Shenandoah: print everything in proper units [backport] 8229416: Shenandoah: Demote or remove ShenandoahOptimize*Final optimizations [backport] 8229419: Shenandoah: Cleanup LRB strength selector code Testing: {x86_32, x86_64} x {fastdebug,release} hotspot_gc_shenandoah -- Thanks, -Aleksey From rkennke at redhat.com Thu Oct 31 11:17:37 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 31 Oct 2019 12:17:37 +0100 Subject: [8] 2019-10-31, Bulk backports to sh/jdk8 In-Reply-To: References: Message-ID: Yes, go! Thanks, Roman > https://cr.openjdk.java.net/~shade/shenandoah/backports/jdk8u-20191031/webrev.01/ > > Another batch of sh/jdk8 backports for early testing: > > [backport] 8225441: Cleanup ShenandoahHeap::atomic_compare_exchange_oop > [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned > [backport] 8225514: Shenandoah: ShenandoahCodeRoots should inherit from AllStatic > [backport] 8225357: Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups > [backport] 8232102: Shenandoah: print everything in proper units > [backport] 8229416: Shenandoah: Demote or remove ShenandoahOptimize*Final optimizations > [backport] 8229419: Shenandoah: Cleanup LRB strength selector code > > Testing: {x86_32, x86_64} x {fastdebug,release} hotspot_gc_shenandoah > From shade at redhat.com Thu Oct 31 11:38:28 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 12:38:28 +0100 Subject: [8] RFR: Shenandoah: JvmtiExport::weak_oops_do should not be entered by multiple threads Message-ID: The followup on sh/jdk8 hangs. JvmtiExport::weak_oops_do should not be entered by multiple threads, as we seen here: https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010960.html But there is a wrinkle in jdk8, which does JvmtiExport::weak_oops_do as part of JNIHandles::weak_oops_do. And while we do JNIHandles::weak_oops_do in one thread, another thread can do JvmtiExport::weak_oops_do as the other task, and everything might go kaboom. The way out I see is to let sh/jdk8 code piggyback on JNIHandles::weak_oops_do. The alternative is to special-case the JvmtiExport::weak_oops_do in JNIHandles::weak_oops_do, but that would require walking JvmtiExport::weak_oops_do in ShenandoahRootProcessor::process_vm_roots. That method does piggyback on JNIHandles::weak_oops_do already. If this changes in future, then verifier should catch the unvisited weak JVMTI roots. I haven't been able to reproduce the failure, but the logic seems to hold here, so I propose to push it for Christopher to test. Fix: diff -r 353f967c213d src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Tue Aug 13 14:59:29 2019 +0200 +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 31 12:34:06 2019 +0100 @@ -294,12 +294,18 @@ } if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::JVMTIRoots, worker_id); JvmtiExport::oops_do(oops); + // In JDK 8, this is handled by JNIHandles::weak_oops_do. We cannot enter here, because + // it would walk the JvmtiTagMap twice (which is okay) and possibly by multiple threads + // (which is not okay, because that walk is not thread-safe). In subsequent releases, + // it is handled in a more straightforward manner, see JDK-8189360. + /* ShenandoahForwardedIsAliveClosure is_alive; JvmtiExport::weak_oops_do(&is_alive, oops); + */ } if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_SystemDictionary_oops_do)) { ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::SystemDictionaryRoots, worker_id); SystemDictionary::oops_do(oops); Testing: {x86_32, x86_64} hotspot_gc_shenandoah; shenandoah-bug reproducer (with verification) -- Thanks, -Aleksey From shade at redhat.com Thu Oct 31 11:43:46 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 31 Oct 2019 11:43:46 +0000 Subject: hg: shenandoah/jdk8/hotspot: 7 new changesets Message-ID: <201910311143.x9VBhk4h015404@aojmv0008.oracle.com> Changeset: fc5e805d5afd Author: shade Date: 2019-06-07 11:48 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/fc5e805d5afd [backport] 8225441: Cleanup ShenandoahHeap::atomic_compare_exchange_oop Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: 2ddc7cbee6ec Author: shade Date: 2019-10-21 22:44 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/2ddc7cbee6ec [backport] 8232729: Shenandoah: assert ShenandoahHeap::cas_oop addresses are aligned Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: 474734121d2d Author: zgu Date: 2019-06-10 13:42 -0400 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/474734121d2d [backport] 8225514: Shenandoah: ShenandoahCodeRoots should inherit from AllStatic Reviewed-by: shade ! src/share/vm/gc_implementation/shenandoah/shenandoahCodeRoots.hpp Changeset: 9d889d13175e Author: shade Date: 2019-06-07 11:47 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/9d889d13175e [backport] 8225357: Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: 45c0ca785c61 Author: shade Date: 2019-10-10 21:54 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/45c0ca785c61 [backport] 8232102: Shenandoah: print everything in proper units Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeuristics.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahVerifier.cpp Changeset: 989b374a7adf Author: shade Date: 2019-08-12 20:27 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/989b374a7adf [backport] 8229416: Shenandoah: Demote or remove ShenandoahOptimize*Final optimizations Reviewed-by: rkennke ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Changeset: 353f967c213d Author: shade Date: 2019-08-13 14:59 +0200 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/353f967c213d [backport] 8229419: Shenandoah: Cleanup LRB strength selector code Reviewed-by: rkennke ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahSupport.hpp From rkennke at redhat.com Thu Oct 31 11:50:51 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 31 Oct 2019 12:50:51 +0100 Subject: [8] RFR: Shenandoah: JvmtiExport::weak_oops_do should not be entered by multiple threads In-Reply-To: References: Message-ID: <6f02f83f-b221-88b8-48d3-ad74b157f5bf@redhat.com> That looks good to me. Thanks! Roman > The followup on sh/jdk8 hangs. JvmtiExport::weak_oops_do should not be entered by multiple threads, > as we seen here: > https://mail.openjdk.java.net/pipermail/shenandoah-dev/2019-October/010960.html > > But there is a wrinkle in jdk8, which does JvmtiExport::weak_oops_do as part of > JNIHandles::weak_oops_do. And while we do JNIHandles::weak_oops_do in one thread, another thread can > do JvmtiExport::weak_oops_do as the other task, and everything might go kaboom. > > The way out I see is to let sh/jdk8 code piggyback on JNIHandles::weak_oops_do. The alternative is > to special-case the JvmtiExport::weak_oops_do in JNIHandles::weak_oops_do, but that would require > walking JvmtiExport::weak_oops_do in ShenandoahRootProcessor::process_vm_roots. That method does > piggyback on JNIHandles::weak_oops_do already. > > If this changes in future, then verifier should catch the unvisited weak JVMTI roots. > > I haven't been able to reproduce the failure, but the logic seems to hold here, so I propose to push > it for Christopher to test. > > Fix: > > diff -r 353f967c213d src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp > --- a/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Tue Aug 13 14:59:29 > 2019 +0200 > +++ b/src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp Thu Oct 31 12:34:06 > 2019 +0100 > @@ -294,12 +294,18 @@ > } > > if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_jvmti_oops_do)) { > ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::JVMTIRoots, worker_id); > JvmtiExport::oops_do(oops); > + // In JDK 8, this is handled by JNIHandles::weak_oops_do. We cannot enter here, because > + // it would walk the JvmtiTagMap twice (which is okay) and possibly by multiple threads > + // (which is not okay, because that walk is not thread-safe). In subsequent releases, > + // it is handled in a more straightforward manner, see JDK-8189360. > + /* > ShenandoahForwardedIsAliveClosure is_alive; > JvmtiExport::weak_oops_do(&is_alive, oops); > + */ > } > > if (!_evacuation_tasks->is_task_claimed(SHENANDOAH_EVAC_SystemDictionary_oops_do)) { > ShenandoahWorkerTimingsTracker timer(worker_times, > ShenandoahPhaseTimings::SystemDictionaryRoots, worker_id); > SystemDictionary::oops_do(oops); > > > Testing: {x86_32, x86_64} hotspot_gc_shenandoah; shenandoah-bug reproducer (with verification) > From shade at redhat.com Thu Oct 31 11:52:25 2019 From: shade at redhat.com (shade at redhat.com) Date: Thu, 31 Oct 2019 11:52:25 +0000 Subject: hg: shenandoah/jdk8/hotspot: Shenandoah: JvmtiExport::weak_oops_do should not be entered by multiple threads Message-ID: <201910311152.x9VBqQ0L022057@aojmv0008.oracle.com> Changeset: a56f86355f8d Author: shade Date: 2019-10-31 12:50 +0100 URL: https://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a56f86355f8d Shenandoah: JvmtiExport::weak_oops_do should not be entered by multiple threads ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp From shade at redhat.com Thu Oct 31 12:33:24 2019 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 31 Oct 2019 13:33:24 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> Message-ID: <7e67e062-7849-31ce-0fb1-dc37325b307a@redhat.com> On 10/31/19 11:33 AM, Aleksey Shipilev wrote: > On 10/31/19 11:16 AM, Christopher Ng wrote: >> Hmm...not great news.? I pulled the latest build >> from?https://builds.shipilev.net/openjdk-shenandoah-jdk8/?(openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz >> 38M 2019-Oct-30 15:14). >> >> The bug does not occur when running jdb/mvn (as in the test case)...but it still occurs when >> debugging from Intellij IDEA.? It's slightly better, now only 1 core locks up :).??Disabling class >> unloading does seem to stop the error occurring. > > I have a theory about that. In 8u, there is another entry to JvmtiExport::weak_oops_do here: > > > Let me dig up more details and propose a patch. Christopher, would you mind trying another bleeding edge build? You need this patch: http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a56f86355f8d $ curl https://builds.shipilev.net/openjdk-shenandoah-jdk8/openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz | tar xJf - $ j2sdk-image/bin/java -version openjdk version "1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8" OpenJDK Runtime Environment (build 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b452-20191031-aarch64-shenandoah-jdk8u232-b09) OpenJDK 64-Bit Server VM (build 25.71-b452-20191031-aarch64-shenandoah-jdk8u232-09, mixed mode) $ grep "JvmtiExport::weak_oops_do should not be entered by multiple threads" j2sdk-image/bom-* j2sdk-image/bom-changesets-hotspot.log:summary: Shenandoah: JvmtiExport::weak_oops_do should not be entered by multiple threads If that does not help, does the failure still reproduce with -XX:ConcGCThreads=1 -XX:ParallelGCThreads=1? -- Thanks, -Aleksey From cng1067 at gmail.com Thu Oct 31 13:38:29 2019 From: cng1067 at gmail.com (Christopher Ng) Date: Thu, 31 Oct 2019 13:38:29 +0000 Subject: Crash when using java debugger and kafka In-Reply-To: <7e67e062-7849-31ce-0fb1-dc37325b307a@redhat.com> References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> <7e67e062-7849-31ce-0fb1-dc37325b307a@redhat.com> Message-ID: yes, it seems to be better. passes in the test case and my main code base. On Thu, Oct 31, 2019 at 12:33 PM Aleksey Shipilev wrote: > On 10/31/19 11:33 AM, Aleksey Shipilev wrote: > > On 10/31/19 11:16 AM, Christopher Ng wrote: > >> Hmm...not great news. I pulled the latest build > >> from https://builds.shipilev.net/openjdk-shenandoah-jdk8/ > (openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz > >> 38M 2019-Oct-30 15:14). > >> > >> The bug does not occur when running jdb/mvn (as in the test case)...but > it still occurs when > >> debugging from Intellij IDEA. It's slightly better, now only 1 core > locks up :). Disabling class > >> unloading does seem to stop the error occurring. > > > > I have a theory about that. In 8u, there is another entry to > JvmtiExport::weak_oops_do here: > > > > > Let me dig up more details and propose a patch. > > Christopher, would you mind trying another bleeding edge build? > > You need this patch: > http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a56f86355f8d > > $ curl > > https://builds.shipilev.net/openjdk-shenandoah-jdk8/openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz > | tar xJf - > > $ j2sdk-image/bin/java -version > openjdk version "1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8" > OpenJDK Runtime Environment (build > > 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b452-20191031-aarch64-shenandoah-jdk8u232-b09) > OpenJDK 64-Bit Server VM (build > 25.71-b452-20191031-aarch64-shenandoah-jdk8u232-09, mixed mode) > > $ grep "JvmtiExport::weak_oops_do should not be entered by multiple > threads" j2sdk-image/bom-* > j2sdk-image/bom-changesets-hotspot.log:summary: Shenandoah: > JvmtiExport::weak_oops_do should not > be entered by multiple threads > > If that does not help, does the failure still reproduce with > -XX:ConcGCThreads=1 > -XX:ParallelGCThreads=1? > > -- > Thanks, > -Aleksey > > From rkennke at redhat.com Thu Oct 31 14:21:28 2019 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 31 Oct 2019 15:21:28 +0100 Subject: Crash when using java debugger and kafka In-Reply-To: References: <9454bb50-93e4-401c-f815-7eda5f01d45a@redhat.com> <84716763-475e-7aeb-ddfc-9b0dc0e6f324@redhat.com> <9ac463db-a8dd-e9ec-ede7-c99cd0ed0335@redhat.com> <7e67e062-7849-31ce-0fb1-dc37325b307a@redhat.com> Message-ID: <1b02dd86-b1ba-936d-c3b6-a64b58815941@redhat.com> Thanks for the feedback! Let us know if you encounter any other issues. Thanks, Roman > yes, it seems to be better.? passes in the test case and my main code base. > > On Thu, Oct 31, 2019 at 12:33 PM Aleksey Shipilev > wrote: > > On 10/31/19 11:33 AM, Aleksey Shipilev wrote: > > On 10/31/19 11:16 AM, Christopher Ng wrote: > >> Hmm...not great news.? I pulled the latest build > >> > from?https://builds.shipilev.net/openjdk-shenandoah-jdk8/?(openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz > >> 38M 2019-Oct-30 15:14). > >> > >> The bug does not occur when running jdb/mvn (as in the test > case)...but it still occurs when > >> debugging from Intellij IDEA.? It's slightly better, now only 1 > core locks up :).??Disabling class > >> unloading does seem to stop the error occurring. > > > > I have a theory about that. In 8u, there is another entry to > JvmtiExport::weak_oops_do here: > > > > > Let me dig up more details and propose a patch. > > Christopher, would you mind trying another bleeding edge build? > > You need this patch: > ? http://hg.openjdk.java.net/shenandoah/jdk8/hotspot/rev/a56f86355f8d > > $ curl > https://builds.shipilev.net/openjdk-shenandoah-jdk8/openjdk-shenandoah-jdk8-latest-linux-x86_64-release.tar.xz > | tar xJf - > > $ j2sdk-image/bin/java -version > openjdk version "1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8" > OpenJDK Runtime Environment (build > 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b452-20191031-aarch64-shenandoah-jdk8u232-b09) > OpenJDK 64-Bit Server VM (build > 25.71-b452-20191031-aarch64-shenandoah-jdk8u232-09, mixed mode) > > $ grep "JvmtiExport::weak_oops_do should not be entered by multiple > threads" j2sdk-image/bom-* > j2sdk-image/bom-changesets-hotspot.log:summary:? ? ?Shenandoah: > JvmtiExport::weak_oops_do should not > be entered by multiple threads > > If that does not help, does the failure still reproduce with > -XX:ConcGCThreads=1 > -XX:ParallelGCThreads=1? > > -- > Thanks, > -Aleksey > From aph at redhat.com Thu Oct 31 16:45:55 2019 From: aph at redhat.com (Andrew Haley) Date: Thu, 31 Oct 2019 16:45:55 +0000 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> Message-ID: <15f764f4-8cbe-5a9c-88f9-1843b1e97d0c@redhat.com> On 10/25/19 3:29 PM, Zhengyu Gu wrote: > Test: > hotspot_gc_shenandoah (fastdebug and release) > x86_64 and x86_32 on Linux > aarch64 Linux > Windows x86_64 I didn't see this because I don't read all the Shenandoah and GC messages. The AArch64 code is unidiomatic and cumbersome in places, not to mention extremely confusing, and I can help with that. 236 void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { 237 assert(ShenandoahLoadRefBarrier, "Should be enabled"); 238 assert(dst != rscratch2, "need rscratch2"); 239 assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); 240 assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); 241 242 Label done; 243 __ enter(); 244 Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); 245 __ ldrb(rscratch2, gc_state); 246 247 // Check for heap stability 248 __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); 249 250 // use r1 for load address 251 Register result_dst = dst; 252 if (dst == r1) { 253 __ mov(rscratch1, dst); This is pointless. On AArch64 mov(Rn, Rm) generates no code if Rn == Rm. 254 dst = rscratch1; 255 } 256 257 RegSet to_save_r1 = RegSet::of(r1); 258 // If outgoing register is r1, we can clobber it 259 if (result_dst != r1) { 260 __ push(to_save_r1, sp); 261 } On AArch64 registers are always saved in pairs, so it makes sense to push individual registers. You might as well push both if either is to be saved. 262 __ lea(r1, load_addr); 263 264 RegSet to_save_r0 = RegSet::of(r0); 265 if (dst != r0) { 266 __ push(to_save_r0, sp); 267 __ mov(r0, dst); 268 } 269 270 __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); 271 272 if (result_dst != r0) { 273 __ mov(result_dst, r0); 274 } 275 276 if (dst != r0) { 277 __ pop(to_save_r0, sp); 278 } 279 280 if (result_dst != r1) { 281 __ pop(to_save_r1, sp); 282 } 283 284 __ bind(done); 285 __ leave(); 286 } So, you want to save r1 and r0, but if either of those is the destination you don't want to save it. The code at ShenandoahBarrierSetAssembler::shenandoah_lrb() preserves everything but r1 and r0. I believe this is what you want: void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { assert(ShenandoahLoadRefBarrier, "Should be enabled"); assert(dst != rscratch2, "need rscratch2"); assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2); Label done; __ enter(); Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(rscratch2, gc_state); // Check for heap stability __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); // use r1 for load address Register result_dst = dst; if (dst == r1) { __ mov(rscratch1, dst); dst = rscratch1; } RegSet to_save = RegSet::of(r0, r1) - result_dst; __ push(to_save, sp); __ lea(r1, load_addr); __ mov(r0, dst); __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); __ mov(result_dst, r0); __ pop(to_save, sp); __ bind(done); __ leave(); } Please forward any patches which contain AArch64 assembly code to the aarch64-port-dev at openjdk.java.net list. I don't mean any criticism of you personally, but the AArch64 code in the Shenandoah GC barriers is gnarly and some of the most difficult to read in the whole port, probably because its authors, while undoubtedly brilliant, were not experienced AArch64 programmers. Let me help. :-) -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Thu Oct 31 16:50:04 2019 From: aph at redhat.com (Andrew Haley) Date: Thu, 31 Oct 2019 16:50:04 +0000 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> Message-ID: <8adb0165-383d-b18b-4a05-52828100d397@redhat.com> On 10/25/19 3:29 PM, Zhengyu Gu wrote: > Test: > hotspot_gc_shenandoah (fastdebug and release) > x86_64 and x86_32 on Linux > aarch64 Linux > Windows x86_64 I didn't see this because I don't read all the Shenandoah and GC messages. The AArch64 code is unidiomatic and cumbersome in places, not to mention extremely confusing, and I can help with that. 236 void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { 237 assert(ShenandoahLoadRefBarrier, "Should be enabled"); 238 assert(dst != rscratch2, "need rscratch2"); 239 assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); 240 assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); 241 242 Label done; 243 __ enter(); 244 Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); 245 __ ldrb(rscratch2, gc_state); 246 247 // Check for heap stability 248 __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); 249 250 // use r1 for load address 251 Register result_dst = dst; 252 if (dst == r1) { 253 __ mov(rscratch1, dst); This is pointless. On AArch64 mov(Rn, Rm) generates no code if Rn == Rm. 254 dst = rscratch1; 255 } 256 257 RegSet to_save_r1 = RegSet::of(r1); 258 // If outgoing register is r1, we can clobber it 259 if (result_dst != r1) { 260 __ push(to_save_r1, sp); 261 } On AArch64 registers are always saved in pairs, so it makes sense to push individual registers. You might as well push both if either is to be saved. 262 __ lea(r1, load_addr); 263 264 RegSet to_save_r0 = RegSet::of(r0); 265 if (dst != r0) { 266 __ push(to_save_r0, sp); 267 __ mov(r0, dst); 268 } 269 270 __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); 271 272 if (result_dst != r0) { 273 __ mov(result_dst, r0); 274 } 275 276 if (dst != r0) { 277 __ pop(to_save_r0, sp); 278 } 279 280 if (result_dst != r1) { 281 __ pop(to_save_r1, sp); 282 } 283 284 __ bind(done); 285 __ leave(); 286 } So, you want to save r1 and r0, but if either of those is the destination you don't want to save it. The code at ShenandoahBarrierSetAssembler::shenandoah_lrb() preserves everything but r1 and r0. I believe this is what you want: void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { assert(ShenandoahLoadRefBarrier, "Should be enabled"); assert(dst != rscratch2, "need rscratch2"); assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2); Label done; __ enter(); Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(rscratch2, gc_state); // Check for heap stability __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); // use r1 for load address Register result_dst = dst; if (dst == r1) { __ mov(rscratch1, dst); dst = rscratch1; } RegSet to_save = RegSet::of(r0, r1) - result_dst; __ push(to_save, sp); __ lea(r1, load_addr); __ mov(r0, dst); __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); __ mov(result_dst, r0); __ pop(to_save, sp); __ bind(done); __ leave(); } Please forward any patches which contain AArch64 assembly code to the aarch64-port-dev at openjdk.java.net list. I don't mean any criticism of you personally, but the AArch64 code in the Shenandoah GC barriers is gnarly and some of the most difficult to read in the whole port, probably because its authors, while undoubtedly brilliant, were not experienced AArch64 programmers. Let me help. :-) -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zgu at redhat.com Thu Oct 31 18:09:09 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 31 Oct 2019 14:09:09 -0400 Subject: RFR 8232992: Shenandoah: Implement self-fixing interpreter LRB In-Reply-To: <8adb0165-383d-b18b-4a05-52828100d397@redhat.com> References: <1648aef7-6df9-6f54-6601-fde9d7251187@redhat.com> <8adb0165-383d-b18b-4a05-52828100d397@redhat.com> Message-ID: <540275f5-595a-faa0-2304-a95e657f92a0@redhat.com> Hi Andrew, Thanks for the suggestions. Filed JDK-8233337 to clean this up. -Zhengyu On 10/31/19 12:50 PM, Andrew Haley wrote: > On 10/25/19 3:29 PM, Zhengyu Gu wrote: >> Test: >> hotspot_gc_shenandoah (fastdebug and release) >> x86_64 and x86_32 on Linux >> aarch64 Linux >> Windows x86_64 > > I didn't see this because I don't read all the Shenandoah and GC > messages. > > The AArch64 code is unidiomatic and cumbersome in places, not to > mention extremely confusing, and I can help with that. > > 236 void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { > 237 assert(ShenandoahLoadRefBarrier, "Should be enabled"); > 238 assert(dst != rscratch2, "need rscratch2"); > 239 assert_different_registers(load_addr.base(), load_addr.index(), rscratch1); > 240 assert_different_registers(load_addr.base(), load_addr.index(), rscratch2); > 241 > 242 Label done; > 243 __ enter(); > 244 Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > 245 __ ldrb(rscratch2, gc_state); > 246 > 247 // Check for heap stability > 248 __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); > 249 > 250 // use r1 for load address > 251 Register result_dst = dst; > 252 if (dst == r1) { > 253 __ mov(rscratch1, dst); > > This is pointless. On AArch64 mov(Rn, Rm) generates no code if Rn == Rm. > > 254 dst = rscratch1; > 255 } > 256 > 257 RegSet to_save_r1 = RegSet::of(r1); > 258 // If outgoing register is r1, we can clobber it > 259 if (result_dst != r1) { > 260 __ push(to_save_r1, sp); > 261 } > > On AArch64 registers are always saved in pairs, so it makes sense to push > individual registers. You might as well push both if either is to be saved. > > 262 __ lea(r1, load_addr); > 263 > 264 RegSet to_save_r0 = RegSet::of(r0); > 265 if (dst != r0) { > 266 __ push(to_save_r0, sp); > 267 __ mov(r0, dst); > 268 } > 269 > 270 __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); > 271 > 272 if (result_dst != r0) { > 273 __ mov(result_dst, r0); > 274 } > 275 > 276 if (dst != r0) { > 277 __ pop(to_save_r0, sp); > 278 } > 279 > 280 if (result_dst != r1) { > 281 __ pop(to_save_r1, sp); > 282 } > 283 > 284 __ bind(done); > 285 __ leave(); > 286 } > > So, you want to save r1 and r0, but if either of those is the destination you > don't want to save it. The code at ShenandoahBarrierSetAssembler::shenandoah_lrb() > preserves everything but r1 and r0. > > I believe this is what you want: > > void ShenandoahBarrierSetAssembler::load_reference_barrier_not_null(MacroAssembler* masm, Register dst, Address load_addr) { > assert(ShenandoahLoadRefBarrier, "Should be enabled"); > assert(dst != rscratch2, "need rscratch2"); > assert_different_registers(load_addr.base(), load_addr.index(), rscratch1, rscratch2); > > Label done; > __ enter(); > Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); > __ ldrb(rscratch2, gc_state); > > // Check for heap stability > __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done); > > // use r1 for load address > Register result_dst = dst; > if (dst == r1) { > __ mov(rscratch1, dst); > dst = rscratch1; > } > > RegSet to_save = RegSet::of(r0, r1) - result_dst; > __ push(to_save, sp); > __ lea(r1, load_addr); > __ mov(r0, dst); > > __ far_call(RuntimeAddress(CAST_FROM_FN_PTR(address, ShenandoahBarrierSetAssembler::shenandoah_lrb()))); > > __ mov(result_dst, r0); > __ pop(to_save, sp); > > __ bind(done); > __ leave(); > } > > > Please forward any patches which contain AArch64 assembly code to the > aarch64-port-dev at openjdk.java.net list. > > I don't mean any criticism of you personally, but the AArch64 code in > the Shenandoah GC barriers is gnarly and some of the most difficult to > read in the whole port, probably because its authors, while > undoubtedly brilliant, were not experienced AArch64 programmers. Let > me help. :-) > From zgu at redhat.com Thu Oct 31 18:48:04 2019 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 31 Oct 2019 14:48:04 -0400 Subject: RFR 8233339: Shenandoah: Centralize load barrier decisions into ShenandoahBarrierSet Message-ID: <6ef89df6-84db-0ffe-d1fc-7ffde7e622bf@redhat.com> Right now, the decisions on, if a load barrier needs load reference barrier, if so, what kind? and if the reference needs to be kept alive, are scattered inside interpreter/c1/2 load barrier code, which is hard to make them consistent. I would like to centralize the decision making into ShenandoahBarrierSet, so them can be consistent and easy to maintain. Bug: https://bugs.openjdk.java.net/browse/JDK-8233339 Webrev: http://cr.openjdk.java.net/~zgu/JDK-8233339/webrev.00/index.html Test: hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on Linux AArch64 on Linux Thanks, -Zhengyu